I want to extend a configuration in project b with a configuration in project a.
If both configurations are in the same project it is possible to do:
configurations.conf1.extendsFrom configurations.conf2
How do I achieve the same for configurations in different projects?
Below is an minimal example that currently does not work since the dependencies are not inherited.
Example folder setup:
a/build.gradle
b/build.gradle
settings.gradle
a/build.gradle:
repositories {
mavenCentral()
}
configurations {
aconf
}
dependencies {
aconf 'abbot:abbot:1.4.0'
}
b/build.gradle
configurations {
bconf
}
configurations.bconf.extendsFrom project(':a').configurations.aconf
settings.gradle
include ':a'
include ':b'
Executing ./gradlew :a:dep :b:dep -i shows that bconf does not inherit dependencies from aconf.
Included projects: [root project 'projectDeps', project ':a', project ':b']
> Configure project :
Evaluating root project 'projectDeps' using build file '/projectDeps/build.gradle'.
> Configure project :a
Evaluating project ':a' using build file '/projectDeps/a/build.gradle'.
> Configure project :b
Evaluating project ':b' using build file '/projectDeps/b/build.gradle'.
All projects evaluated.
Selected primary task ':a:dependencies' from project :a
Selected primary task ':b:dependencies' from project :b
Tasks to be executed: [task ':a:dependencies', task ':b:dependencies']
:a:dependencies (Thread[Task worker for ':',5,main]) started.
> Task :a:dependencies
Task ':a:dependencies' is not up-to-date because:
Task.upToDateWhen is false.
------------------------------------------------------------
Project :a
------------------------------------------------------------
aconf
\--- abbot:abbot:1.4.0
\--- junit:junit:4.8.2
> Task :b:dependencies
Task ':b:dependencies' is not up-to-date because:
Task.upToDateWhen is false.
------------------------------------------------------------
Project :b
------------------------------------------------------------
bconf
No dependencies