gradle - gradle 在外部项目上运行任务
问题描述
假设我有两个独立的项目:
./
|
+- projectA
| |
| + build.gradle
| + settings.gradle
| + gradlew
| + .gradle/
| + gradle/
| + submodulea/
|
+- projectB
|
+ build.gradle
+ settings.gradle
+ gradlew
+ .gradle/
+ gradle/
+ submoduleb/
我愿意:projectB:submoduleb
从:submoduleA
. 例如:
项目B/submoduleb/build.gradle:
//...
task test() {
println 'hello from :projectB:submoduleb'
}
//...
如何test
从projectA/build.gradle调用?
解决方案
您可以使用该类型的任务GradleBuild
来调用外部 Gradle 项目。只需指定另一个项目的项目目录和要执行的任务:
task myTask(type: GradleBuild) {
dir = file('path/to/other/project')
tasks = ['test']
}
不幸的是,这种任务类型提供的不仅仅是纯粹的任务执行,例如,不可能从任务中检索反馈。
如果您的设置需要更多类似上述的功能,您可以在项目之间添加某种耦合(多项目构建、复合构建)或编写自己的自定义解决方案。
推荐阅读
- unity3d - 将动画添加到输入字段并保存转换
- javascript - Javascript 确认使用来自远程服务器的 HTML 使 Safari 冻结
- angular - 离子 ionChange 给出 ExpressionChangedAfterItHasBeenCheckedError
- python - FlaskSQLAlchemy 查询很慢
- android - 将“app:”属性添加到Android中的自定义样式
- java - 为什么当我单击增加和减少时,num 等于零,当它在里面烤等于 num 时也返回零
- php - 如何在 laravel 默认身份验证注册表单中保存额外的非必填字段
- c++ - 递归 C++ 函数打印出斐波那契树的元素
- spring-webflux - Spring WebFlux - SessionLocaleResolver
- google-app-engine - 是否可以使用 Google App Engine urlfetch.Client 保持活动请求