我做了自定义任务,命名为 MySqlTask.groovy
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
public class MySqlTask extends DefaultTask {
def hostname = 'localhost'
def sql
@TaskAction
def runQuery() {
//to do something...
}
}
而且,我把这个文件放在 rootProject/buildSrc/src/main/groovy 中。
我的构建文件是 customtasksourcetree.gradle。
任务 createDatabase(type: MySqlTask) { sql = 'CREATE DATABASE IF NOT EXISTS example' }
当我使用 customtasksrc.gradle 运行 gradle 时,会引发这样的错误。
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/need4spd/Programming/Java/workspace/gradleTest/customtasksourcetree.gradle' line: 1
* What went wrong:
A problem occurred evaluating root project 'gradleTest'.
> Could not find property 'MySqlTask' on root project 'gradleTest'.
我已经读过,我在 buildSrc 中的自定义任务文件将在构建时自动编译并添加到类路径中。
我可以在 buildSrc/build/classes 中看到已编译的 MySqlTask.class。
有什么问题?谢谢。