目录结构
项目目录中必须包含某些文件/文件夹(基础 )以及一些可选的文件/文件夹(高级)。
基础
settings.config.yaml
此文件会生成一个 SettingsConfig 对象。
language: 用于指定同目录下 settings 和 init.settings 文件所使用的脚本语言。
buildFileName: 用于指定同目录下 settings 脚本的文件名。
initBuildFileName: 用于指定同目录下 init.settings 脚本的文件名。
settings
构建必需的脚本文件,可通过 Settings 设置构建包含的项目,其脚本语言及文件名可通过同目录下 settings.config.yaml 文件指定。
默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:
Kotlin 扩展名为
kts,完整文件名为settings.ktsGroovy 扩展名为
groovy,完整文件名为settings.groovyLua 扩展名为
lua,完整文件名为settings.luaPython 扩展名为
py,完整文件名为settings.pyJavaScript 扩展名为
js,完整文件名为settings.jsRuby 扩展名为
rb,完整文件名为settings.rbPHP 扩展名为
php,完整文件名为settings.php
build
用于构建项目的脚本文件。
默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:
Kotlin 扩展名为
kts,完整文件名为build.ktsGroovy 扩展名为
groovy,完整文件名为build.groovyLua 扩展名为
lua,完整文件名为build.luaPython 扩展名为
py,完整文件名为build.pyJavaScript 扩展名为
js,完整文件名为build.jsRuby 扩展名为
rb,完整文件名为build.rbPHP 扩展名为
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.ktsGroovy 扩展名为
groovy,完整文件名为init.settings.groovyLua 扩展名为
lua,完整文件名为init.settings.luaPython 扩展名为
py,完整文件名为init.settings.pyJavaScript 扩展名为
js,完整文件名为init.settings.jsRuby 扩展名为
rb,完整文件名为init.settings.rbPHP 扩展名为
php,完整文件名为init.settings.php
init.build
用于初始化构建的脚本文件,在 build 脚本文件前运行,通常用于为其指定所需插件。
默认情况下,每种语言对应的文件扩展名不同,语言与扩展名的对应关系如下:
Kotlin 扩展名为
kts,完整文件名为init.build.ktsGroovy 扩展名为
groovy,完整文件名为init.build.groovyLua 扩展名为
lua,完整文件名为init.build.luaPython 扩展名为
py,完整文件名为init.build.pyJavaScript 扩展名为
js,完整文件名为init.build.jsRuby 扩展名为
rb,完整文件名为init.build.rbPHP 扩展名为
php,完整文件名为init.build.php