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

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

commit e1feeca2ae5adbfeaeb762d3b8f98f62897dc50f
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Sat Oct 7 17:05:36 2023 -0300

    [ARCHETYPE-651] add INFO when catalog updated
---
 .../src/main/java/org/apache/maven/archetype/ArchetypeManager.java | 2 +-
 .../java/org/apache/maven/archetype/DefaultArchetypeManager.java   | 6 ++++--
 .../org/apache/maven/archetype/source/ArchetypeDataSource.java     | 4 +++-
 .../maven/archetype/source/InternalCatalogArchetypeDataSource.java | 3 ++-
 .../maven/archetype/source/LocalCatalogArchetypeDataSource.java    | 3 ++-
 .../maven/archetype/source/RemoteCatalogArchetypeDataSource.java   | 2 +-
 .../org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java   | 7 ++++++-
 7 files changed, 19 insertions(+), 8 deletions(-)

diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeManager.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeManager.java
index 8b45f73d..866e4d8b 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeManager.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeManager.java
@@ -89,5 +89,5 @@ public interface ArchetypeManager {
     File archiveArchetype(File archetypeDirectory, File outputDirectory, 
String finalName)
             throws DependencyResolutionRequiredException, IOException;
 
-    void updateLocalCatalog(ProjectBuildingRequest buildingRequest, Archetype 
archetype);
+    File updateLocalCatalog(ProjectBuildingRequest buildingRequest, Archetype 
archetype);
 }
diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
index aa3eaa08..97906642 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
@@ -169,12 +169,14 @@ public class DefaultArchetypeManager extends 
AbstractLogEnabled implements Arche
     }
 
     @Override
-    public void updateLocalCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype) {
+    public File updateLocalCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype) {
         try {
             ArchetypeDataSource source = archetypeSources.get("catalog");
 
-            source.updateCatalog(buildingRequest, archetype);
+            return source.updateCatalog(buildingRequest, archetype);
         } catch (ArchetypeDataSourceException e) {
+            getLogger().warn("failed to update catalog", e);
         }
+        return null;
     }
 }
diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/ArchetypeDataSource.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/ArchetypeDataSource.java
index 65bc5987..86b62590 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/ArchetypeDataSource.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/ArchetypeDataSource.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.archetype.source;
 
+import java.io.File;
+
 import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.project.ProjectBuildingRequest;
@@ -36,5 +38,5 @@ public interface ArchetypeDataSource {
 
     ArchetypeCatalog getArchetypeCatalog(ProjectBuildingRequest 
buildingRequest) throws ArchetypeDataSourceException;
 
-    void updateCatalog(ProjectBuildingRequest buildingRequest, Archetype 
archetype) throws ArchetypeDataSourceException;
+    File updateCatalog(ProjectBuildingRequest buildingRequest, Archetype 
archetype) throws ArchetypeDataSourceException;
 }
diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java
index 0cc4fc40..c2288fe8 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/InternalCatalogArchetypeDataSource.java
@@ -18,6 +18,7 @@
  */
 package org.apache.maven.archetype.source;
 
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Reader;
@@ -48,7 +49,7 @@ public class InternalCatalogArchetypeDataSource extends 
CatalogArchetypeDataSour
     }
 
     @Override
-    public void updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
+    public File updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
             throws ArchetypeDataSourceException {
         throw new ArchetypeDataSourceException("Not supported yet.");
     }
diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java
index ae9b04e1..6d84b9b2 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/LocalCatalogArchetypeDataSource.java
@@ -37,7 +37,7 @@ public class LocalCatalogArchetypeDataSource extends 
CatalogArchetypeDataSource
     private RepositoryManager repositoryManager;
 
     @Override
-    public void updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
+    public File updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
             throws ArchetypeDataSourceException {
         File localRepo = 
repositoryManager.getLocalRepositoryBasedir(buildingRequest);
 
@@ -83,6 +83,7 @@ public class LocalCatalogArchetypeDataSource extends 
CatalogArchetypeDataSource
         newArchetype.setGoals(archetype.getGoals());
 
         writeLocalCatalog(catalog, catalogFile);
+        return catalogFile;
     }
 
     @Override
diff --git 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
index 704e002c..1f30f7c6 100644
--- 
a/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
+++ 
b/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
@@ -119,7 +119,7 @@ public class RemoteCatalogArchetypeDataSource extends 
CatalogArchetypeDataSource
     }
 
     @Override
-    public void updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
+    public File updateCatalog(ProjectBuildingRequest buildingRequest, 
Archetype archetype)
             throws ArchetypeDataSourceException {
         throw new ArchetypeDataSourceException("Not supported yet.");
     }
diff --git 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java
 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java
index 264c82c1..1a03d2bd 100644
--- 
a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java
+++ 
b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.maven.archetype.mojos;
 
+import java.io.File;
+
 import org.apache.maven.archetype.ArchetypeManager;
 import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.common.Constants;
@@ -68,6 +70,9 @@ public class UpdateLocalCatalogMojo extends AbstractMojo {
             archetype.setDescription(project.getName());
         }
 
-        manager.updateLocalCatalog(session.getProjectBuildingRequest(), 
archetype);
+        File catalog = 
manager.updateLocalCatalog(session.getProjectBuildingRequest(), archetype);
+        if (catalog != null) {
+            getLog().info("Updated local archetypes catalog " + catalog);
+        }
     }
 }

Reply via email to