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/07 10:03:44 UTC
svn commit: r307047 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/plugin/
maven-core/src/main/java/org/apache/maven/plugin/version/
maven-plugins/maven-project-info-reports-plugin/
maven-plugins/maven-project-info-reports-plug...
Author: brett
Date: Fri Oct 7 01:03:25 2005
New Revision: 307047
URL: http://svn.apache.org/viewcvs?rev=307047&view=rev
Log:
PR: MNG-1108
don't resolve a default POM for a parent or dependency of type POM
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.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/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=307047&r1=307046&r2=307047&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 01:03:25 2005
@@ -231,7 +231,7 @@
Artifact artifact = artifactFactory.createProjectArtifact( plugin.getGroupId(), plugin.getArtifactId(),
plugin.getVersion() );
MavenProject project = mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
- localRepository );
+ localRepository, false );
// if we don't have the required Maven version, then ignore an update
if ( project.getPrerequisites() != null && project.getPrerequisites().getMaven() != null )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=307047&r1=307046&r2=307047&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Fri Oct 7 01:03:25 2005
@@ -92,12 +92,12 @@
{
// before we do anything else, if this is a self-reference we need to short-circuit the resolution process.
String projectKey = constructPluginKey( project.getGroupId(), project.getArtifactId() );
-
+
if ( projectKey.equals( constructPluginKey( groupId, artifactId ) ) )
{
return project.getVersion();
}
-
+
// first pass...if the plugin is specified in the pom, try to retrieve the version from there.
String version = getVersionFromPluginConfig( groupId, artifactId, project, resolveAsReportPlugin );
@@ -595,8 +595,9 @@
}
catch ( IOException e )
{
- getLogger().warn( "Cannot rewrite user-level plugin-registry.xml with new plugin version of plugin: \'"
- + groupId + ":" + artifactId + "\'.", e );
+ getLogger().warn(
+ "Cannot rewrite user-level plugin-registry.xml with new plugin version of plugin: \'" + groupId +
+ ":" + artifactId + "\'.", e );
}
finally
{
@@ -653,7 +654,7 @@
if ( artifact.getFile() != null )
{
MavenProject project = mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
- localRepository );
+ localRepository, false );
boolean pluginValid = true;
@@ -672,7 +673,7 @@
}
String artifactVersion = artifact.getVersion();
-
+
if ( pluginValid && !metaVersionId.equals( artifactVersion ) )
{
version = artifactVersion;
Modified: maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/pom.xml?rev=307047&r1=307046&r2=307047&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/pom.xml Fri Oct 7 01:03:25 2005
@@ -2,7 +2,7 @@
<parent>
<artifactId>maven-plugin-parent</artifactId>
<groupId>org.apache.maven.plugins</groupId>
- <version>2.0-beta-1</version>
+ <version>2.0-beta-4-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-project-info-reports-plugin</artifactId>
@@ -10,6 +10,9 @@
<name>Maven Project Info Reports Plugin</name>
<version>2.0-beta-2-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
+ <prerequisites>
+ <maven>2.0-beta-4-SNAPSHOT</maven>
+ </prerequisites>
<developers>
<developer>
<id>vsiveton</id>
Modified: maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java?rev=307047&r1=307046&r2=307047&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java (original)
+++ maven/components/trunk/maven-plugins/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java Fri Oct 7 01:03:25 2005
@@ -351,16 +351,18 @@
{
Artifact projectArtifact = artifact;
+ boolean allowStubModel = false;
if ( !"pom".equals( artifact.getType() ) )
{
projectArtifact = artifactFactory.createProjectArtifact( artifact.getGroupId(),
artifact.getArtifactId(),
artifact.getVersion(), artifact.getScope() );
+ allowStubModel = true;
}
// TODO: we should use the MavenMetadataSource instead
- return mavenProjectBuilder.buildFromRepository( projectArtifact, project.getRepositories(),
- localRepository );
+ return mavenProjectBuilder.buildFromRepository( projectArtifact, project.getRepositories(), localRepository,
+ allowStubModel );
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=307047&r1=307046&r2=307047&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Oct 7 01:03:25 2005
@@ -306,6 +306,13 @@
ArtifactRepository localRepository )
throws ProjectBuildingException
{
+ return buildFromRepository( artifact, remoteArtifactRepositories, localRepository, true );
+ }
+
+ public MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories,
+ ArtifactRepository localRepository, boolean allowStubModel )
+ throws ProjectBuildingException
+ {
String cacheKey = createCacheKey( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
MavenProject project = (MavenProject) projectCache.get( cacheKey );
if ( project != null )
@@ -313,14 +320,14 @@
return project;
}
- Model model = findModelFromRepository( artifact, remoteArtifactRepositories, localRepository );
+ Model model = findModelFromRepository( artifact, remoteArtifactRepositories, localRepository, allowStubModel );
return build( "Artifact [" + artifact.getId() + "]", model, localRepository, remoteArtifactRepositories, null,
null );
}
private Model findModelFromRepository( Artifact artifact, List remoteArtifactRepositories,
- ArtifactRepository localRepository )
+ ArtifactRepository localRepository, boolean allowStubModel )
throws ProjectBuildingException
{
Artifact projectArtifact;
@@ -349,6 +356,7 @@
artifactResolver.resolve( projectArtifact, remoteArtifactRepositories, localRepository );
File file = projectArtifact.getFile();
+ // TODO: how can this not be true?
if ( projectArtifact.isResolved() )
{
model = readModel( file );
@@ -408,10 +416,14 @@
projectArtifact.setDownloadUrl( model.getUrl() );
}
}
- else
+ else if ( allowStubModel )
{
model = createStubModel( projectArtifact );
}
+ else
+ {
+ throw new ProjectBuildingException( "POM could not be resolved from the repository" );
+ }
}
catch ( ArtifactResolutionException e )
{
@@ -419,7 +431,14 @@
}
catch ( ArtifactNotFoundException e )
{
- model = createStubModel( projectArtifact );
+ if ( allowStubModel )
+ {
+ model = createStubModel( projectArtifact );
+ }
+ else
+ {
+ throw new ProjectBuildingException( "POM not found in repository", e );
+ }
}
}
else
@@ -854,7 +873,7 @@
// we can't query the parent to ask where it is :)
List remoteRepositories = new ArrayList( aggregatedRemoteWagonRepositories );
remoteRepositories.addAll( parentSearchRepositories );
- model = findModelFromRepository( parentArtifact, remoteRepositories, localRepository );
+ model = findModelFromRepository( parentArtifact, remoteRepositories, localRepository, false );
}
File parentProjectDir = null;
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=307047&r1=307046&r2=307047&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Fri Oct 7 01:03:25 2005
@@ -68,6 +68,20 @@
ArtifactRepository localRepository )
throws ProjectBuildingException;
+ /**
+ * Build the artifact from the local repository, resolving it if necessary.
+ *
+ * @param artifact the artifact description
+ * @param localRepository the local repository
+ * @param remoteArtifactRepositories the remote repository list
+ * @param allowStubModel return a stub if the POM is not found
+ * @return the built project
+ * @throws ProjectBuildingException
+ */
+ MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories,
+ ArtifactRepository localRepository, boolean allowStubModel )
+ throws ProjectBuildingException;
+
MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository )
throws ProjectBuildingException;
}
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=307047&r1=307046&r2=307047&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 01:03:25 2005
@@ -106,8 +106,8 @@
{
try
{
- project = mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories,
- localRepository );
+ project = mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, localRepository,
+ true );
}
catch ( InvalidModelException e )
{