目录结构
项目目录中必须包含某些文件/文件夹(基础 )以及一些可选的文件/文件夹(高级).
基础
settings.config.yaml
此文件会生成一个 SettingsConfig 对象.
language: 用于指定同目录下 settings 和 init.settings 文件所使用的脚本语言.
buildFileName: 用于指定同目录下 settings 脚本的文件名.
initBuildFileName: 用于指定同目录下 init.settings 脚本的文件名.
settings
构建所必须的脚本文件, 可使用 Settings 设置构建包含哪些项目, 可以通过同目录下 settings.config.yaml 文件指定该脚本文件的语言以及文件名.
默认情况下, 每种语言对应的文件扩展名不一样, 以下是语言以及其扩展名的对应关系:
kotlin 扩展名为
kts
, 完整文件名为settings.kts
groovy 扩展名为
groovy
, 完整文件名为settings.groovy
lua 扩展名为
lua
, 完整文件名为settings.lua
python 扩展名为
py
, 完整文件名为settings.py
javascript 扩展名为
js
, 完整文件名为settings.js
ruby 扩展名为
rb
, 完整文件名为settings.rb
php 扩展名为
php
, 完整文件名为settings.php
build
用于构建项目的脚本文件.
默认情况下, 每种语言对应的文件扩展名不一样, 以下是语言以及其扩展名的对应关系:
kotlin 扩展名为
kts
, 完整文件名为build.kts
groovy 扩展名为
groovy
, 完整文件名为build.groovy
lua 扩展名为
lua
, 完整文件名为build.lua
python 扩展名为
py
, 完整文件名为build.py
javascript 扩展名为
js
, 完整文件名为build.js
ruby 扩展名为
rb
, 完整文件名为build.rb
php 扩展名为
php
, 完整文件名为build.php
src/
保存项目源代码的文件夹, 项目中的入口脚本文件须在此文件夹中.
res/
保存项目中用到的资源的文件夹.
高级
lib/
init/
存放初始化脚本的文件夹, 在此文件夹中的所有脚本文件都会在 src 中主脚本执行之前执行.
plugin/
存放插件的文件夹, 一般是 jar, dex, so 以及 apk 文件, 需要在脚本中手动加载. 以下情况可以使用插件:
尽管脚本语言可以操作jvm大部分内容, 但是有一些功能还是需要通过 java 代码才能实现的.
复用已经存在通过java实现了特定功能的库.
init.settings
用于初始化构建的脚本文件, 在 settings 脚本文件前运行, 一般用于为其指定所需要的插件, 可以通过同目录下 settings.config.yaml 文件指定该脚本文件的语言以及文件名.
默认情况下, 每种语言对应的文件扩展名不一样, 以下是语言以及其扩展名的对应关系:
kotlin 扩展名为
kts
, 完整文件名为init.settings.kts
groovy 扩展名为
groovy
, 完整文件名为init.settings.groovy
lua 扩展名为
lua
, 完整文件名为init.settings.lua
python 扩展名为
py
, 完整文件名为init.settings.py
javascript 扩展名为
js
, 完整文件名为init.settings.js
ruby 扩展名为
rb
, 完整文件名为init.settings.rb
php 扩展名为
php
, 完整文件名为init.settings.php
init.build
用于初始化构建的脚本文件, 在 build 脚本文件前运行, 一般用于为其指定所需要的插件.
默认情况下, 每种语言对应的文件扩展名不一样, 以下是语言以及其扩展名的对应关系:
kotlin 扩展名为
kts
, 完整文件名为init.build.kts
groovy 扩展名为
groovy
, 完整文件名为init.build.groovy
lua 扩展名为
lua
, 完整文件名为init.build.lua
python 扩展名为
py
, 完整文件名为init.build.py
javascript 扩展名为
js
, 完整文件名为init.build.js
ruby 扩展名为
rb
, 完整文件名为init.build.rb
php 扩展名为
php
, 完整文件名为init.build.php