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

hboutemy pushed a commit to branch ARCHETYPE-650
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git

commit 12e01de136697bf4f8e01fd4803cb778a8c85cac
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Sat Oct 7 15:37:19 2023 -0300

    [ARCHETYPE-650] point to archetype file in error message
---
 .../generator/DefaultArchetypeGenerator.java       |  2 +-
 .../DefaultArchetypeGenerationConfigurator.java    | 36 ++++++----------------
 ...efaultArchetypeGenerationConfigurator2Test.java | 15 +++++----
 ...DefaultArchetypeGenerationConfiguratorTest.java | 15 +++++----
 4 files changed, 24 insertions(+), 44 deletions(-)

diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
index 4d4f9517..2ef3ef75 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
@@ -101,7 +101,7 @@ public class DefaultArchetypeGenerator extends 
AbstractLogEnabled implements Arc
         } else if (archetypeArtifactManager.isOldArchetype(archetypeFile)) {
             processOldArchetype(request, archetypeFile);
         } else {
-            throw new ArchetypeGenerationFailure("The defined artifact is not 
an archetype");
+            throw new ArchetypeGenerationFailure("The defined artifact is not 
an archetype: " + archetypeFile);
         }
     }
 
diff --git 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
index cc7a0af9..1b5f0246 100644
--- 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
+++ 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.archetype.ui.generation;
 
+import java.io.File;
 import java.io.IOException;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -134,46 +135,27 @@ public class DefaultArchetypeGenerationConfigurator 
extends AbstractLogEnabled
 
         ArchetypeConfiguration archetypeConfiguration;
 
-        if (archetypeArtifactManager.isFileSetArchetype(
+        File archetypeFile = archetypeArtifactManager.getArchetypeFile(
                 ad.getGroupId(),
                 ad.getArtifactId(),
                 ad.getVersion(),
                 archetypeRepository,
                 localRepository,
                 repositories,
-                request.getProjectBuildingRequest())) {
+                request.getProjectBuildingRequest());
+        if (archetypeArtifactManager.isFileSetArchetype(archetypeFile)) {
             org.apache.maven.archetype.metadata.ArchetypeDescriptor 
archetypeDescriptor =
-                    archetypeArtifactManager.getFileSetArchetypeDescriptor(
-                            ad.getGroupId(),
-                            ad.getArtifactId(),
-                            ad.getVersion(),
-                            archetypeRepository,
-                            localRepository,
-                            repositories,
-                            request.getProjectBuildingRequest());
+                    
archetypeArtifactManager.getFileSetArchetypeDescriptor(archetypeFile);
 
             archetypeConfiguration = 
archetypeFactory.createArchetypeConfiguration(archetypeDescriptor, properties);
-        } else if (archetypeArtifactManager.isOldArchetype(
-                ad.getGroupId(),
-                ad.getArtifactId(),
-                ad.getVersion(),
-                archetypeRepository,
-                localRepository,
-                repositories,
-                request.getProjectBuildingRequest())) {
+        } else if (archetypeArtifactManager.isOldArchetype(archetypeFile)) {
             org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor 
archetypeDescriptor =
-                    archetypeArtifactManager.getOldArchetypeDescriptor(
-                            ad.getGroupId(),
-                            ad.getArtifactId(),
-                            ad.getVersion(),
-                            archetypeRepository,
-                            localRepository,
-                            repositories,
-                            request.getProjectBuildingRequest());
+                    
archetypeArtifactManager.getOldArchetypeDescriptor(archetypeFile);
 
             archetypeConfiguration = 
archetypeFactory.createArchetypeConfiguration(archetypeDescriptor, properties);
         } else {
-            throw new ArchetypeGenerationConfigurationFailure("The defined 
artifact is not an archetype");
+            throw new ArchetypeGenerationConfigurationFailure(
+                    "The defined artifact is not an archetype: " + 
archetypeFile);
         }
 
         List<String> propertiesRequired = 
archetypeConfiguration.getRequiredProperties();
diff --git 
a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java
 
b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java
index 4036a409..a6959eeb 100644
--- 
a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java
+++ 
b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator2Test.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.archetype.ui.generation;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
@@ -74,19 +75,17 @@ public class DefaultArchetypeGenerationConfigurator2Test 
extends PlexusTestCase
 
         ArchetypeArtifactManager manager = 
EasyMock.createMock(ArchetypeArtifactManager.class);
 
+        File archetype = new File("archetype.jar");
         List<ArtifactRepository> x = new ArrayList<>();
         EasyMock.expect(manager.exists(
                         "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
                 .andReturn(true);
-        EasyMock.expect(manager.isFileSetArchetype(
+        EasyMock.expect(manager.getArchetypeFile(
                         "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(true);
-        EasyMock.expect(manager.isOldArchetype(
-                        "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(false);
-        EasyMock.expect(manager.getFileSetArchetypeDescriptor(
-                        "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(descriptor);
+                .andReturn(archetype);
+        EasyMock.expect(manager.isFileSetArchetype(archetype)).andReturn(true);
+        EasyMock.expect(manager.isOldArchetype(archetype)).andReturn(false);
+        
EasyMock.expect(manager.getFileSetArchetypeDescriptor(archetype)).andReturn(descriptor);
 
         EasyMock.replay(manager);
         configurator.setArchetypeArtifactManager(manager);
diff --git 
a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java
 
b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java
index 22857ba6..98edc596 100644
--- 
a/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java
+++ 
b/maven-archetype-plugin/src/test/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfiguratorTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.archetype.ui.generation;
 
+import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -54,20 +55,18 @@ public class DefaultArchetypeGenerationConfiguratorTest 
extends PlexusTestCase {
 
         ArchetypeArtifactManager manager = 
EasyMock.createMock(ArchetypeArtifactManager.class);
 
+        File archetype = new File("archetype.jar");
         List<ArtifactRepository> x = new ArrayList<>();
         EasyMock.expect(manager.exists(
                         "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
                 .andReturn(true);
-        EasyMock.expect(manager.isFileSetArchetype(
+        EasyMock.expect(manager.getArchetypeFile(
                         "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(false);
-        EasyMock.expect(manager.isOldArchetype(
-                        "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(true);
+                .andReturn(archetype);
+        
EasyMock.expect(manager.isFileSetArchetype(archetype)).andReturn(false);
+        EasyMock.expect(manager.isOldArchetype(archetype)).andReturn(true);
 
-        EasyMock.expect(manager.getOldArchetypeDescriptor(
-                        "archetypeGroupId", "archetypeArtifactId", 
"archetypeVersion", null, null, x, buildingRequest))
-                .andReturn(new ArchetypeDescriptor());
+        
EasyMock.expect(manager.getOldArchetypeDescriptor(archetype)).andReturn(new 
ArchetypeDescriptor());
 
         EasyMock.replay(manager);
         configurator.setArchetypeArtifactManager(manager);

Reply via email to