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