我有一个扁平的多项目配置,如下所示:
projA
projB
projC
build_scripts
build_scripts
包含build.gradle
build.gradle
看起来像这样:
allprojects {
...
task gitPull(type: Exec) {
description 'Pulls git.'
commandLine "git", "pull"
}
}
project(':projA') {
...
}
project(':projB') {
...
}
project(':projC') {
...
}
当我从gradle gitPull
目录运行build_scripts
时,我想要
gradle在git pull
,projA
和projB
(以及其他任何地方)的目录中执行projC
。
但是,由于gralde将build_scripts
视为根项目,它也会在那里执行git pull
- 这会失败,因为它不是git存储库(或者即使它是,我也不想在构建项目时对其执行git pull
通常,我不希望build_scripts
文件夹(即根项目)参与任何与构建相关的活动。
如何排除allProjects
答案 0 :(得分:2)
来自php docs:
在此示例中,您可以看到tropicalFish
如何过滤项目hello
执行任务 ....
。
例56.8。向某些项目添加自定义行为(按以下方式过滤 项目名称)
include 'bluewhale', 'krill','tropicalFish'
注意:可以在此处找到此示例的代码 样品/用户指南/多项目/ addTropical / water in'-all' Gradle的分布。
Settings.gradle
allprojects {
task hello << {task -> println "I'm $task.project.name" }
}
subprojects {
hello << {println "- I depend on water"}
}
configure(subprojects.findAll {it.name != 'tropicalFish'}) {
hello << {println '- I love to spend time in the arctic waters.'}
}
的build.gradle
06-06 14:00:03.670: E/AndroidRuntime(29671): java.lang.IllegalStateException: Could not execute method of the activity
06-06 14:00:03.670: E/AndroidRuntime(29671): Caused by: java.lang.UnsatisfiedLinkError: Native method not found: org.cocos2dx.cpp.AppActivity.onFinished:(I)V