You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/02/28 15:20:14 UTC
svn commit: r512763 - in /maven/components/trunk: maven-embedder/
maven-project/ maven-project/src/main/java/org/apache/maven/
maven-project/src/main/resources/META-INF/plexus/ maven-tools/
Author: jvanzyl
Date: Wed Feb 28 06:20:13 2007
New Revision: 512763
URL: http://svn.apache.org/viewvc?view=rev&rev=512763
Log:
o remove maven-tools and put the utility code in the only module that now depends on it, maven-project
Added:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java (with props)
maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java (with props)
Removed:
maven/components/trunk/maven-tools/
Modified:
maven/components/trunk/maven-embedder/pom.xml
maven/components/trunk/maven-project/pom.xml
maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
Modified: maven/components/trunk/maven-embedder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/pom.xml?view=diff&rev=512763&r1=512762&r2=512763
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Wed Feb 28 06:20:13 2007
@@ -61,11 +61,6 @@
<artifactId>plexus-container-default</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-tools</artifactId>
- <version>2.1-SNAPSHOT</version>
- </dependency>
- <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
Modified: maven/components/trunk/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/pom.xml?view=diff&rev=512763&r1=512762&r2=512763
==============================================================================
--- maven/components/trunk/maven-project/pom.xml (original)
+++ maven/components/trunk/maven-project/pom.xml Wed Feb 28 06:20:13 2007
@@ -66,11 +66,6 @@
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-tools</artifactId>
- <version>2.1-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>2.1-SNAPSHOT</version>
</dependency>
Added: maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java?view=auto&rev=512763
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java (added)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java Wed Feb 28 06:20:13 2007
@@ -0,0 +1,167 @@
+package org.apache.maven;
+
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.model.DeploymentRepository;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.RepositoryBase;
+import org.apache.maven.model.RepositoryPolicy;
+import org.apache.maven.settings.MavenSettingsBuilder;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.io.jdom.SettingsJDOMWriter;
+import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
+import org.apache.maven.settings.validation.SettingsValidationResult;
+import org.apache.maven.settings.validation.SettingsValidator;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.output.Format;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/** @author Jason van Zyl */
+public class DefaultMavenTools
+ implements MavenTools, Contextualizable
+{
+ private ArtifactRepositoryLayout repositoryLayout;
+
+ private ArtifactRepositoryFactory artifactRepositoryFactory;
+
+ private PlexusContainer container;
+
+ // ----------------------------------------------------------------------------
+ // Code snagged from ProjectUtils: this will have to be moved somewhere else
+ // but just trying to collect it all in one place right now.
+ // ----------------------------------------------------------------------------
+
+ public List buildArtifactRepositories( List repositories )
+ throws InvalidRepositoryException
+ {
+ List repos = new ArrayList();
+
+ for ( Iterator i = repositories.iterator(); i.hasNext(); )
+ {
+ Repository mavenRepo = (Repository) i.next();
+
+ ArtifactRepository artifactRepo = buildArtifactRepository( mavenRepo );
+
+ if ( !repos.contains( artifactRepo ) )
+ {
+ repos.add( artifactRepo );
+ }
+ }
+ return repos;
+ }
+
+ public ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo )
+ throws InvalidRepositoryException
+ {
+ if ( repo != null )
+ {
+ String id = repo.getId();
+ String url = repo.getUrl();
+
+ // TODO: make this a map inside the factory instead, so no lookup needed
+ ArtifactRepositoryLayout layout = getRepositoryLayout( repo );
+
+ return artifactRepositoryFactory.createDeploymentArtifactRepository( id, url, layout,
+ repo.isUniqueVersion() );
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public ArtifactRepository buildArtifactRepository( Repository repo )
+ throws InvalidRepositoryException
+ {
+ if ( repo != null )
+ {
+ String id = repo.getId();
+ String url = repo.getUrl();
+
+ // TODO: make this a map inside the factory instead, so no lookup needed
+ ArtifactRepositoryLayout layout = getRepositoryLayout( repo );
+
+ ArtifactRepositoryPolicy snapshots = buildArtifactRepositoryPolicy( repo.getSnapshots() );
+
+ ArtifactRepositoryPolicy releases = buildArtifactRepositoryPolicy( repo.getReleases() );
+
+ return artifactRepositoryFactory.createArtifactRepository( id, url, layout, snapshots, releases );
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public ArtifactRepositoryPolicy buildArtifactRepositoryPolicy( RepositoryPolicy policy )
+ {
+ boolean enabled = true;
+
+ String updatePolicy = null;
+
+ String checksumPolicy = null;
+
+ if ( policy != null )
+ {
+ enabled = policy.isEnabled();
+
+ if ( policy.getUpdatePolicy() != null )
+ {
+ updatePolicy = policy.getUpdatePolicy();
+ }
+ if ( policy.getChecksumPolicy() != null )
+ {
+ checksumPolicy = policy.getChecksumPolicy();
+ }
+ }
+
+ return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy );
+ }
+
+ private ArtifactRepositoryLayout getRepositoryLayout( RepositoryBase mavenRepo )
+ throws InvalidRepositoryException
+ {
+ String layout = mavenRepo.getLayout();
+
+ ArtifactRepositoryLayout repositoryLayout;
+ try
+ {
+ repositoryLayout = (ArtifactRepositoryLayout) container.lookup( ArtifactRepositoryLayout.ROLE, layout );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new InvalidRepositoryException( "Cannot find layout implementation corresponding to: \'" + layout +
+ "\' for remote repository with id: \'" + mavenRepo.getId() + "\'.", e );
+ }
+ return repositoryLayout;
+ }
+
+ // ----------------------------------------------------------------------------
+ // Lifecycle
+ // ----------------------------------------------------------------------------
+
+ public void contextualize( Context context )
+ throws ContextException
+ {
+ container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ }
+}
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java?view=auto&rev=512763
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java (added)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java Wed Feb 28 06:20:13 2007
@@ -0,0 +1,34 @@
+package org.apache.maven;
+
+import org.apache.maven.artifact.InvalidRepositoryException;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.DeploymentRepository;
+import org.apache.maven.model.Repository;
+import org.apache.maven.settings.Settings;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.List;
+
+/**
+ * @author Jason van Zyl
+ */
+public interface MavenTools
+{
+ String ROLE = MavenTools.class.getName();
+
+ // ----------------------------------------------------------------------------
+ // Methods taken from ProjectUtils
+ // ----------------------------------------------------------------------------
+
+ List buildArtifactRepositories( List repositories )
+ throws InvalidRepositoryException;
+
+ ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo )
+ throws InvalidRepositoryException;
+
+ ArtifactRepository buildArtifactRepository( Repository repo )
+ throws InvalidRepositoryException;
+}
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=512763&r1=512762&r2=512763
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Wed Feb 28 06:20:13 2007
@@ -309,5 +309,20 @@
</requirement>
</requirements>
</component>
+
+ <component>
+ <role>org.apache.maven.MavenTools</role>
+ <implementation>org.apache.maven.DefaultMavenTools</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
+ <role-hint>default</role-hint>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
+ </requirement>
+ </requirements>
+ </component>
+
</components>
</component-set>