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, or at least not have some classes 
cross module boundaries, 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:
us...@infra.apache.org


Reply via email to