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 484b6ab9 [ARCHETYPE-657] store IT data in target/ instead of 
target/classes/
484b6ab9 is described below

commit 484b6ab946f0d7ce557a3df28615d8c51e500054
Author: Hervé Boutemy <hbout...@apache.org>
AuthorDate: Sun Apr 7 21:24:10 2024 +0200

    [ARCHETYPE-657] store IT data in target/ instead of target/classes/
---
 .../verify.groovy                                  |  2 +-
 .../maven/archetype/mojos/IntegrationTestMojo.java | 36 ++++++++--------------
 2 files changed, 14 insertions(+), 24 deletions(-)

diff --git 
a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/verify.groovy
 
b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/verify.groovy
index c5350c5d..272ea5a5 100644
--- 
a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/verify.groovy
+++ 
b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/verify.groovy
@@ -39,6 +39,6 @@ assert content.contains("Archetype tests executed!") :
 assert content.contains("local.central (file://") :
  "test-settings.xml wasn't passed from the main Maven build!: 'local.central 
(file://' was NOT found in the output! The output was:\n${content}"
 
-def settingsXmlPath = new 
File("maven-archetype-plugin/target/it/projects/ARCHETYPE-622_main_build_settings/target/classes/archetype-it",
 "archetype-settings.xml").toPath().toString().replace("\\", "\\\\")
+def settingsXmlPath = new 
File("maven-archetype-plugin/target/it/projects/ARCHETYPE-622_main_build_settings/target/archetype-it",
 "archetype-settings.xml").toPath().toString().replace("\\", "\\\\")
 assert content.matches("(?s).*\\[DEBUG\\] Reading user settings from .*" + 
settingsXmlPath + ".*") : "test-settings.xml wasn't passed from the main Maven 
build!: 'Reading user settings from ... archetype-settings.xml' was NOT found 
in the output! The output was:\n${content}"
 
diff --git 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
index 727a2651..959b94fb 100644
--- 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
+++ 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
@@ -623,37 +623,27 @@ public class IntegrationTestMojo extends AbstractMojo {
                 request.setProperties(props);
             }
 
+            File archetypeItDirectory = new 
File(project.getBuild().getDirectory(), "archetype-it");
+            if (archetypeItDirectory.exists()) {
+                FileUtils.deleteDirectory(archetypeItDirectory);
+            }
+            archetypeItDirectory.mkdir();
+            File userSettings;
             if (settingsFile != null) {
-                File interpolatedSettingsDirectory = new 
File(project.getBuild().getOutputDirectory(), "archetype-it");
-                if (interpolatedSettingsDirectory.exists()) {
-                    FileUtils.deleteDirectory(interpolatedSettingsDirectory);
-                }
-                interpolatedSettingsDirectory.mkdir();
-                File interpolatedSettingsFile =
-                        new File(interpolatedSettingsDirectory, 
"interpolated-" + settingsFile.getName());
+                userSettings = new File(archetypeItDirectory, "interpolated-" 
+ settingsFile.getName());
 
-                buildInterpolatedFile(settingsFile, interpolatedSettingsFile);
-
-                request.setUserSettingsFile(interpolatedSettingsFile);
-            } else // Use settings coming from the main Maven build
-            {
-                File mainBuildSettingsDirectory = new 
File(project.getBuild().getOutputDirectory(), "archetype-it");
-                mainBuildSettingsDirectory.mkdir();
-                File mainBuildSettingsFile = new 
File(mainBuildSettingsDirectory, "archetype-settings.xml");
+                buildInterpolatedFile(settingsFile, userSettings);
+            } else {
+                // Use settings coming from the main Maven build
+                userSettings = new File(archetypeItDirectory, 
"archetype-settings.xml");
 
                 SettingsXpp3Writer settingsWriter = new SettingsXpp3Writer();
 
-                try (FileWriter fileWriter = new 
FileWriter(mainBuildSettingsFile)) {
+                try (FileWriter fileWriter = new FileWriter(userSettings)) {
                     settingsWriter.write(fileWriter, settings);
                 }
-
-                if (getLog().isDebugEnabled()) {
-                    getLog().debug("Created archetype-settings.xml with 
settings from the main Maven build: "
-                            + mainBuildSettingsFile.getAbsolutePath());
-                }
-
-                request.setUserSettingsFile(mainBuildSettingsFile);
             }
+            request.setUserSettingsFile(userSettings);
 
             try {
                 InvocationResult result = invoker.execute(request);

Reply via email to