如何在Custom插件中编写dependsOn [英] How to write dependsOn in Custom plugin

查看:131
本文介绍了如何在Custom插件中编写dependsOn的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 任务makeJar(类型:复制){
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项目中)
$ b $ pre $ class MakeJarPluginTask extends Copy {
@TaskAction
def makeJar() {
logger.lifecycle(创建一个jar *********************)
delete('dist /')
(from'build / intermediates / bundles / release')
into('dist /')
include('classes.jar')
def jarName = new VersionName()。getNameWithVersion )+'.jar'
重命名('classes.jar',jar在callGroovy.class中调用此任务(实现Plugin)



$ b

p>

  project.tasks.create(makeJarPlugin1,MakeJarPluginTask.class){
dependsOn(clearDist,build )
}

但是这并没有给出正确的输出。
错误在最后一部分,我认为这不是使用dependsOn的正确方法,但我无法得到如何使用它。任何帮助将不胜感激。

解决方案

  Task task = project.tasks.create makeJarPlugin1,MakeJarPluginTask.class); 
task.dependsOn(clearDist,build)


I have a task in my 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)

Now, I want to remove this from my build.gradle and create a custom plugin like this : MakeJarTask.groovy (this is in eclipse project)

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)
 }

Calling this Task in callGroovy.class (that implements Plugin)

project.tasks.create("makeJarPlugin1", MakeJarPluginTask.class){
 dependsOn("clearDist", "build")
}

But this doesn't give the correct output . The error is in last part, I think this is not the correct way to use dependsOn but I am not able to get how to use this. Any help will be highly appreciated.

解决方案

Task task = project.tasks.create("makeJarPlugin1", MakeJarPluginTask.class);
task.dependsOn("clearDist", "build")

这篇关于如何在Custom插件中编写dependsOn的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆