Gradle 4.6
I have a multi-module Gradle project that imports multiple dependencies versions from a BOM file. that BOM file has several “org.powermock” along with their versions. it works fine for the most part given this configuration:
settings.gradle
:
enableFeaturePreview("IMPROVED_POM_SUPPORT")
root-level build.gradle
:
allprojects {
apply plugin: 'maven'
group = 'com'
version '1.0.0-SNAPSHOT'
}
ext.libraries = [
powermock : ["org.powermock:powermock-module-junit4:1.7.1",
"org.powermock:powermock-api-mockito:1.7.1",
"org.powermock:powermock-api-mockito-common:1.7.1",
"org.powermock:powermock-core:1.7.1"
]
]
subprojects {
...
dependencies {
// import shared BOM file
implementation "com:thirdparty-bom:${sharedBomVersion}"
}
}
build.gradle
file for a submodule
in this project:
dependencies {
compile(
project(':domain'),
project(':service'),
libraries.guava
)
compile group: 'commons-io', name: 'commons-io'
testCompile(
project(':test'),
libraries.mockito,
libraries.powermock
)
}
now I want to remove “org.powermock” versions from my root-level build.gradle, so that whenever a submodule declares a dependency on “libraries.powermock”, it would get versions inherited from BOM file.
like this (root-level build.gradle
again):
powermock : ["org.powermock:powermock-module-junit4",
"org.powermock:powermock-api-mockito",
"org.powermock:powermock-api-mockito-common",
"org.powermock:powermock-core"
],
but when I do that the build fails:
Could not resolve all files for configuration ‘:module1:testCompileClasspath’.
Could not find org.powermock:powermock-module-junit4:.
Required by:
project :module1
Could not find org.powermock:powermock-api-mockito:.
Required by:
project :module1
Could not find org.powermock:powermock-api-mockito-common:.
Required by:
project :module1
Could not find org.powermock:powermock-core:.
Required by:
project :module1
is this a limitation of the experimental BOM import plugin?