Gradle多个依赖Java项目。平面文件夹结构全部在同一级别。
我正在尝试创建这样的多gradle Java项目。
我能够使其仅适用于以下配置。我不确定这是否是达到上述要求的正确方法。
Child2 - settings.gradle
include ':Child1'
project(':Child1').projectDir = new File(settingsDir, "../Child1");
Child2 - build.gradle
dependencies {
compile project(':Child1')
}
家长 - settings.gradle
include ':Child1', ':Child2'
project(':Child1').projectDir = new File(settingsDir, "../Child1");
project(':Child2').projectDir = new File(settingsDir, "../Child2");
注意: - 我想知道我们为什么要在这里定义Child1的详细信息?因为Parent只需要Child2依赖项。如果我不像上面那样进行配置,它就不起作用。
Parent - build.gradle
dependencies {
compile project(':Child2')
}
答案 0 :(得分:1)
在多模块项目中,子项目的目录是父文件夹中的子文件夹。这是按惯例。如果您在该约定中对齐文件夹,则需要将更少的信息放入构建文件中。
以下是this question的示例。
.controller('makeOrderController', function ($scope, $timeout, $ionicLoading) {
// Check if searchKeyword exists or declare it
$scope.searchKeyword = $scope.searchKeyword || {};
$scope.searchMenuFilter = function () {
return function (data) {
if (data != undefined) {
var result = JSLINQ(data)
.Where(function (item) {
// searchKeyword is not defined in this code snippet
return (item.name.match(/\b(\w)/g).join('') == $scope.searchKeyword);
});
console.log($scope);
console.log($scope.searchKeyword); // Not defined in code snippet
return result.items;
}
else {
return null;
}
}
}
});
由于您的结构不符合此约定,因此您需要明确说明子项的位置。父和子1之间的关系是直接的,不像依赖库和该库可能具有的其他依赖关系。如果child1只是child2的依赖项,而不是parent2的子项,那么你就不必指出chil1的文件夹了。但是,1)child1是父项的子项,2)您使用标准目录布局进行多模块的情况。所以现在你必须告诉Gradle child1在父的构建脚本中的位置。