我正在尝试创建一个Grails插件,该插件可以创建一个可以由bootRun依赖的自定义Gradle任务。我想做这样的事情:
@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文件中使用它。我不知道从哪里获取Project文件来调用它。它没有创建任务。我很乐意做一些不同的事情,但我无法弄清楚如何去做。我不想写每个使用此插件的build.gradle文件,但如果这是最好的选择,我想我会。
感谢任何帮助。谢谢!