Gradle只构建一个模块

Vir*_*raj 137 gradle

我有一个多模块gradle构建.我想使用root执行一个模块的目标.例如:

gradle build -Pmodule=ABC
gradle jar -Pmodule=ABC
gradle test -Pmodule=ABC
gradle compileJava -Pmodule=ABC
gradle customTask -Pmodule=ABC
etc.
Run Code Online (Sandbox Code Playgroud)

因此,每个目标都可以从root指定模块运行.有一个简单的方法吗?

谢谢 !

Pet*_*ser 281

要执行特定子项目的任务,请指定其任务路径.例如:

gradle :ABC:build
Run Code Online (Sandbox Code Playgroud)

领先者:代表根项目.ABC是子项目,也是该项目中build的任务.

  • 如何通过配置而不是命令行来控制只能从多个子项目中组装一个子项目?对于Google的Release Pipelines,它会在根项目中触发"gradle clean assemble".对我来说,尝试构建AppEngine和Android版本.发布管道将在Android版本上失败,因为它没有安装SDK,对于瞬态机器是可以理解的.此外,它看起来不像Release Pipelines提供任何配置选项. (4认同)
  • `gradle :ABC:clean :ABC:build` (2认同)
  • gradle build -p moduleA 更好,它会处理模块的依赖关系。 (2认同)

Vir*_*raj 72

找到了一个快捷方式

gradle build -p moduleA
Run Code Online (Sandbox Code Playgroud)

moduleA是模块的目录.

上面的命令构建了一个moduleA及其所有子模块,moduleA应该是它的路径

  • 上面的命令构建一个moudleA及其所有的子模块,moduleA应该是它的路径`gradle build -p path\pathSt\moduleA` (4认同)

Mah*_*raa 18

在Mac OS上,唯一与我合作的变种:

./gradlew  ABC:build
Run Code Online (Sandbox Code Playgroud)

ABC 是模块的名称

(它也可能在Linux上工作)


小智 5

在此输入图像描述

如果您的IDE是Android Studio,则有一种简单的方法.只需选择要编译的模块文件夹,然后单击Build并选择Make Module'your module folder'.