使用自定义gradle任务

时间:2013-06-04 10:22:12

标签: groovy gradle

我已经创建了自定义任务,在ivy资源库中发布,现在我想使用它。我就是这样做的:

configurations {
    customTask {
        transitive = false
    }
}

repositories {
    mavenCentral()
    ivy  {
        url 'http://my.ivy.rep/ivyrep/shared'
        layout "pattern", {
            artifact "[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
        }
    }
}

dependencies {
    customTask 'org.apache.ant:ant-jsch:1.8.4'
    customTask 'com.jcraft:jsch:0.1.49'
    customTask group: 'pl.com', name:'MyCustomTask', version:'0.9', configuration: 'runtime'
}

task buildInstaller(type: eu.company.gradle.MyCustomTask) {
    ...
}

这是我的自定义任务:

package eu.company.gradle
class MyCustomTask extends DefaultTask {

    public MyCustomTask() {}

    @TaskAction
    def build() {
        // do something
    }
}

下载依赖项,但是当我想运行'buildInstaller'任务时,我收到此错误:

Could not find property 'pl' on root project 'Configurable installer'.

看起来我的jar不在classpath中?

1 个答案:

答案 0 :(得分:0)

来自“{3}}:

中的”56.3.1。在另一个项目中使用您的任务类“
buildscript {
    repositories {
        maven {
            url uri('../repo')
        }
    }
    dependencies {
        classpath group: 'org.gradle', name: 'customPlugin', version: '1.0-SNAPSHOT'
    }
}

task greeting(type: org.gradle.GreetingTask) {
    greeting = 'howdy!'
}

完整的Gradle分发包含完整的示例代码。