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