You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2017/01/28 12:46:15 UTC

[2/6] maven-archetype git commit: UpdateCatalog now uses projectBuildingRequest with actual localRepository

UpdateCatalog now uses projectBuildingRequest with actual localRepository


Project: http://git-wip-us.apache.org/repos/asf/maven-archetype/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-archetype/commit/7571fa59
Tree: http://git-wip-us.apache.org/repos/asf/maven-archetype/tree/7571fa59
Diff: http://git-wip-us.apache.org/repos/asf/maven-archetype/diff/7571fa59

Branch: refs/heads/master
Commit: 7571fa59ca01aafe3ae19243930a8e2dc4d0c3d0
Parents: 1263477
Author: rfscholte <rf...@apache.org>
Authored: Fri Jan 27 15:52:49 2017 +0100
Committer: rfscholte <rf...@apache.org>
Committed: Fri Jan 27 15:52:49 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/archetype/ArchetypeManager.java  |  5 ++---
 .../maven/archetype/DefaultArchetypeManager.java  | 12 +++---------
 .../archetype/source/ArchetypeDataSource.java     |  3 ++-
 .../source/CatalogArchetypeDataSource.java        | 18 +++++++++++-------
 .../source/RemoteCatalogArchetypeDataSource.java  |  3 ++-
 .../archetype/source/WikiArchetypeDataSource.java |  3 ++-
 .../archetype/mojos/UpdateLocalCatalogMojo.java   |  7 +++++--
 7 files changed, 27 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeManager.java
----------------------------------------------------------------------
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 8985b8f..f14f8a8 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
@@ -22,6 +22,7 @@ package org.apache.maven.archetype;
 import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.project.ProjectBuildingRequest;
 
 import java.io.File;
 import java.io.IOException;
@@ -103,7 +104,5 @@ public interface ArchetypeManager
     File archiveArchetype( File archetypeDirectory, File outputDirectory, String finalName )
         throws DependencyResolutionRequiredException, IOException;
 
-    void updateLocalCatalog( Archetype archetype, String path );
-
-    void updateLocalCatalog( Archetype archetype );
+    void updateLocalCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype );
 }

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/main/java/org/apache/maven/archetype/DefaultArchetypeManager.java
----------------------------------------------------------------------
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 da8207c..cd2f216 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
@@ -26,6 +26,7 @@ import org.apache.maven.archetype.generator.ArchetypeGenerator;
 import org.apache.maven.archetype.source.ArchetypeDataSource;
 import org.apache.maven.archetype.source.ArchetypeDataSourceException;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -221,20 +222,13 @@ public class DefaultArchetypeManager
         }
     }
 
-    public void updateLocalCatalog( Archetype archetype )
-    {
-        updateLocalCatalog( archetype, "${user.home}/.m2/archetype-catalog.xml" );
-    }
-
-    public void updateLocalCatalog( Archetype archetype, String path )
+    public void updateLocalCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
     {
         try
         {
-            Properties properties = new Properties();
-            properties.setProperty( "file", path );
             ArchetypeDataSource source = archetypeSources.get( "catalog" );
 
-            source.updateCatalog( properties, archetype );
+            source.updateCatalog( buildingRequest, archetype );
         }
         catch ( ArchetypeDataSourceException e )
         {

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/main/java/org/apache/maven/archetype/source/ArchetypeDataSource.java
----------------------------------------------------------------------
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 7ce941e..dc87a69 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
@@ -21,6 +21,7 @@ package org.apache.maven.archetype.source;
 
 import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
+import org.apache.maven.project.ProjectBuildingRequest;
 
 import java.util.Properties;
 
@@ -40,6 +41,6 @@ public interface ArchetypeDataSource
     ArchetypeCatalog getArchetypeCatalog( Properties properties )
         throws ArchetypeDataSourceException;
 
-    void updateCatalog( Properties properties, Archetype archetype )
+    void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
         throws ArchetypeDataSourceException;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
index 54375f9..4acdd44 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
@@ -23,7 +23,10 @@ import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Reader;
 import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.shared.repository.RepositoryManager;
 import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
@@ -47,6 +50,9 @@ public class CatalogArchetypeDataSource
     extends AbstractLogEnabled
     implements ArchetypeDataSource
 {
+    @Requirement
+    private RepositoryManager repositoryManager;
+    
     public static final String ARCHETYPE_CATALOG_PROPERTY = "file";
 
     public static final String ARCHETYPE_CATALOG_FILENAME = "archetype-catalog.xml";
@@ -57,16 +63,14 @@ public class CatalogArchetypeDataSource
 
     public static final File DEFAULT_ARCHETYPE_CATALOG = new File( MAVEN_CONFIGURATION, ARCHETYPE_CATALOG_FILENAME );
 
-    public void updateCatalog( Properties properties, Archetype archetype )
+    public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
         throws ArchetypeDataSourceException
     {
-        String s = properties.getProperty( ARCHETYPE_CATALOG_PROPERTY );
-
-        s = StringUtils.replace( s, "${user.home}", System.getProperty( "user.home" ) );
+        File localRepo = repositoryManager.getLocalRepositoryBasedir( buildingRequest );
+        
+        File catalogFile = new File( localRepo, ARCHETYPE_CATALOG_FILENAME );
 
-        getLogger().debug( "Using catalog " + s );
-
-        File catalogFile = new File( s );
+        getLogger().debug( "Using catalog " + catalogFile.getAbsolutePath() );
 
         ArchetypeCatalog catalog;
         if ( catalogFile.exists() )

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/main/java/org/apache/maven/archetype/source/RemoteCatalogArchetypeDataSource.java
----------------------------------------------------------------------
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 bc38d20..9e4e58d 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
@@ -30,6 +30,7 @@ import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Server;
 import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
@@ -110,7 +111,7 @@ public class RemoteCatalogArchetypeDataSource
         }
     }
 
-    public void updateCatalog( Properties properties, Archetype archetype )
+    public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
         throws ArchetypeDataSourceException
     {
         throw new ArchetypeDataSourceException( "Not supported yet." );

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/archetype-common/src/test/java/org/apache/maven/archetype/source/WikiArchetypeDataSource.java
----------------------------------------------------------------------
diff --git a/archetype-common/src/test/java/org/apache/maven/archetype/source/WikiArchetypeDataSource.java b/archetype-common/src/test/java/org/apache/maven/archetype/source/WikiArchetypeDataSource.java
index 2934b76..d6c4442 100644
--- a/archetype-common/src/test/java/org/apache/maven/archetype/source/WikiArchetypeDataSource.java
+++ b/archetype-common/src/test/java/org/apache/maven/archetype/source/WikiArchetypeDataSource.java
@@ -23,6 +23,7 @@ import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
 import org.apache.maven.archetype.source.ArchetypeDataSource;
 import org.apache.maven.archetype.source.ArchetypeDataSourceException;
+import org.apache.maven.project.ProjectBuildingRequest;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.util.IOUtil;
 
@@ -131,7 +132,7 @@ public class WikiArchetypeDataSource
         return archetypes;
     }
 
-    public void updateCatalog( Properties properties, Archetype archetype )
+    public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
         throws ArchetypeDataSourceException
     {
         throw new UnsupportedOperationException( "Not supported yet." );

http://git-wip-us.apache.org/repos/asf/maven-archetype/blob/7571fa59/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/UpdateLocalCatalogMojo.java
----------------------------------------------------------------------
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 c756a93..014f108 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
@@ -21,6 +21,7 @@ package org.apache.maven.archetype.mojos;
 
 import org.apache.maven.archetype.ArchetypeManager;
 import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Component;
@@ -39,7 +40,9 @@ import org.codehaus.plexus.util.StringUtils;
 public class UpdateLocalCatalogMojo
     extends AbstractMojo
 {
-
+    @Parameter( defaultValue = "${session}", readonly = true, required = true )
+    private MavenSession session;
+    
     @Component
     private ArchetypeManager manager;
 
@@ -66,6 +69,6 @@ public class UpdateLocalCatalogMojo
             archetype.setDescription( project.getName() );
         }
 
-        manager.updateLocalCatalog( archetype );
+        manager.updateLocalCatalog( session.getProjectBuildingRequest(), archetype );
     }
 }
\ No newline at end of file