Gradle基于任务扩展任务/创建任务

时间:2014-09-15 22:56:29

标签: groovy gradle build.gradle

Groovy的新手,gradle。我想扩展以下任务(java插件的一部分):

jar {
    from { configurations.runtime.collect { zipTree(it) } }

    manifest.attributes( 'Implementation-Title': archivesBaseName,
                'Implementation-Version': version,
                'Main-Class': mainClassName,
                'Built-By': POM_DEVELOPER_NAME
    )
}

扩展任务将

archiveName = 'PJ-latest.jar'
destinationDir = project.getRootDir()

在典型的Java中我会调用super,但我不知道如何在gradle中完成它。我最好的尝试是扩展Jar类添加与jar相同的参数以及依赖项:

task assembleCompiler(type: Jar){
    dependsOn compileJava, processResources, classes

    archiveName = 'PJ-latest.jar'
    destinationDir = project.getRootDir()

    from { configurations.runtime.collect { zipTree(it) } }

    manifest.attributes( 'Implementation-Title': archivesBaseName,
            'Implementation-Version': version,
            'Main-Class': mainClassName,
            'Built-By': POM_DEVELOPER_NAME
    )
}

1 个答案:

答案 0 :(得分:1)

您必须单独配置第二项任务,就像您已经完成的那样。如果您想共享此代码,请将其转换为插件。