Я использую Gradle 5.1.1 и имею следующую конфигурацию в моем многомодульном проекте
settings.gradle
rootProject.name = 'multi-module-test'
include 'mock-api', 'mock-impl'
build.gradle
group 'com.acme'
version '1.0.0-SNAPSHOT'
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
}
project(':mock-impl') {
dependencies {
// this fails
// api project(':mock-api')
// this succeeds
implementation project(':mock-api')
}
}
По какой-то странной причине, если я использую конфигурацию api
, сборка завершается с ошибкой по этой причине
Could not find method api() for arguments [project ':mock-api'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Но она не завершается ошибкой при использовании конфигурации implementation
Есть идеи, почему это так?