我的build.gradle中有一个任务:
task makeJar(type: Copy) {
delete('dist/')
from('build/intermediates/bundles/release')
into('dist/')
include('classes.jar')
def jarName = new VersionName().getNameWithVersion() + '.jar'
rename('classes.jar', jarName)
}
makeJar.dependsOn('clearTask', build)
现在,我想从build.gradle中删除它并创建一个这样的自定义插件:MakeJarTask.groovy(这是在eclipse项目中)
class MakeJarPluginTask extends Copy{
@TaskAction
def makeJar(){
logger.lifecycle("creating a jar *********************")
delete('dist/')
from('build/intermediates/bundles/release')
into('dist/')
include('classes.jar')
def jarName = new VersionName().getNameWithVersion() + '.jar'
rename('classes.jar', jarName)
}
在callGroovy.class(实现插件)中调用此任务
project.tasks.create("makeJarPlugin1", MakeJarPluginTask.class){
dependsOn("clearDist", "build")
}
但这并没有给出正确的输出。 错误是最后一部分,我认为这不是使用dependsOn的正确方法,但我无法得到如何使用它。任何帮助将受到高度赞赏。
答案 0 :(得分:5)
Task task = project.tasks.create("makeJarPlugin1", MakeJarPluginTask.class);
task.dependsOn("clearDist", "build")