This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MNG-7758_workaround
in repository https://gitbox.apache.org/repos/asf/maven.git

commit d8c754e9967e3ac48e7be485d7a8409bf97523ea
Author: Michael Osipov <[email protected]>
AuthorDate: Sat Apr 22 23:28:40 2023 +0200

    [MNG-7771] Don't use ArtifactResolutionException#getMessage() w/o knowing 
whether there are other exceptions or not
---
 .../apache/maven/artifact/resolver/DefaultArtifactResolver.java    | 6 ++++--
 .../main/java/org/apache/maven/project/DefaultProjectBuilder.java  | 3 +--
 .../main/java/org/apache/maven/project/ProjectModelResolver.java   | 7 ++++++-
 .../java/org/apache/maven/project/ProjectModelResolverTest.java    | 4 ++--
 .../org/apache/maven/repository/internal/DefaultModelResolver.java | 7 ++++++-
 .../apache/maven/repository/internal/DefaultModelResolverTest.java | 4 ++--
 6 files changed, 21 insertions(+), 10 deletions(-)

diff --git 
a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 
b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
index 952382a23..6277c1787 100644
--- 
a/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
+++ 
b/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
@@ -188,9 +188,11 @@ public class DefaultArtifactResolver implements 
ArtifactResolver, Disposable {
                 result = repoSystem.resolveArtifact(session, artifactRequest);
             } catch (org.eclipse.aether.resolution.ArtifactResolutionException 
e) {
                 if (e.getCause() instanceof 
org.eclipse.aether.transfer.ArtifactNotFoundException) {
-                    throw new ArtifactNotFoundException(e.getMessage(), 
artifact, remoteRepositories, e);
+                    throw new ArtifactNotFoundException(
+                            "Could not find artifact '" + artifact + "'", 
artifact, remoteRepositories, e);
                 } else {
-                    throw new ArtifactResolutionException(e.getMessage(), 
artifact, remoteRepositories, e);
+                    throw new ArtifactResolutionException(
+                            "Failed to resolve artifact '" + artifact + "'", 
artifact, remoteRepositories, e);
                 }
             }
 
diff --git 
a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java 
b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index 027ca74ee..55d52cac5 100644
--- 
a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ 
b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -310,8 +310,7 @@ public class DefaultProjectBuilder implements 
ProjectBuilder {
             if (e.getResults().get(0).isMissing() && allowStubModel) {
                 return build(null, createStubModelSource(artifact), config);
             }
-            throw new ProjectBuildingException(
-                    artifact.getId(), "Error resolving project artifact: " + 
e.getMessage(), e);
+            throw new ProjectBuildingException(artifact.getId(), "Error 
resolving project artifact", e);
         }
 
         File pomFile = pomArtifact.getFile();
diff --git 
a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java 
b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
index 3ca215292..112426543 100644
--- 
a/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
+++ 
b/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java
@@ -166,7 +166,12 @@ public class ProjectModelResolver implements ModelResolver 
{
             request.setTrace(trace);
             pomArtifact = resolver.resolveArtifact(session, 
request).getArtifact();
         } catch (ArtifactResolutionException e) {
-            throw new UnresolvableModelException(e.getMessage(), groupId, 
artifactId, version, e);
+            throw new UnresolvableModelException(
+                    String.format("Failed to resolve model artifact '%s'", 
pomArtifact),
+                    groupId,
+                    artifactId,
+                    version,
+                    e);
         }
 
         return new ArtifactModelSource(pomArtifact.getFile(), groupId, 
artifactId, version);
diff --git 
a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
 
b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
index b7352b930..d43cb53b8 100644
--- 
a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
+++ 
b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
@@ -69,7 +69,7 @@ class ProjectModelResolverTest extends 
AbstractMavenProjectTestCase {
                 () -> newModelResolver().resolveModel(parent.getDelegate(), 
new AtomicReference<>()),
                 "Expected 'UnresolvableModelException' not thrown.");
         assertNotNull(e.getMessage());
-        assertThat(e.getMessage(), containsString("Could not find artifact 
org.apache:apache:pom:0 in central"));
+        assertThat(e.getMessage(), containsString("Failed to resolve model 
artifact 'org.apache:apache:pom:0'"));
     }
 
     @Test
@@ -135,7 +135,7 @@ class ProjectModelResolverTest extends 
AbstractMavenProjectTestCase {
                 () -> 
newModelResolver().resolveModel(dependency.getDelegate(), new 
AtomicReference<>()),
                 "Expected 'UnresolvableModelException' not thrown.");
         assertNotNull(e.getMessage());
-        assertThat(e.getMessage(), containsString("Could not find artifact 
org.apache:apache:pom:0 in central"));
+        assertThat(e.getMessage(), containsString("Failed to resolve model 
artifact 'org.apache:apache:pom:0'"));
     }
 
     @Test
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
index c48968f89..138c94ece 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java
@@ -157,7 +157,12 @@ class DefaultModelResolver implements ModelResolver {
             request.setTrace(trace);
             pomArtifact = resolver.resolveArtifact(session, 
request).getArtifact();
         } catch (ArtifactResolutionException e) {
-            throw new UnresolvableModelException(e.getMessage(), groupId, 
artifactId, version, e);
+            throw new UnresolvableModelException(
+                    String.format("Failed to resolve model artifact '%s'", 
pomArtifact),
+                    groupId,
+                    artifactId,
+                    version,
+                    e);
         }
 
         return new ArtifactModelSource(pomArtifact.getFile(), groupId, 
artifactId, version);
diff --git 
a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
 
b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
index 5fe183d2d..8666d82ff 100644
--- 
a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
+++ 
b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/DefaultModelResolverTest.java
@@ -65,7 +65,7 @@ final class DefaultModelResolverTest extends 
AbstractRepositoryTestCase {
                 () -> newModelResolver().resolveModel(parent, new 
AtomicReference<>()),
                 "Expected 'UnresolvableModelException' not thrown.");
         assertNotNull(e.getMessage());
-        assertTrue(e.getMessage().contains("Could not find artifact 
ut.simple:artifact:pom:0 in repo"));
+        assertTrue(e.getMessage().contains("Failed to resolve model artifact 
'ut.simple:artifact:pom:0'"));
     }
 
     @Test
@@ -138,7 +138,7 @@ final class DefaultModelResolverTest extends 
AbstractRepositoryTestCase {
                 () -> newModelResolver().resolveModel(dependency, new 
AtomicReference<>()),
                 "Expected 'UnresolvableModelException' not thrown.");
         assertNotNull(e.getMessage());
-        assertTrue(e.getMessage().contains("Could not find artifact 
ut.simple:artifact:pom:0 in repo"));
+        assertTrue(e.getMessage().contains("Failed to resolve model artifact 
'ut.simple:artifact:pom:0'"));
     }
 
     @Test

Reply via email to