我有一个gradle这个多项目的设置,象这样一个有点扁平结构:运行从一个子项目gradle这个任务,未知根
RootProject/
build.gradle
settings.gradle
SubProjectA/
build.gradle
anotherDirectory/
SubProjectB/
build.gradle
SubProjectC/
build.gradle
根项目仅仅是一个根版本。它将所有其他项目联系在一起。 SubProjectB取决于SubProjectC,并且C取决于A.
从根项目运行任务按预期工作。我可以运行gradle :SubProjectB:build
,它将构建SubProjectB及其依赖关系而不会出错。
我的问题是,如果我尝试从一个子项目的目录运行一个任务,它会失败,如果该子项目取决于任何其他子项目,因为它不知道其他任何其他没有根项目的设置文件。所以从它的目录运行A的构建可以工作,但运行B或C将会失败。
在这个结构中,我可以做什么来定义根项目的实际内容,所以如果我从B运行gradle build
,它的行为与从根项目的目录运行gradle :SubProjectB:build
一样?
最终目标是通过命令行更轻松地使用gradle,并在子项目上获取功能默认任务。这样,我应该能够双击项目的Eclipse的Gradle任务列表,并让它运行默认任务,就像它从根目录运行任务一样。