在gradle构建脚本中将配置应用于特定项目

10 groovy gradle

我有一个gradle项目,它有java应用程序和android应用程序.

root/
  build.gradle
  settings.gradle
  java1/
  java2/ 
  android1/
  android2/
  java3/
Run Code Online (Sandbox Code Playgroud)

等等

构建构建脚本的最佳实践是什么?我是一个完全的gradle新手,我正在将项目从maven迁移到gradle.

我想做点什么而不是做

configure(subprojects) {}
Run Code Online (Sandbox Code Playgroud)

应用插件和其他特定的东西.

configure(java1, java2, java3) { // java specifics }
configure(android1, android2) { // android specifics }
Run Code Online (Sandbox Code Playgroud)

我可能是以错误的方式接近这个.

更明确地说,我需要将插件java仅用于java项目,并将android插件应用于android项目.

小智 14

configure(subprojects.findAll {it.name == "java1" && it.name == "java2"}) {
Run Code Online (Sandbox Code Playgroud)

在指南中的过滤部分下

希望这有助于其他人.

  • 这不应该是`||`不是`&&`? (4认同)

Hie*_*mus 6

有多种方法,取决于你想要的......一些例子:

// Configures just project java1
project(":java1") { ... }

// Configures projects java1 and java2
["java1","java2"].each { name ->
  project(":$name") { ... }
}
Run Code Online (Sandbox Code Playgroud)

您可以使用普通的groovy来查找/遍历所有项目.