Pankraz76 commented on code in PR #11615:
URL: https://github.com/apache/maven/pull/11615#discussion_r2671904605


##########
impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java:
##########
@@ -274,4 +275,59 @@ public DependencyResolverResult 
resolve(DependencyResolverRequest request)
     private static DependencyResolverException cannotReadModuleInfo(final Path 
path, final IOException cause) {
         return new DependencyResolverException("Cannot read module information 
of " + path, cause);
     }
+
+    private static boolean containsUnresolvedExpression(String value) {
+        return value != null && value.contains("${") && value.contains("}");
+    }
+
+    private static String enhanceCollectionError(DependencyCollectionException 
e, CollectRequest request) {
+        if (e.getMessage() != null && e.getMessage().contains("Invalid Collect 
Request")) {
+            StringBuilder enhanced = new StringBuilder();
+            enhanced.append("Failed to collect dependencies");
+
+            org.eclipse.aether.graph.Dependency root = request.getRoot();
+            if (root != null && root.getArtifact() != null) {

Review Comment:
   
   ```suggestion
               return if (root != null && root.getArtifact() != null) ? 
enhanceDependency() : enhanceDependencies(...);
   ```
   
   could be extracted as dedicated branch/concern to provide cohesion over 
coupling.
   
   



##########
impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java:
##########
@@ -274,4 +275,59 @@ public DependencyResolverResult 
resolve(DependencyResolverRequest request)
     private static DependencyResolverException cannotReadModuleInfo(final Path 
path, final IOException cause) {
         return new DependencyResolverException("Cannot read module information 
of " + path, cause);
     }
+
+    private static boolean containsUnresolvedExpression(String value) {
+        return value != null && value.contains("${") && value.contains("}");
+    }
+
+    private static String enhanceCollectionError(DependencyCollectionException 
e, CollectRequest request) {
+        if (e.getMessage() != null && e.getMessage().contains("Invalid Collect 
Request")) {
+            StringBuilder enhanced = new StringBuilder();
+            enhanced.append("Failed to collect dependencies");
+
+            org.eclipse.aether.graph.Dependency root = request.getRoot();
+            if (root != null && root.getArtifact() != null) {
+                org.eclipse.aether.artifact.Artifact artifact = 
root.getArtifact();
+                String groupId = artifact.getGroupId();
+                String artifactId = artifact.getArtifactId();
+                String version = artifact.getVersion();
+
+                if (containsUnresolvedExpression(groupId) || 
containsUnresolvedExpression(artifactId)
+                        || containsUnresolvedExpression(version)) {
+                    enhanced.append(" due to unresolved expression(s) in 
dependency: ")
+                            .append(groupId)
+                            .append(":")
+                            .append(artifactId)
+                            .append(":")
+                            .append(version)
+                            .append(".\n")
+                            .append("Please check that all properties are 
defined in your POM or settings.xml.");
+                    return enhanced.toString();
+                }
+            }
+
+            for (org.eclipse.aether.graph.Dependency dep : 
request.getDependencies()) {

Review Comment:
   
   
   could be extracted as dedicated branch/concern to provide cohesion over 
coupling.
   
   
   ```suggestion
               return enhanceDependencies(...)
   ```



##########
impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java:
##########
@@ -174,7 +174,8 @@ public DependencyResolverResult collect(@Nonnull 
DependencyResolverRequest reque
                         session.getNode(result.getRoot(), 
request.getVerbose()),
                         0);
             } catch (DependencyCollectionException e) {
-                throw new DependencyResolverException("Unable to collect 
dependencies", e);
+                String enhancedMessage = enhanceCollectionError(e, 
collectRequest);
+                throw new DependencyResolverException(enhancedMessage, e);

Review Comment:
   ```suggestion
                   throw new 
DependencyResolverException(enhanceCollectionError(e, collectRequest), e);
   ```
   - https://error-prone.picnic.tech/bugpatterns/DirectReturn



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to