Gradle多项目构建。Gradle遍历依赖项

Gradle多项目构建。Gradle遍历依赖项,gradle,Gradle,我有一个相当大的build.gradle文件,其中有28个gradle项目。我在遍历依赖项方面遇到了一些问题。例如,我必须创建项目Harbor.Client和Harbor.Models。我的客户依赖于我的模型项目。但是,我使用客户机的项目还需要定义对模型项目的依赖关系,而不仅仅是从客户机项目获取依赖关系 范例 project(':Harbor.Client') { dependencies { implementation project(':Harbor.Models'

我有一个相当大的
build.gradle
文件,其中有28个gradle项目。我在遍历依赖项方面遇到了一些问题。例如,我必须创建项目
Harbor.Client
Harbor.Models
。我的客户依赖于我的模型项目。但是,我使用客户机的项目还需要定义对模型项目的依赖关系,而不仅仅是从客户机项目获取依赖关系

范例

project(':Harbor.Client') {
    dependencies {
        implementation project(':Harbor.Models')
    }
}
project(':Harbor.Models') {
    dependencies {
    }
}
project(':Application') {
    dependencies {
        implementation project(':Harbor.Client')
        implementation project(':Harbor.Models')
    }
}
是否有可以设置的设置,以便
应用程序
项目不需要设置对
Harbor.Models的直接依赖关系

project(':Harbor.Client') {
    dependencies {
        implementation project(':Harbor.Models')
    }
}
project(':Harbor.Models') {
    dependencies {
    }
}
project(':Application') {
    dependencies {
        // Gets ':Harbor.Models' though ':Harbor.Client'
        implementation project(':Harbor.Client')
    }
}

我发现答案是使用API依赖项而不是实现

project(':Harbor.Client') {
    apply plugin: 'java-library'

    dependencies {
        implementation project(':Harbor.Models')
    }
}
project(':Harbor.Models') {
    apply plugin: 'java-library'

    dependencies {
    }
}
project(':Application') {
    dependencies {
        // Gets ':Harbor.Models' though ':Harbor.Client'
        api project(':Harbor.Client')
    }
}