如何在构建任何分发之前执行gradle任务

Dan*_*org 8 gradle

我有一个使用source和javadoc jar的gradle构建,我希望在distZip和distTar之前执行这些任务,是否有一个依赖项可以捕获与shouldRunAfter一起使用的两个任务.

现在我有:

task javadocJar(type: Jar) {
    classifier 'javadoc'
    from javadoc
}

task sourcesJar(type: Jar) {
    classifier 'sources'
    from sourceSets.main.allSource
}

tasks.distZip.shouldRunAfter tasks.javadocJar
tasks.distTar.shouldRunAfter tasks.javadocJar
tasks.distZip.shouldRunAfter tasks.sourcesJar
tasks.distTar.shouldRunAfter tasks.sourcesJar
Run Code Online (Sandbox Code Playgroud)

我想把那四个应该运行的四个缩小到两个,它们捕获了distZip和distTar.

Hen*_*nry 7

您可以使用groovy语法来缩短它

[distZip, distTar]*.shouldRunAfter javadocJar, sourcesJar
Run Code Online (Sandbox Code Playgroud)

可能你也想要,dependsOn而不是shouldRunAfter只要启用其中一个dist任务就建立罐子.