You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2005/10/08 05:07:05 UTC
svn commit: r307245 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/extension/
maven-core/src/main/java/org/apache/maven/plugin/
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/...
Author: brett
Date: Fri Oct 7 20:06:54 2005
New Revision: 307245
URL: http://svn.apache.org/viewcvs?rev=307245&view=rev
Log:
PR: MNG-950
use active project artifacts for extensions and plugin dependencies
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=307245&r1=307244&r2=307245&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Oct 7 20:06:54 2005
@@ -70,6 +70,9 @@
for ( Iterator i = result.getArtifacts().iterator(); i.hasNext(); )
{
Artifact a = (Artifact) i.next();
+
+ a = project.replaceWithActiveArtifact( a );
+
container.addJarResource( a.getFile() );
}
}
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=307245&r1=307244&r2=307245&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Fri Oct 7 20:06:54 2005
@@ -49,7 +49,6 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.artifact.ActiveProjectArtifact;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.reporting.MavenReport;
@@ -259,30 +258,7 @@
ArtifactRepository localRepository )
throws ArtifactResolutionException, PluginManagerException, ArtifactNotFoundException
{
- // TODO: share with MMS? Not sure if it belongs here
- if ( project.getProjectReferences() != null && !project.getProjectReferences().isEmpty() )
- {
- // TODO: use MavenProject getProjectReferenceId
- String refId = plugin.getGroupId() + ":" + plugin.getArtifactId();
- MavenProject ref = (MavenProject) project.getProjectReferences().get( refId );
- if ( ref != null && ref.getArtifact() != null )
- {
- // TODO: if not matching, we should get the correct artifact from that project (attached)
- if ( ref.getArtifact().getDependencyConflictId().equals( pluginArtifact.getDependencyConflictId() ) )
- {
- // if the project artifact doesn't exist, don't use it. We haven't built that far.
- if ( ref.getArtifact().getFile() != null && ref.getArtifact().getFile().exists() )
- {
- pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact );
- }
- else
- {
- getLogger().warn( "Plugin found in the reactor has not been built when it's use was attempted" +
- " - resolving from the repository instead" );
- }
- }
- }
- }
+ pluginArtifact = project.replaceWithActiveArtifact( pluginArtifact );
artifactResolver.resolve( pluginArtifact, project.getPluginArtifactRepositories(), localRepository );
@@ -318,7 +294,7 @@
try
{
Set artifacts = MavenMetadataSource.createArtifacts( artifactFactory, plugin.getDependencies(), null, null,
- project.getProjectReferences() );
+ project );
addedPlugin.setIntroducedDependencyArtifacts( artifacts );
}
catch ( InvalidVersionSpecificationException e )
@@ -630,6 +606,8 @@
if ( !artifact.equals( pluginArtifact ) )
{
+ artifact = project.replaceWithActiveArtifact( artifact );
+
pluginContainer.addJarResource( artifact.getFile() );
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=307245&r1=307244&r2=307245&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Fri Oct 7 20:06:54 2005
@@ -45,6 +45,7 @@
import org.apache.maven.model.Resource;
import org.apache.maven.model.Scm;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.project.artifact.ActiveProjectArtifact;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.project.overlay.BuildOverlay;
import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -1408,7 +1409,7 @@
throws InvalidVersionSpecificationException
{
return MavenMetadataSource.createArtifacts( artifactFactory, getDependencies(), inheritedScope,
- dependencyFilter, projectReferences );
+ dependencyFilter, this );
}
public void addProjectReference( MavenProject project )
@@ -1453,5 +1454,35 @@
public String getDefaultGoal()
{
return getBuild() != null ? getBuild().getDefaultGoal() : null;
+ }
+
+ public Artifact replaceWithActiveArtifact( Artifact pluginArtifact )
+ {
+ if ( getProjectReferences() != null && !getProjectReferences().isEmpty() )
+ {
+ // TODO: use MavenProject getProjectReferenceId
+ String refId = pluginArtifact.getGroupId() + ":" + pluginArtifact.getArtifactId();
+ MavenProject ref = (MavenProject) getProjectReferences().get( refId );
+ if ( ref != null && ref.getArtifact() != null )
+ {
+ // TODO: if not matching, we should get the correct artifact from that project (attached)
+ if ( ref.getArtifact().getDependencyConflictId().equals( pluginArtifact.getDependencyConflictId() ) )
+ {
+ // if the project artifact doesn't exist, don't use it. We haven't built that far.
+ if ( ref.getArtifact().getFile() != null && ref.getArtifact().getFile().exists() )
+ {
+ pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact );
+ }
+ else
+ {
+/* TODO...
+ logger.warn( "Artifact found in the reactor has not been built when it's use was " +
+ "attempted - resolving from the repository instead" );
+*/
+ }
+ }
+ }
+ }
+ return pluginArtifact;
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=307245&r1=307244&r2=307245&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Fri Oct 7 20:06:54 2005
@@ -18,7 +18,6 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.metadata.ResolutionGroup;
@@ -57,7 +56,6 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
/**
@@ -259,7 +257,7 @@
}
public static Set createArtifacts( ArtifactFactory artifactFactory, List dependencies, String inheritedScope,
- ArtifactFilter dependencyFilter, Map projectReferences )
+ ArtifactFilter dependencyFilter, MavenProject project )
throws InvalidVersionSpecificationException
{
Set projectArtifacts = new HashSet( dependencies.size() );
@@ -315,20 +313,9 @@
artifact.setDependencyFilter( dependencyFilter );
- if ( projectReferences != null )
+ if ( project != null )
{
- // TODO: use MavenProject getProjectReferenceId
- String refId = d.getGroupId() + ":" + d.getArtifactId();
- MavenProject project = (MavenProject) projectReferences.get( refId );
- if ( project != null && project.getArtifact() != null )
- {
- // TODO: if not matching, we should get the correct artifact from that project (attached)
- if ( project.getArtifact().getDependencyConflictId().equals(
- artifact.getDependencyConflictId() ) )
- {
- artifact = new ActiveProjectArtifact( project, artifact );
- }
- }
+ artifact = project.replaceWithActiveArtifact( artifact );
}
projectArtifacts.add( artifact );
@@ -363,21 +350,6 @@
}
return versions;
- }
-
- private Metadata loadMetadata( ArtifactMetadata repoMetadata, ArtifactRepository remoteRepository,
- ArtifactRepository localRepository )
- throws ArtifactMetadataRetrievalException
- {
- File metadataFile = new File( localRepository.getBasedir(),
- localRepository.pathOfLocalRepositoryMetadata( repoMetadata, remoteRepository ) );
-
- Metadata metadata = null;
- if ( metadataFile.exists() )
- {
- metadata = readMetadata( metadataFile );
- }
- return metadata;
}
/**