2015-11-23 27 views
1

我有一個包含子項目projectB和projectC的多項目構建(projectA)。每個子項目都有,我想補充到ZIP資源。 projectB的資源應該位於zip文件夾中,名爲projectB。Gradle分發插件:將子項目中的文件添加到單獨的文件夾中

我現在用的是分佈插件創建拉鍊。此代碼的工作,但我的一些代碼,將工作無論在數量和子項目的名字。

distributions { 
    release { 
     baseName 'release' 
     contents { 
      into('projectB') { 
       from 'projectB/src/main/resources/' 
      } 
      into('projectC') { 
       from 'projectC/src/main/resources/' 
      } 
     } 
    } 
} 

我試過如下:

distributions { 
    release { 
     baseName 'release' 
     contents { 
      subprojects.each { 
       p -> into(p.name + '-resources') { 
         from p.projectDir + '/src/main/resources/config' 
        } 
      } 
     } 
    } 
} 

但是,這並不編譯。

任何建議如何做到這一點?

回答

2

不知道爲什麼,但它的工作方式如下:

apply plugin: 'distribution' 

distributions { 
    release { 
    baseName 'release' 
    contents { 
     subprojects.each { p -> 
     into("${p.name}-resources") { 
      from("${p.projectDir}/src/main/resources/config") 
     } 
     } 
    } 
    } 
} 

好,知道了。這條線是造成問題:

from(p.projectDir + "/src/main/resources/config") 

不能添加到FileString。因此,兩者都將完成這項工作:

from(p.projectDir.toString() + "/src/main/resources/config") 
from("${p.projectDir}/src/main/resources/config") 

演示可以被發現here

+0

你寫該行引起問題,但隨後還寫道,雙方將完成這項工作?你的意思是把第一行改成別的嗎? – npeder

+0

@npeder,你是絕對正確的。糾正。 – Opal

相關問題