You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/09/11 19:11:40 UTC
svn commit: r694360 - in /maven/components/trunk:
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/project/builder/impl/
maven-project/src/main/resource...
Author: sisbell
Date: Thu Sep 11 10:11:34 2008
New Revision: 694360
URL: http://svn.apache.org/viewvc?rev=694360&view=rev
Log:
Refactored out restorer class and related MavenProjectBuilder methods.
Removed:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java
Modified:
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/DefaultMavenProjectBuilder.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/MavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=694360&r1=694359&r2=694360&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 Thu Sep 11 10:11:34 2008
@@ -41,6 +41,7 @@
import org.apache.maven.lifecycle.statemgmt.StateManagementUtils;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.Model;
import org.apache.maven.monitor.event.EventDispatcher;
import org.apache.maven.monitor.event.MavenEvents;
import org.apache.maven.monitor.logging.DefaultLog;
@@ -56,6 +57,7 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.ModelUtils;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.project.interpolation.ModelInterpolationException;
@@ -89,6 +91,7 @@
import java.io.IOException;
import java.io.StringReader;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -516,14 +519,16 @@
if ( !project.isConcrete() )
{
- try
- {
- mavenProjectBuilder.calculateConcreteState( project, session.getProjectBuilderConfiguration() );
- }
- catch ( ModelInterpolationException e )
- {
- throw new PluginManagerException( mojoDescriptor, project, "Failed to calculate concrete state for project.", e );
- }
+ Model model = ModelUtils.cloneModel( project.getModel() );
+
+ File basedir = project.getBasedir();
+
+ Model model2 = ModelUtils.cloneModel( model );
+ pathTranslator.alignToBaseDirectory( model, basedir );
+ project.preserveBuild( model2.getBuild() );
+
+ project.setBuild( model.getBuild() );
+ project.setConcrete( true );
}
if ( mojoDescriptor.isDependencyResolutionRequired() != null )
@@ -734,14 +739,7 @@
Thread.currentThread().setContextClassLoader( oldClassLoader );
}
- try
- {
- mavenProjectBuilder.restoreDynamicState( project, session.getProjectBuilderConfiguration() );
- }
- catch ( ModelInterpolationException e )
- {
- throw new PluginManagerException( mojoDescriptor, project, "Failed to restore dynamic state for project.", e );
- }
+ project.setConcrete( false );
}
private Plugin createDummyPlugin( PluginDescriptor pluginDescriptor )
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=694360&r1=694359&r2=694360&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 Thu Sep 11 10:11:34 2008
@@ -31,8 +31,6 @@
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginManagement;
import org.apache.maven.model.Profile;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
@@ -47,7 +45,6 @@
import org.apache.maven.project.builder.ProjectBuilder;
import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.project.interpolation.ModelInterpolator;
-import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.project.validation.ModelValidationResult;
import org.apache.maven.project.validation.ModelValidator;
import org.apache.maven.project.workspace.ProjectWorkspace;
@@ -126,8 +123,6 @@
// TODO: make it a component
private MavenXpp3Reader modelReader;
- private PathTranslator pathTranslator;
-
private ModelInterpolator modelInterpolator;
private ProfileAdvisor profileAdvisor;
@@ -299,7 +294,7 @@
MavenProject project;
try
{
- project = new MavenProject( superModel, artifactFactory, mavenTools, repositoryHelper, this, config );
+ project = new MavenProject( superModel, artifactFactory, mavenTools, this, config );
}
catch ( InvalidRepositoryException e )
{
@@ -391,20 +386,6 @@
return new MavenProjectBuildingResult( project, result );
}
- public void calculateConcreteState( MavenProject project, ProjectBuilderConfiguration config )
- throws ModelInterpolationException
- {
- new MavenProjectRestorer( pathTranslator, modelInterpolator, getLogger() ).calculateConcreteState( project,
- config );
- }
-
- public void restoreDynamicState( MavenProject project, ProjectBuilderConfiguration config )
- throws ModelInterpolationException
- {
- new MavenProjectRestorer( pathTranslator, modelInterpolator, getLogger() ).restoreDynamicState( project,
- config );
- }
-
public void enableLogging( Logger logger )
{
this.logger = logger;
@@ -482,7 +463,7 @@
model = modelInterpolator.interpolate( model, projectDir, config, getLogger().isDebugEnabled() );
// We will return a different project object using the new model (hence the need to return a project, not just modify the parameter)
- MavenProject project = new MavenProject( model, artifactFactory, mavenTools, repositoryHelper, this, config );
+ MavenProject project = new MavenProject( model, artifactFactory, mavenTools, this, config );
Artifact projectArtifact = artifactFactory.createBuildArtifact( project.getGroupId(), project.getArtifactId(),
project.getVersion(), project.getPackaging() );
@@ -502,7 +483,7 @@
Model model = getSuperModel();
try
{
- superProject = new MavenProject( model, artifactFactory, mavenTools, repositoryHelper, this, config );
+ superProject = new MavenProject( model, artifactFactory, mavenTools, this, config );
}
catch ( InvalidRepositoryException e )
{
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=694360&r1=694359&r2=694360&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 Thu Sep 11 10:11:34 2008
@@ -156,8 +156,6 @@
private Map projectReferences = new HashMap();
- private Build buildOverlay;
-
private boolean executionRoot;
private Map moduleAdjustments;
@@ -166,10 +164,6 @@
private ArtifactFactory artifactFactory;
- private MavenTools mavenTools;
-
- private RepositoryHelper repositoryHelper;
-
private MavenProjectBuilder mavenProjectBuilder;
private ProjectBuilderConfiguration projectBuilderConfiguration;
@@ -202,15 +196,12 @@
setModel( model );
}
- public MavenProject( Model model, ArtifactFactory artifactFactory, MavenTools mavenTools,
- RepositoryHelper repositoryHelper, MavenProjectBuilder mavenProjectBuilder,
+ public MavenProject( Model model, ArtifactFactory artifactFactory, MavenTools mavenTools, MavenProjectBuilder mavenProjectBuilder,
ProjectBuilderConfiguration projectBuilderConfiguration )
throws InvalidRepositoryException
{
setModel( model );
this.artifactFactory = artifactFactory;
- this.mavenTools = mavenTools;
- this.repositoryHelper = repositoryHelper;
this.mavenProjectBuilder = mavenProjectBuilder;
this.projectBuilderConfiguration = projectBuilderConfiguration;
originalModel = ModelUtils.cloneModel( model );
@@ -2048,27 +2039,6 @@
Artifact attached = (Artifact) itr.next();
if ( attached.getDependencyConflictId().equals( pluginArtifact.getDependencyConflictId() ) )
{
- /* TODO: if I use the original, I get an exception below:
- java.lang.UnsupportedOperationException: Cannot change the download information for an attached artifact. It is derived from the main artifact.
- at org.apache.maven.project.artifact.AttachedArtifact.setDownloadUrl(AttachedArtifact.java:89)
- at org.apache.maven.project.artifact.MavenMetadataSource.retrieve(MavenMetadataSource.java:205)
- at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:275)
- at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:67)
- at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:223)
- at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:211)
- at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:182)
- at org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependencies(DefaultPluginManager.java:1117)
- at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:366)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
- at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
- at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
- at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
- at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
- */
Artifact resultArtifact = ArtifactUtils.copyArtifact( attached );
resultArtifact.setScope( pluginArtifact.getScope() );
return resultArtifact;
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=694360&r1=694359&r2=694360&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 Thu Sep 11 10:11:34 2008
@@ -95,13 +95,4 @@
MavenProject buildStandaloneSuperProject( ProjectBuilderConfiguration config )
throws ProjectBuildingException;
- // ----------------------------------------------------------------------------
- // API BELOW IS USED TO PRESERVE DYNAMISM IN THE BUILD SECTION OF THE POM.
- // ----------------------------------------------------------------------------
-
- void calculateConcreteState( MavenProject project, ProjectBuilderConfiguration config )
- throws ModelInterpolationException;
-
- void restoreDynamicState( MavenProject project, ProjectBuilderConfiguration config )
- throws ModelInterpolationException;
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=694360&r1=694359&r2=694360&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Thu Sep 11 10:11:34 2008
@@ -186,7 +186,7 @@
try
{
MavenProject mavenProject = new MavenProject( transformedDomainModel.getModel(), artifactFactory,
- mavenTools, repositoryHelper, null,
+ mavenTools, null,
projectBuilderConfiguration );
mavenProject.setParentFile( parentFile );
return mavenProject;
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?rev=694360&r1=694359&r2=694360&view=diff
==============================================================================
--- 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 Thu Sep 11 10:11:34 2008
@@ -125,9 +125,6 @@
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.path.PathTranslator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java?rev=694360&r1=694359&r2=694360&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java Thu Sep 11 10:11:34 2008
@@ -44,8 +44,6 @@
private File localRepoDir;
- private DefaultMavenProjectBuilder projectBuilder;
-
@Override
public void setUp()
throws Exception
@@ -116,32 +114,6 @@
assertEquals( 2, ( (Plugin) project.getBuildPlugins().get( 0 ) ).getDependencies().size() );
}
- public void testBuildDirectoryExpressionInterpolatedWithTranslatedValue()
- throws Exception
- {
- File pom = getTestFile( "src/test/resources/projects/build-path-expression-pom.xml" );
-
- MavenProject project = getProject( pom );
-
- projectBuilder.calculateConcreteState( project, new DefaultProjectBuilderConfiguration() );
-
- Build build = project.getBuild();
- assertNotNull( "Project should have a build section containing the test resource.", build );
-
- String sourceDirectory = build.getSourceDirectory();
- assertNotNull( "Project build should contain a valid source directory.", sourceDirectory );
-
- List resources = build.getResources();
- assertNotNull( "Project should contain a build resource.", resources );
- assertEquals( "Project should contain exactly one build resource.", 1, resources.size() );
-
- Resource res = (Resource) resources.get( 0 );
- assertEquals( "Project resource should be the same directory as the source directory.",
- sourceDirectory,
- res.getDirectory() );
-
- System.out.println( "Interpolated, translated resource directory is: " + res.getDirectory() );
- }
@Override
protected ArtifactRepository getLocalRepository()
Modified: maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=694360&r1=694359&r2=694360&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Thu Sep 11 10:11:34 2008
@@ -140,9 +140,6 @@
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.path.PathTranslator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=694360&r1=694359&r2=694360&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Thu Sep 11 10:11:34 2008
@@ -17,7 +17,7 @@
under the License.
-->
-<plexus>
+<plexus> svn ci-
<components><!--Eliminate this component after Mercury Integration-->
<component>
<role>org.apache.maven.project.RepositoryHelper</role>
@@ -137,9 +137,6 @@
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.path.PathTranslator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>