如何从Gradle中的根项目中清除buildSrc目录?

Xel*_*ian 7 build multi-project gradle

多项目在构建buildSrc目录.

  buildSrc
       ---build
       ---  subProject1
          ----build (2)
       ---  subProject2
           ----build (3)
       ---  subProject3
          ----build  (4)
       ---  subProject4
          ----build  (5)
    config
    gradle
    src
    build (1)
Run Code Online (Sandbox Code Playgroud)

当我在项目的根目录中时,我写道:

gradle clean
Run Code Online (Sandbox Code Playgroud)

但只删除了根项目的构建目录(标记为1).如何触发Gradle删除所有构建目录prom buildSrc而不必手动到buildSrc并写入gradle clean.(标记为2,3,4,5)

Ily*_*lya 10

由于buildSrc这只是一个 gradle 项目,您可以在buildSrc文件夹clean中使用-pgradle 选项指定的任务启动 gradle :

./gradlew -p buildSrc clean
Run Code Online (Sandbox Code Playgroud)

不幸的是,在您的主构建之前,它仍然需要另一个 gradle 调用。

  • @KennKnowles 它会清除 `buildSrc` 项目的构建结果,而不是整个 `buildSrc` 目录。 (3认同)
  • 这似乎并没有真正清理`buildSrc`。 (2认同)

Pet*_*ser 3

没有办法做到这一点(但你不应该清理buildSrc)。

  • 我不懂为什么? (2认同)
  • 好的,但是 Gradle 可以自动清理它,或者使用某些系统属性 cleanBuildSrc =true 来指定用户的意图,这可以完成,否则我错了。 (2认同)
  • 当您修改“build.gradle”时,Gradle 不会认为结果是脏的,尽管严格的做法是将所有结果视为脏的。这是您可能希望清洁的时间。 (2认同)