Sto cercando di sostituire tutte le dipendenze -SNAPSHOT
con un progetto secondario locale. funziona benissimo, ma ho un problema: non riesco a definire la configurazione di progetto che voglio usare (ci vuole default
, che si estende runtime
, e non voglio che):Sostituzione dipendenza gradle con configurazione progetto
configurations.all {
resolutionStrategy.dependencySubstitution {
all { dependency ->
if (!dependency.requested.version.endsWith('SNAPSHOT'))
return
def isRootProject = rootProject.name.equals(dependency.requested.module)
def matching = rootProject.subprojects.find {
it.name.equals(dependency.requested.module)
}
if (isRootProject)
dependency.useTarget rootProject
else if (matching)
// The specified syntax with path: and configuration: does not work. How can I do ?
dependency.useTarget project(path: ":" + dependency.requested.module, configuration: 'compile')
else
println 'Keep SNAPSHOT: ' + dependency.requested.module;
}
}
}
lo so perché non funziona, la documentazione è abbastanza chiara: https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/DependencySubstitutions.html#project%28java.lang.String%29 non supporta un nome di configurazione.
Esiste una soluzione nota per questa limitazione?