kohlmu-pivotal commented on a change in pull request #5618:
URL: https://github.com/apache/geode/pull/5618#discussion_r505821966
##########
File path: gradle/publish-java.gradle
##########
@@ -34,40 +34,46 @@ gradle.taskGraph.whenReady({ graph ->
jar.doFirst {
def projectDependencies = []
def runtimeList = []
+ def allProjectDeps = []
- // Iterate over runtime classpath dependencies and separate project
dependencies from library
- // dependencies.
- configurations.runtimeClasspath
- .collect { it.name - ".jar" }
- .each { dependency ->
- if (dependency.startsWith("geode-")) {
- projectDependencies.add(dependency)
- } else {
- runtimeList.add(dependency+".jar")
- }
- }
+ ['api', 'implementation', 'runtimeOnly'].each { conf ->
+
allProjectDeps.addAll(project.configurations.getByName(conf).getDependencies())
+ }
+
+// // Iterate over runtime classpath dependencies and separate project
dependencies from library
+// // dependencies.
+ allProjectDeps.each { dependency ->
+ if ( dependency instanceof ProjectDependency ) {
+ projectDependencies.add(dependency)
+ } else {
+ project.configurations.runtimeClasspath.files(dependency).each {
depJar ->
+ runtimeList.add(depJar.name)
+ }
+ }
+ }
// Iterate over project (parent) dependencies and remove its runtime
library dependencies from
// the current project's runtime library dependencies.
// Also removes all parent project's runtime project dependencies from
the current project.
// This returns a unique set of parent project and library dependencies
that are not found
// within it's parent's project dependencies.
projectDependencies.clone().each { projectDependency ->
- def geodeProject = projectDependency - "-${version}.jar"
+ def geodeProject = projectDependency.getDependencyProject()
if (projectDependencies.contains(geodeProject)) {
try {
- def parentProject = project(":$geodeProject" - "-$version")
+ def parentProject = geodeProject
def collect =
parentProject.configurations.runtimeClasspath.collect { it.name }
runtimeList.removeAll(collect)
Review comment:
I believe this to be correct for the state of the project at this stage.
Until libraries are loaded as modules and ensures that there is ever only one
copy of a class at a particular version, this should stay.
We can always change in the future, but for now, this is sufficient.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]