在摇篮你需要定义子项目要建在“settings.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
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top