在Gradle中,您需要定義要在'settings.gradle'文件中構建的子項目。要建立三個子項目,你會這樣做:在Gradle設置文件中包含使用通配符的子項目
include "child1", "child2", "child3"
我遇到的問題是,我有很多項目,包括。有沒有在這個定義中使用通配符的方法?我正在尋找這樣的事情:
include "*"
那當然不起作用。由於我有很多子項目可以包含,所以這會更容易。有沒有辦法自動將子目錄包含爲項目?
在Gradle中,您需要定義要在'settings.gradle'文件中構建的子項目。要建立三個子項目,你會這樣做:在Gradle設置文件中包含使用通配符的子項目
include "child1", "child2", "child3"
我遇到的問題是,我有很多項目,包括。有沒有在這個定義中使用通配符的方法?我正在尋找這樣的事情:
include "*"
那當然不起作用。由於我有很多子項目可以包含,所以這會更容易。有沒有辦法自動將子目錄包含爲項目?
你可以這樣做:
include (1..10).collect { "Child$it" }
包括 「Child1」 高達 「Child10」?
很顯然,你需要的collect更改爲某種文件夾掃描的,但它是快速測試工作,然後將掃描有一個很好的機會
include rootDir.listFiles().findAll {
it.isDirectory()
&& !(it =~ ".*/\\..*") // don't add directories starting with '.'
&& !(it =~ "^\\..*") // don't add directories starting with '.'
}.collect {
it.getName()
}.toArray(new java.lang.String[0])
的伎倆對我來說
下面的代碼支持任意深度的層次:
rootDir.eachFileRecurse { f ->
if (f.name == "build.gradle") {
String relativePath = f.parentFile.absolutePath - rootDir.absolutePath
String projectName = relativePath.replaceAll("[\\\\\\/]", ":")
include projectName
}
}
「child1」 和 「的child2」 WER只是爲了舉例。項目的真實姓名中沒有數字。我希望有一個內置的功能,而不訴諸目錄中的文件,但我想也許沒有。 – 2010-02-19 19:01:51
是否 包含新文件('。').listFiles()。findAll {it.isDirectory()} .collect {it.name} 是否工作? – 2010-02-20 00:45:30