You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2024/10/06 08:22:47 UTC

(maven-archetype) branch ARCHETYPE-681 created (now 41193622)

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

sjaranowski pushed a change to branch ARCHETYPE-681
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git


      at 41193622 [ARCHETYPE-681] Fix output from archetype verification

This branch includes the following new commits:

     new 41193622 [ARCHETYPE-681] Fix output from archetype verification

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(maven-archetype) 01/01: [ARCHETYPE-681] Fix output from archetype verification

Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 411936228169317b022316887fedce57382ba180
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Sun Oct 6 10:22:32 2024 +0200

    [ARCHETYPE-681] Fix output from archetype verification
---
 .../test-settings.xml                              |  4 ++++
 .../ARCHETYPE-606_include-gitignore/verify.groovy  | 23 ++++++++++++++++++++++
 .../ARCHETYPE-622_main_build_settings/pom.xml      |  2 +-
 .../test-settings.xml                              |  4 ++++
 .../verify.groovy                                  | 19 ++++++++++--------
 .../projects/build-and-run-its/test-settings.xml   |  4 ++++
 .../it/projects/build-archetype/test-settings.xml  |  4 ++++
 .../it/projects/build-ignore-eol/test-settings.xml |  4 ++++
 .../apache/maven/archetype/mojos/FileLogger.java   | 18 ++++-------------
 .../maven/archetype/mojos/IntegrationTestMojo.java |  4 +---
 10 files changed, 60 insertions(+), 26 deletions(-)

diff --git a/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/test-settings.xml b/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/test-settings.xml
index ab9e16e4..cb295a6b 100644
--- a/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/test-settings.xml
+++ b/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/test-settings.xml
@@ -32,9 +32,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </repository>
       </repositories>
@@ -44,9 +46,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
diff --git a/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/verify.groovy b/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/verify.groovy
new file mode 100644
index 00000000..77eac963
--- /dev/null
+++ b/maven-archetype-plugin/src/it/projects/ARCHETYPE-606_include-gitignore/verify.groovy
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+buildLog = new File( basedir, '../../logs/ARCHETYPE-606_include-gitignore/build.log' ).text
+assert buildLog.contains( '[INFO] Invoking post-archetype-generation goals: compile' ) : 'post-archetype-generation invocation not recorder in log'
+assert buildLog.contains( '[INFO] [INFO]' ) : 'output of post-archetype-generation should be present in log'
+
diff --git a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/pom.xml b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/pom.xml
index b7ae168f..9d90bf78 100644
--- a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/pom.xml
+++ b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/pom.xml
@@ -56,8 +56,8 @@ under the License.
             <properties>
               <maven.compiler.source>${maven.compiler.source}</maven.compiler.source>
               <maven.compiler.target>${maven.compiler.target}</maven.compiler.target>
-
             </properties>
+            <streamLogs>false</streamLogs>
           </configuration>
         </plugin>
         <plugin>
diff --git a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/test-settings.xml b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/test-settings.xml
index ab9e16e4..cb295a6b 100644
--- a/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/test-settings.xml
+++ b/maven-archetype-plugin/src/it/projects/ARCHETYPE-622_main_build_settings/test-settings.xml
@@ -32,9 +32,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </repository>
       </repositories>
@@ -44,9 +46,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
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 272ea5a5..363e7a84 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
@@ -21,24 +21,27 @@
 import java.io.*
 import org.codehaus.plexus.util.*
 
-def basedir = new File(basedir, "target/test-classes/projects/basic/project/basic")
-assert basedir.exists() : "${basedir} is missing."
+def basedirTargetProject = new File(basedir, "target/test-classes/projects/basic/project/basic")
+assert basedirTargetProject.exists() : "${basedirTargetProject} is missing."
 
-def main = new File(basedir, "src/main")
+def main = new File(basedirTargetProject, "src/main")
 def app = new File(main, "java/build/archetype/App.java")
 // check <fileset packaged="true">
 assert app.isFile() : "${app} file is missing or not a file."
 
-def buildLog = new File(basedir, "build.log")
-def content = FileUtils.fileRead(buildLog, "UTF-8")
+def buildLog = new File(basedirTargetProject, "build.log").text
 
-assert content.contains("Archetype tests executed!") :
+assert buildLog.contains("Archetype tests executed!") :
  "build.log missing System.out.println from verify.groovy"
 // we expect the archetype:integration-test to use the settings.xml from the main Maven build - so downloading should happen
 // also from local.central specified in the test-settings.xml
-assert content.contains("local.central (file://") :
+assert buildLog.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/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}"
+assert buildLog.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: ${buildLog}"
 
+
+def mainBuildLog = new File( basedir, "../../logs/ARCHETYPE-622_main_build_settings/build.log" ).text
+assert mainBuildLog.contains('[INFO] Invoking post-archetype-generation goals: compile') : 'post-archetype-generation invocation not recorder in log'
+assert !mainBuildLog.contains('[INFO] [INFO]') : 'output of post-archetype-generation should not be present in log'
\ No newline at end of file
diff --git a/maven-archetype-plugin/src/it/projects/build-and-run-its/test-settings.xml b/maven-archetype-plugin/src/it/projects/build-and-run-its/test-settings.xml
index ab9e16e4..cb295a6b 100644
--- a/maven-archetype-plugin/src/it/projects/build-and-run-its/test-settings.xml
+++ b/maven-archetype-plugin/src/it/projects/build-and-run-its/test-settings.xml
@@ -32,9 +32,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </repository>
       </repositories>
@@ -44,9 +46,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
diff --git a/maven-archetype-plugin/src/it/projects/build-archetype/test-settings.xml b/maven-archetype-plugin/src/it/projects/build-archetype/test-settings.xml
index ab9e16e4..cb295a6b 100644
--- a/maven-archetype-plugin/src/it/projects/build-archetype/test-settings.xml
+++ b/maven-archetype-plugin/src/it/projects/build-archetype/test-settings.xml
@@ -32,9 +32,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </repository>
       </repositories>
@@ -44,9 +46,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
diff --git a/maven-archetype-plugin/src/it/projects/build-ignore-eol/test-settings.xml b/maven-archetype-plugin/src/it/projects/build-ignore-eol/test-settings.xml
index ab9e16e4..cb295a6b 100644
--- a/maven-archetype-plugin/src/it/projects/build-ignore-eol/test-settings.xml
+++ b/maven-archetype-plugin/src/it/projects/build-ignore-eol/test-settings.xml
@@ -32,9 +32,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </repository>
       </repositories>
@@ -44,9 +46,11 @@ under the License.
           <url>@localRepositoryUrl@</url>
           <releases>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
+            <checksumPolicy>ignore</checksumPolicy>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/FileLogger.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/FileLogger.java
index 18332eff..a02ec3e0 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/FileLogger.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/FileLogger.java
@@ -40,18 +40,14 @@ package org.apache.maven.archetype.mojos;
 import java.io.File;
 import java.io.IOException;
 
+import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.shared.invoker.InvocationOutputHandler;
-import org.apache.maven.shared.scriptinterpreter.ExecutionLogger;
-import org.apache.maven.shared.scriptinterpreter.FileLoggerMirrorHandler;
-import org.slf4j.Logger;
 
 /**
  * @since 2.2
  */
-class FileLogger extends org.apache.maven.shared.scriptinterpreter.FileLogger
-        implements InvocationOutputHandler, ExecutionLogger, FileLoggerMirrorHandler {
+class FileLogger extends org.apache.maven.shared.scriptinterpreter.FileLogger implements InvocationOutputHandler {
 
-    Logger logger;
     /**
      * Creates a new logger that writes to the specified file.
      *
@@ -69,13 +65,7 @@ class FileLogger extends org.apache.maven.shared.scriptinterpreter.FileLogger
      * @param log The mojo logger to additionally output messages to, may be <code>null</code> if not used.
      * @throws java.io.IOException If the output file could not be created.
      */
-    FileLogger(File outputFile, Logger log) throws IOException {
-        super(outputFile);
-        logger = log;
-    }
-
-    @Override
-    public void consumeOutput(String message) {
-        logger.info(message);
+    FileLogger(File outputFile, Log log) throws IOException {
+        super(outputFile, log::info);
     }
 }
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 4543ed4c..8b2de572 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
@@ -69,7 +69,6 @@ import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
 import org.codehaus.plexus.util.xml.XmlStreamReader;
 import org.codehaus.plexus.util.xml.XmlStreamWriter;
-import org.slf4j.LoggerFactory;
 
 /**
  * <p>Execute the archetype integration tests, consisting in generating projects from the current archetype and optionally
@@ -588,7 +587,6 @@ public class IntegrationTestMojo extends AbstractMojo {
 
             if (logger != null) {
                 request.setErrorHandler(logger);
-
                 request.setOutputHandler(logger);
             }
 
@@ -659,7 +657,7 @@ public class IntegrationTestMojo extends AbstractMojo {
             File outputLog = new File(basedir, "build.log");
 
             if (streamLogs) {
-                logger = new FileLogger(outputLog, LoggerFactory.getLogger(getClass()));
+                logger = new FileLogger(outputLog, getLog());
             } else {
                 logger = new FileLogger(outputLog);
             }