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);