我有一个使用源和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

我想将这四个shouldRunAfter精简为两个,分别捕获distZip和distTar。

最佳答案

您可以使用groovy语法使其更短

[distZip, distTar]*.shouldRunAfter javadocJar, sourcesJar

可能还需要dependsOn而不是shouldRunAfter,以便只要启用了dist任务之一就可以构建jar。

关于gradle - 如何在构建任何发行版之前执行gradle任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34930823/

10-11 19:18