我正在尝试创建一个 Grails 插件,该插件创建一个自定义 Gradle 任务,该任务可由 bootRun 依赖。我想做这样的事情:
@CompileStatic
static void configureProcessConfig(Project project) {
TaskContainer taskContainer = project.tasks
if(taskContainer.findByName('processConfig') == null) {
taskContainer.create("processConfig") {
List<File> testResources = [project.file("src/test/resources")]
for (t in testResources) {
if (t.name.contains('.properties') || t.name.contains('.groovy')) {
Path originFile = t.toPath()
Path destFile = Paths.get('build/classes/main/' + t.name)
Files.copy(originFile, destFile)
}
}
}
def processConfigTask = taskContainer.findByName('processConfig')
taskContainer.findByName("bootRun")?.dependsOn(processConfigTask)
}
}
但是,我似乎无法让它在我的 xxxGrailsPlugin.groovy 文件中工作。我不知道在哪里可以得到项目文件来调用它。它不会创建任务。我很高兴做一些不同的事情,但我不知道该怎么做。我不希望写入使用此插件的每个 build.gradle 文件,但如果这是最好的选择,我想我会的。
任何帮助表示赞赏。谢谢!