M8Test Help

Gradle 介绍

IdeaVscode 均采用 Gradle 作为构建系统。本文旨在详细介绍 M8Test Gradle 的相关内容。

项目模板结构

M8Test 项目依据开发语言的不同,采用了两种不同的模板结构:

  • JVM 语言项目(Groovy、Java、Kotlin、Ruby)

  • 非 JVM 语言项目(JavaScript、Lua、PHP、Python)

Kotlin 17
Groovy 17
Java 17
Javascript 17
Lua 17
Php 17
Python 17
Ruby 17

下面将分别介绍这两种模板结构的具体内容。

JVM 语言项目模板结构

JVM 语言(Groovy、Java、Kotlin、Ruby)脚本项目的模板结构如下:

m8test-project/ ├── gradlew # Wrapper 脚本(Linux/macOS) ├── gradlew.bat # Wrapper 脚本(Windows) ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar # Wrapper 可执行 JAR │ └── gradle-wrapper.properties # Wrapper 配置文件(指定版本等信息) ├── build.gradle.kts # 根构建脚本(可选,常用于统一配置和插件版本) ├── settings.gradle.kts # 子项目配置文件 ├── gradle.properties # 构建属性配置 ├── language/ # M8Test 语言目录(可替换为 groovy、java、kotlin、ruby) │ ├── init/ # M8Test 初始化脚本 │ ├── src/ # M8Test 源码目录 │ │ └── main/ │ │ ├── language/ # M8Test 源码根目录(语言特定目录) │ │ └── resources/ # M8Test 资源目录(如图片、配置文件等) │ ├── webview/ # M8Test 静态网站文件(用于展示 UI) │ └── build.gradle.kts # M8Test 项目配置文件 └── README.md # 项目开发文档

在实际开发过程中,你需要:

  • language/src/main/language 目录下编写脚本代码(其中 language 会替换为具体的语言名称)

  • 如果需要使用资源文件(如图片、配置文件等),可将其存放在 language/src/main/resources 目录下

非 JVM 语言项目模板结构

非 JVM 语言(JavaScript、Lua、PHP、Python)脚本项目的模板结构如下:

m8test-project/ ├── gradlew # Wrapper 脚本(Linux/macOS) ├── gradlew.bat # Wrapper 脚本(Windows) ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar # Wrapper 可执行 JAR │ └── gradle-wrapper.properties # Wrapper 配置文件(指定版本等信息) ├── build.gradle.kts # 根构建脚本(可选,常用于统一配置和插件版本) ├── settings.gradle.kts # 子项目配置文件 ├── gradle.properties # 构建属性配置 ├── language/ # M8Test 语言目录(可替换为 javascript、lua、php、python) │ ├── init/ # M8Test 初始化脚本 │ ├── res/ # M8Test 资源目录(如图片、配置文件等) │ ├── src/ # M8Test 源码根目录 │ ├── webview/ # M8Test 静态网站文件(用于展示 UI) │ └── build.gradle.kts # M8Test 项目配置文件 └── README.md # 项目开发文档

在实际开发过程中,你需要:

  • language/src 目录下编写脚本代码(其中 language 会替换为具体的语言名称)

  • 如果需要使用资源文件(如图片、配置文件等),可将其存放在 language/res 目录下

任务和任务组

Gradle 作为一款强大的构建工具,在软件开发中扮演着至关重要的角色,而任务和任务组则是其核心概念。

任务

任务是 Gradle 中最基本的操作单元,每个任务都有明确的名称和描述,用于定义特定的操作,如运行项目、打包 APK 等。任务之间可以相互依赖,通过指定依赖关系,能够确保任务按照正确的顺序执行。例如,"runJavascript" 任务依赖于 " buildJavascript" 任务,只有先完成项目构建,才能运行项目。现阶段,您只需对这些概念有一个大致的了解即可。

任务组

任务组是根据任务的功能或类型对任务进行分类的一种方式。例如,构建相关的任务可以归类到 "m8test-build" 组,下载相关的任务可以归类到 "m8test-download" 组。这种分类方式使得我们在构建项目时,能够更加直观地选择和执行所需的任务,从而提高项目构建的效率和可维护性。

任务和任务组图示

Vscode 3
Idea 3

运行任务

Gradle 任务的运行方式多种多样,您可以选择自己喜欢的方式来执行任务。

通过命令行工具

您可以使用命令行工具来运行 Gradle 任务。例如,执行 "./gradlew buildJavascript" 命令会触发与构建相关的多个任务,包括 " copyJavascriptSrc"、"copyJavascriptInit" 等。

Vscode 1
Idea 1

通过 Gradle 面板

您还可以直接在 Gradle 面板中双击任务名来执行任务。

Vscode 2
Idea 2

其他方式

IntelliJ IDEA 中,您可以通过双击 "Ctrl" 键,然后在弹出的输入框中输入 "gradle buildJavascript" ,最后按下回车键来执行任务。

IntelliJ IDEA执行任务示例
Last modified: 01 October 2025