Gradle:从汇编中排除分发zip任务
我在用电话。当我运行gradle构建时(这取决于gradle Assembly),会触发Gradle:从汇编中排除分发zip任务,gradle,build.gradle,Gradle,Build.gradle,我在用电话。当我运行gradle构建时(这取决于gradle Assembly),会触发distTar和distZip,最后我会得到我的发行版的tarball和zip文件。我只需要一个柏油球。同时运行这两个项目需要时间和空间(项目分布非常大) 从高级gradle构建中排除distZip的干净方法是什么?我知道我可以使用gradlebuild-xdistzip但是我想运行普通的gradlebuild。我知道可以使用build.dependsOn.remove()排除依赖项,但我认为这是不推荐的 谢
distTar
和distZip
,最后我会得到我的发行版的tarball和zip文件。我只需要一个柏油球。同时运行这两个项目需要时间和空间(项目分布非常大)
从高级gradle构建中排除distZip
的干净方法是什么?我知道我可以使用gradlebuild-xdistzip
但是我想运行普通的gradlebuild
。我知道可以使用build.dependsOn.remove()
排除依赖项,但我认为这是不推荐的
谢谢。您可以试试:
distZip.enabled = false
由于这个问题,我们的一个gradle版本开始失败。正如上面TmTom所提到的,完整的解决方案是
task deleteZip {
configurations.archives.artifacts.removeAll {it.file =~ 'zip'}
}
tasks.install.dependsOn(deleteZip)
如果TAR也很麻烦,请添加:
configurations.archives.artifacts.removeAll {it.file =~ 'tar'}
对于其他搜索:应用程序插件隐式应用分发插件。当您同时使用时,
gradle安装将失败,因为它尝试上载zip。解决方案是删除zip工件,如下所示:configurations.archives.artifacts.removeAll{it.file=~'zip'}
这对我来说很接近,但我需要一个doLast块:task doNotUploadDistribution{doLast{configurations.archives.artifacts.removeAll{it.classifier='distribution}