在 Gradle 设置文件中包含使用通配符的子项目

Chr*_*ail 5 java groovy build gradle

在 Gradle 中,您需要定义要在“settings.gradle”文件中构建的子项目。要构建三个子项目,您将执行以下操作:

include "child1", "child2", "child3"
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我有很多项目要包含。有没有办法在此定义中使用通配符?我正在寻找这样的东西:

include "*"
Run Code Online (Sandbox Code Playgroud)

这当然行不通。这会更容易使用,因为我有很多子项目要包含。有没有办法自动将子目录包含为项目?

joe*_*mat 6

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])
Run Code Online (Sandbox Code Playgroud)

对我有用


tim*_*tes 1

你能做这样的事情吗:

include (1..10).collect { "Child$it" }
Run Code Online (Sandbox Code Playgroud)

要将“Child1”包含到“Child10”吗?

显然,您需要将收集更改为某种文件夹扫描,但如果快速测试有效,那么扫描就有很好的机会

  • include new File( '.' ).listFiles().findAll { it.isDirectory() } .collect { it.name } 工作吗? (2认同)