当多种口味到位时,Gradle复制任务

时间:2015-11-20 15:11:41

标签: android gradle android-gradle

我尝试编写一个在构建过程完成时归档proguard特定映射文件的任务。所以我创建了这样的任务

 task zip(type:Zip) {
       from "${rootDir}/build/outputs/mapping/"
       into filename
       destinationDir file("${rootDir}")
 }

但是这个任务没有被执行。如果我使用./gradlew -q zip执行它,一切都很完美。 我尝试在assemble任务中添加一些依赖项,但没有取得任何成功:task zip(type:Zip, dependsOn: assemble)也像task zip(type:Zip, dependsOn: assembleRelease)一样似乎无效。

有人可以指出我可能的解决方案吗?

2 个答案:

答案 0 :(得分:1)

如果执行此其他任务,则从任何其他任务提供zip任务依赖性,不会使其执行。例如task zip(type:Zip, dependsOn: assemble)只是说,如果zip任务将被调用(或者只是包含在执行图中,因为其他任务依赖于它),assemble必须先执行,但不能执行如果执行assemble任务,则执行zip。我想,你需要这样的东西:

assemble.finalizedBy zip

在这种情况下,每次执行zip时都会执行assemble。您可以在official user guide中了解有关终结者任务的更多信息。

或者您可以从zip离开assemble任务的依赖,并调用zip任务来构建和压缩您的proguard特定映射文件。

答案 1 :(得分:0)

尝试包含

M-x muse-project-publish-this-file

使用include来包含您的文件类型