[ARCHETYPE-657] store IT data in target/ instead of target/classes/
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 c5350c5..272ea5a 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("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 727a265..959b94f 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 @@
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);