This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
The following commit(s) were added to refs/heads/master by this push:
new 2f216ae8 [ARCHETYPE-650] point to archetype file in error message
2f216ae8 is described below
commit 2f216ae83e6b2e38fa3073b087abe4ac81cc6a86
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);