M8Test Help

目录结构

项目目录中必须包含某些文件/文件夹(基础 )以及一些可选的文件/文件夹(高级).

基础

settings.config.yaml

language: name: "Kotlin" url: "https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk" version: "0.1.0"
language: name: "Groovy" url: "https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk" version: "0.1.0"
language: name: "Javascript" url: "https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk" version: "0.1.0"
language: name: "Lua" url: "https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk" version: "0.1.0"
language: name: "Python" url: "https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk" version: "0.1.0"
language: name: "Ruby" url: "https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk" version: "0.1.0"

此文件会生成一个 SettingsConfig 对象.

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/

存放库文件的文件夹, 可以供 srcinit 中的代码使用.

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

Last modified: 29 April 2025