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/08/13 16:47:53 UTC
svn commit: r685575 - in /maven/components/trunk:
maven-embedder/src/test/java/org/apache/maven/error/
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/project/builder/
maven-project/src/main/java/org/a...
Author: sisbell
Date: Wed Aug 13 07:47:51 2008
New Revision: 685575
URL: http://svn.apache.org/viewvc?rev=685575&view=rev
Log:
Merged back changes from sisbell-maven-2.1-profile
Added:
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/
- copied from r684975, maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/DefaultProjectWorkspaceTest.java
- copied unchanged from r684975, maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/DefaultProjectWorkspaceTest.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/ModelAndFileCachingTest.java
- copied unchanged from r684975, maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/ModelAndFileCachingTest.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/ProjectCachingTest.java
- copied unchanged from r684975, maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/workspace/ProjectCachingTest.java
Removed:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectRestorer.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Profile.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultImportModel.java
Modified:
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.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/builder/ArtifactModelContainerFactory.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java?rev=685575&r1=685574&r2=685575&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java Wed Aug 13 07:47:51 2008
@@ -848,10 +848,6 @@
reporterCtl.verify();
}
-/*
- TODO: Disabled these unit tests due to refactoring of maven-project. DefaultMavenProjectBuilder would throw an
- exception which would be recorded here. Creation is now in MavenProject, which doesn't contain an exception
- in method signature.
public void testReportBadManagedDependencyVersion()
throws IOException
@@ -888,7 +884,7 @@
reporterCtl.verify();
}
-*/
+
public void testReportErrorCreatingArtifactRepository()
throws IOException
{
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=685575&r1=685574&r2=685575&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 Wed Aug 13 07:47:51 2008
@@ -33,18 +33,23 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Build;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Extension;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginManagement;
+import org.apache.maven.model.Parent;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.Repository;
+import org.apache.maven.model.Resource;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.profiles.MavenProfilesBuilder;
import org.apache.maven.profiles.ProfileManager;
@@ -67,6 +72,7 @@
import org.apache.maven.project.workspace.ProjectWorkspace;
import org.apache.maven.project.builder.PomArtifactResolver;
import org.apache.maven.project.builder.ProjectBuilder;
+import org.apache.maven.project.builder.PomClassicDomainModel;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
@@ -205,14 +211,19 @@
ArtifactRepository localRepository )
throws ProjectBuildingException
{
+ String artifactKey = artifact.getId();
+
MavenProject project = null;
if ( !Artifact.LATEST_VERSION.equals( artifact.getVersion() ) && !Artifact.RELEASE_VERSION.equals( artifact.getVersion() ) )
{
+// getLogger().debug( "Checking cache for project (in buildFromRepository): " + artifactKey );
project = projectWorkspace.getProject( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() );
}
if ( project == null )
{
+// getLogger().debug( "Allowing buildFromRepository to proceed for: " + artifactKey );
+
Model model = findModelFromRepository( artifact, remoteArtifactRepositories, localRepository );
ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration().setLocalRepository( localRepository );
@@ -220,6 +231,10 @@
project = buildInternal( model, config, remoteArtifactRepositories, artifact.getFile(),
false, false, false );
}
+// else
+// {
+// getLogger().debug( "Returning cached project: " + project );
+// }
return project;
}
@@ -272,11 +287,17 @@
}
}
- MavenProject project = new MavenProject( superModel, artifactFactory );
+ MavenProject project = new MavenProject( superModel );
+
+ String projectId = safeVersionlessKey( STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_ARTIFACTID );
+
+ project.setManagedVersionMap(
+ createManagedVersionMap( projectId, superModel.getDependencyManagement(), null ) );
getLogger().debug( "Activated the following profiles for standalone super-pom: " + activeProfiles );
project.setActiveProfiles( activeProfiles );
+
try
{
processProjectLogic( project, null, config, null, true, true );
@@ -381,11 +402,92 @@
return new MavenProjectBuildingResult( project, result );
}
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private Map createManagedVersionMap( String projectId,
+ DependencyManagement dependencyManagement, File pomFile )
+ throws ProjectBuildingException
+ {
+ Map map = null;
+ List deps;
+ if ( ( dependencyManagement != null ) && ( ( deps = dependencyManagement.getDependencies() ) != null ) && ( deps.size() > 0 ) )
+ {
+ map = new ManagedVersionMap( map );
+
+ if ( getLogger().isDebugEnabled() )
+ {
+ getLogger().debug( "Adding managed dependencies for " + projectId );
+ }
+
+ for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); )
+ {
+ Dependency d = (Dependency) i.next();
+
+ try
+ {
+ VersionRange versionRange = VersionRange.createFromVersionSpec( d.getVersion() );
+
+ Artifact artifact = artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, d.getType(),
+ d.getClassifier(), d.getScope(), d.isOptional() );
+
+ if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && ( d.getSystemPath() != null ) )
+ {
+ artifact.setFile( new File( d.getSystemPath() ) );
+ }
+
+ if ( getLogger().isDebugEnabled() )
+ {
+ getLogger().debug( " " + artifact );
+ }
+
+ // If the dependencyManagement section listed exclusions,
+ // add them to the managed artifacts here so that transitive
+ // dependencies will be excluded if necessary.
+
+ if ( ( null != d.getExclusions() ) && !d.getExclusions().isEmpty() )
+ {
+ List exclusions = new ArrayList();
+
+ for ( Iterator j = d.getExclusions().iterator(); j.hasNext(); )
+ {
+ Exclusion e = (Exclusion) j.next();
+
+ exclusions.add( e.getGroupId() + ":" + e.getArtifactId() );
+ }
+
+ ExcludesArtifactFilter eaf = new ExcludesArtifactFilter( exclusions );
+
+ artifact.setDependencyFilter( eaf );
+ }
+ else
+ {
+ artifact.setDependencyFilter( null );
+ }
+
+ map.put( d.getManagementKey(), artifact );
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ throw new InvalidDependencyVersionException( projectId, d, pomFile, e );
+ }
+ }
+ }
+ else if ( map == null )
+ {
+ map = Collections.EMPTY_MAP;
+ }
+ return map;
+ }
+
private MavenProject buildFromSourceFileInternal( File projectDescriptor,
ProjectBuilderConfiguration config )
throws ProjectBuildingException
{
- MavenProject project = null;//projectWorkspace.getProject( projectDescriptor );
+// getLogger().debug( "Checking cache-hit on project (in build*): " + projectDescriptor );
+
+ MavenProject project = projectWorkspace.getProject( projectDescriptor );
if ( project == null )
{
@@ -577,7 +679,7 @@
{
Model superModel = getSuperModel();
- MavenProject superProject = new MavenProject( superModel, artifactFactory );
+ MavenProject superProject = new MavenProject( superModel );
String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
@@ -720,9 +822,14 @@
project.setFile( projectDescriptor );
}
+// getLogger().debug( "Caching project: " + project.getId() + " (also keyed by file: " + project.getFile() + ")" );
+
+
projectWorkspace.storeProjectByCoordinate( project );
projectWorkspace.storeProjectByFile( project );
+ project.setManagedVersionMap( createManagedVersionMap( projectId, project.getDependencyManagement(), projectDescriptor ) );
+
return project;
}
@@ -875,7 +982,7 @@
Artifact parentArtifact = project.getParentArtifact();
// We will return a different project object using the new model (hence the need to return a project, not just modify the parameter)
- project = new MavenProject( model, artifactFactory );
+ project = new MavenProject( model );
project.setOriginalModel( originalModel );
@@ -935,6 +1042,9 @@
String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
+ // TODO: these aren't taking active project artifacts into consideration in the reactor
+ project.setPluginArtifacts( createPluginArtifacts( projectId, project.getBuildPlugins(), pomFile ) );
+
project.setReportArtifacts( createReportArtifacts( projectId, project.getReportPlugins(), pomFile ) );
project.setExtensionArtifacts( createExtensionArtifacts( projectId, project.getBuildExtensions(), pomFile ) );
@@ -999,13 +1109,518 @@
public void calculateConcreteState( MavenProject project, ProjectBuilderConfiguration config )
throws ModelInterpolationException
{
- new MavenProjectRestorer(pathTranslator, modelInterpolator, getLogger()).calculateConcreteState(project, config);
+ if ( project.isConcrete() )
+ {
+ return;
+ }
+
+ Build build = project.getBuild();
+ if ( build != null )
+ {
+ initResourceMergeIds( build.getResources() );
+ initResourceMergeIds( build.getTestResources() );
+ }
+
+ Model model = ModelUtils.cloneModel( project.getModel() );
+
+ File basedir = project.getBasedir();
+
+ model = modelInterpolator.interpolate( model, basedir, config, getLogger().isDebugEnabled() );
+
+ List originalInterpolatedCompileSourceRoots = interpolateListOfStrings( project.getCompileSourceRoots(),
+ model,
+ project.getBasedir(),
+ config );
+
+ project.preserveCompileSourceRoots( originalInterpolatedCompileSourceRoots );
+
+ project.setCompileSourceRoots( originalInterpolatedCompileSourceRoots == null ? null
+ : translateListOfPaths( originalInterpolatedCompileSourceRoots, basedir ) );
+
+ List originalInterpolatedTestCompileSourceRoots = interpolateListOfStrings( project.getTestCompileSourceRoots(),
+ model,
+ project.getBasedir(),
+ config );
+
+ project.preserveTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots );
+ project.setTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots == null ? null
+ : translateListOfPaths( originalInterpolatedTestCompileSourceRoots, basedir ) );
+
+ List originalInterpolatedScriptSourceRoots = interpolateListOfStrings( project.getScriptSourceRoots(),
+ model,
+ project.getBasedir(),
+ config );
+
+ project.preserveScriptSourceRoots( originalInterpolatedScriptSourceRoots );
+ project.setScriptSourceRoots( originalInterpolatedScriptSourceRoots == null ? null
+ : translateListOfPaths( originalInterpolatedScriptSourceRoots, basedir ) );
+
+ Model model2 = ModelUtils.cloneModel( model );
+
+ pathTranslator.alignToBaseDirectory( model, basedir );
+
+ project.preserveBuild( model2.getBuild() );
+ project.setBuild( model.getBuild() );
+
+ calculateConcreteProjectReferences( project, config );
+
+ MavenProject executionProject = project.getExecutionProject();
+ if ( executionProject != null && executionProject != project )
+ {
+ calculateConcreteState( executionProject, config );
+ }
+
+ project.setConcrete( true );
+ }
+
+ private void initResourceMergeIds( List<Resource> resources )
+ {
+ if ( resources != null )
+ {
+ for ( Resource resource : resources )
+ {
+ resource.initMergeId();
+ }
+ }
+ }
+
+ private void calculateConcreteProjectReferences( MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ Map projectRefs = project.getProjectReferences();
+
+ if ( projectRefs != null )
+ {
+ for ( Iterator it = projectRefs.values().iterator(); it.hasNext(); )
+ {
+ MavenProject reference = (MavenProject) it.next();
+ calculateConcreteState( reference, config );
+ }
+ }
+ }
+
+ private List translateListOfPaths( List paths, File basedir )
+ {
+ if ( paths == null )
+ {
+ return null;
+ }
+ else if ( basedir == null )
+ {
+ return paths;
+ }
+
+ List result = new ArrayList( paths.size() );
+ for ( Iterator it = paths.iterator(); it.hasNext(); )
+ {
+ String path = (String) it.next();
+
+ String aligned = pathTranslator.alignToBaseDirectory( path, basedir );
+
+ result.add( aligned );
+ }
+
+ return result;
}
public void restoreDynamicState( MavenProject project, ProjectBuilderConfiguration config )
throws ModelInterpolationException
{
- new MavenProjectRestorer(pathTranslator, modelInterpolator, getLogger()).restoreDynamicState(project, config);
+ if ( !project.isConcrete() )
+ {
+ return;
+ }
+
+ restoreBuildRoots( project, config );
+ restoreModelBuildSection( project, config );
+
+ restoreDynamicProjectReferences( project, config );
+
+ MavenProject executionProject = project.getExecutionProject();
+ if ( executionProject != null && executionProject != project )
+ {
+ restoreDynamicState( executionProject, config );
+ }
+
+ project.setConcrete( false );
+ }
+
+ private void restoreDynamicProjectReferences( MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ Map projectRefs = project.getProjectReferences();
+ if ( projectRefs != null )
+ {
+ for ( Iterator it = projectRefs.values().iterator(); it.hasNext(); )
+ {
+ MavenProject projectRef = (MavenProject) it.next();
+ restoreDynamicState( projectRef, config );
+ }
+ }
+ }
+
+ private void restoreBuildRoots( MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ project.setCompileSourceRoots( restoreListOfStrings( project.getDynamicCompileSourceRoots(),
+ project.getOriginalInterpolatedCompileSourceRoots(),
+ project.getCompileSourceRoots(),
+ project,
+ config ) );
+
+ project.setTestCompileSourceRoots( restoreListOfStrings( project.getDynamicTestCompileSourceRoots(),
+ project.getOriginalInterpolatedTestCompileSourceRoots(),
+ project.getTestCompileSourceRoots(),
+ project,
+ config ) );
+
+ project.setScriptSourceRoots( restoreListOfStrings( project.getDynamicScriptSourceRoots(),
+ project.getOriginalInterpolatedScriptSourceRoots(),
+ project.getScriptSourceRoots(),
+ project,
+ config ) );
+
+ project.clearRestorableRoots();
+ }
+
+ private void restoreModelBuildSection( MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ Build changedBuild = project.getBuild();
+ Build dynamicBuild = project.getDynamicBuild();
+ Build originalInterpolatedBuild = project.getOriginalInterpolatedBuild();
+
+ dynamicBuild.setResources( restoreResources( dynamicBuild.getResources(),
+ originalInterpolatedBuild.getResources(),
+ changedBuild.getResources(),
+ project,
+ config ) );
+
+ dynamicBuild.setTestResources( restoreResources( dynamicBuild.getTestResources(),
+ originalInterpolatedBuild.getTestResources(),
+ changedBuild.getTestResources(),
+ project,
+ config ) );
+
+ dynamicBuild.setFilters( restoreListOfStrings( dynamicBuild.getFilters(),
+ originalInterpolatedBuild.getFilters(),
+ changedBuild.getFilters(),
+ project,
+ config ) );
+
+ dynamicBuild.setFinalName( restoreString( dynamicBuild.getFinalName(),
+ originalInterpolatedBuild.getFinalName(),
+ changedBuild.getFinalName(),
+ project,
+ config ) );
+
+ dynamicBuild.setDefaultGoal( restoreString( dynamicBuild.getDefaultGoal(),
+ originalInterpolatedBuild.getDefaultGoal(),
+ changedBuild.getDefaultGoal(),
+ project,
+ config ) );
+
+ dynamicBuild.setSourceDirectory( restoreString( dynamicBuild.getSourceDirectory(),
+ originalInterpolatedBuild.getSourceDirectory(),
+ changedBuild.getSourceDirectory(),
+ project,
+ config ) );
+
+ dynamicBuild.setTestSourceDirectory( restoreString( dynamicBuild.getTestSourceDirectory(),
+ originalInterpolatedBuild.getTestSourceDirectory(),
+ changedBuild.getTestSourceDirectory(),
+ project,
+ config ) );
+
+ dynamicBuild.setScriptSourceDirectory( restoreString( dynamicBuild.getScriptSourceDirectory(),
+ originalInterpolatedBuild.getScriptSourceDirectory(),
+ changedBuild.getScriptSourceDirectory(),
+ project,
+ config ) );
+
+ dynamicBuild.setOutputDirectory( restoreString( dynamicBuild.getOutputDirectory(),
+ originalInterpolatedBuild.getOutputDirectory(),
+ changedBuild.getOutputDirectory(),
+ project,
+ config ) );
+
+ dynamicBuild.setTestOutputDirectory( restoreString( dynamicBuild.getTestOutputDirectory(),
+ originalInterpolatedBuild.getTestOutputDirectory(),
+ changedBuild.getTestOutputDirectory(),
+ project,
+ config ) );
+
+ dynamicBuild.setDirectory( restoreString( dynamicBuild.getDirectory(),
+ originalInterpolatedBuild.getDirectory(),
+ changedBuild.getDirectory(),
+ project,
+ config ) );
+
+ project.setBuild( dynamicBuild );
+
+ project.clearRestorableBuild();
+ }
+
+ private List interpolateListOfStrings( List originalStrings,
+ Model model,
+ File projectDir,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ if ( originalStrings == null )
+ {
+ return null;
+ }
+
+ List result = new ArrayList();
+
+ for ( Iterator it = originalStrings.iterator(); it.hasNext(); )
+ {
+ String original = (String) it.next();
+ String interpolated = modelInterpolator.interpolate( original, model, projectDir, config, getLogger().isDebugEnabled() );
+
+ result.add( interpolated );
+ }
+
+ return result;
+ }
+
+ private String restoreString( String originalString,
+ String originalInterpolatedString,
+ String changedString,
+ MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ if ( originalString == null )
+ {
+ return changedString;
+ }
+ else if ( changedString == null )
+ {
+ return originalString;
+ }
+
+ Model model = project.getModel();
+
+ String relativeChangedString;
+ if ( project.getBasedir() != null )
+ {
+ relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() );
+ }
+ else
+ {
+ relativeChangedString = changedString;
+ }
+
+ String interpolatedOriginal = modelInterpolator.interpolate( originalString, model, project.getBasedir(), config, getLogger().isDebugEnabled() );
+ String interpolatedOriginal2 = modelInterpolator.interpolate( originalInterpolatedString,
+ model,
+ project.getBasedir(), config, getLogger().isDebugEnabled() );
+
+ String interpolatedChanged = modelInterpolator.interpolate( changedString, model, project.getBasedir(), config, getLogger().isDebugEnabled() );
+ String relativeInterpolatedChanged = modelInterpolator.interpolate( relativeChangedString, model, project.getBasedir(), config, getLogger().isDebugEnabled() );
+
+ if ( interpolatedOriginal.equals( interpolatedChanged )
+ || interpolatedOriginal2.equals( interpolatedChanged ) )
+ {
+ return originalString;
+ }
+ else if ( interpolatedOriginal.equals( relativeInterpolatedChanged )
+ || interpolatedOriginal2.equals( relativeInterpolatedChanged ) )
+ {
+ return originalString;
+ }
+
+ return relativeChangedString;
+ }
+
+ private List restoreListOfStrings( List originalStrings,
+ List originalInterpolatedStrings,
+ List changedStrings,
+ MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ if ( originalStrings == null )
+ {
+ return changedStrings;
+ }
+ else if ( changedStrings == null )
+ {
+ return originalStrings;
+ }
+
+ List result = new ArrayList();
+
+ Map orig = new HashMap();
+ for ( int idx = 0; idx < originalStrings.size(); idx++ )
+ {
+ String[] permutations = new String[2];
+
+ permutations[0] = (String) originalInterpolatedStrings.get( idx );
+ permutations[1] = (String) originalStrings.get( idx );
+
+ orig.put( permutations[0], permutations );
+ }
+
+ for ( Iterator it = changedStrings.iterator(); it.hasNext(); )
+ {
+ String changedString = (String) it.next();
+ String relativeChangedString;
+ if ( project.getBasedir() != null )
+ {
+ relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() );
+ }
+ else
+ {
+ relativeChangedString = changedString;
+ }
+
+ String interpolated = modelInterpolator.interpolate( changedString,
+ project.getModel(),
+ project.getBasedir(),
+ config,
+ getLogger().isDebugEnabled() );
+
+ String relativeInterpolated = modelInterpolator.interpolate( relativeChangedString,
+ project.getModel(),
+ project.getBasedir(),
+ config,
+ getLogger().isDebugEnabled() );
+
+ String[] original = (String[]) orig.get( interpolated );
+ if ( original == null )
+ {
+ original = (String[]) orig.get( relativeInterpolated );
+ }
+
+ if ( original == null )
+ {
+ result.add( relativeChangedString );
+ }
+ else
+ {
+ result.add( original[1] );
+ }
+ }
+
+ return result;
+ }
+
+ // TODO: Convert this to use the mergeId on each resource...
+ private List restoreResources( List<Resource> originalResources,
+ List<Resource> originalInterpolatedResources,
+ List<Resource> changedResources,
+ MavenProject project,
+ ProjectBuilderConfiguration config )
+ throws ModelInterpolationException
+ {
+ if ( originalResources == null || changedResources == null )
+ {
+ return originalResources;
+ }
+
+ List<Resource> result = new ArrayList<Resource>();
+
+ Map<String, Resource[]> originalResourcesByMergeId = new HashMap<String, Resource[]>();
+ for ( int idx = 0; idx < originalResources.size(); idx++ )
+ {
+ Resource[] permutations = new Resource[2];
+
+ permutations[0] = originalInterpolatedResources.get( idx );
+ permutations[1] = originalResources.get( idx );
+
+ originalResourcesByMergeId.put( permutations[0].getMergeId(), permutations );
+ }
+
+ for ( Resource resource : changedResources )
+ {
+ String mergeId = resource.getMergeId();
+ if ( mergeId == null || !originalResourcesByMergeId.containsKey( mergeId ) )
+ {
+ result.add( resource );
+ }
+ else
+ {
+ Resource originalInterpolatedResource = originalResourcesByMergeId.get( mergeId )[0];
+ Resource originalResource = originalResourcesByMergeId.get( mergeId )[1];
+
+ String dir = modelInterpolator.interpolate( resource.getDirectory(), project.getModel(), project.getBasedir(), config, getLogger().isDebugEnabled() );
+ String oDir = originalInterpolatedResource.getDirectory();
+
+ if ( !dir.equals( oDir ) )
+ {
+ originalResource.setDirectory( pathTranslator.unalignFromBaseDirectory( dir, project.getBasedir() ) );
+ }
+
+ if ( resource.getTargetPath() != null )
+ {
+ String target = modelInterpolator.interpolate( resource.getTargetPath(), project.getModel(), project.getBasedir(), config, getLogger().isDebugEnabled() );
+
+ String oTarget = originalInterpolatedResource.getTargetPath();
+
+ if ( !target.equals( oTarget ) )
+ {
+ originalResource.setTargetPath( pathTranslator.unalignFromBaseDirectory( target, project.getBasedir() ) );
+ }
+ }
+
+ originalResource.setFiltering( resource.isFiltering() );
+
+ originalResource.setExcludes( collectRestoredListOfPatterns( resource.getExcludes(),
+ originalResource.getExcludes(),
+ originalInterpolatedResource.getExcludes() ) );
+
+ originalResource.setIncludes( collectRestoredListOfPatterns( resource.getIncludes(),
+ originalResource.getIncludes(),
+ originalInterpolatedResource.getIncludes() ) );
+
+ result.add( originalResource );
+ }
+ }
+
+ return result;
+ }
+
+ private List<String> collectRestoredListOfPatterns( List<String> patterns,
+ List<String> originalPatterns,
+ List<String> originalInterpolatedPatterns )
+ {
+ LinkedHashSet<String> collectedPatterns = new LinkedHashSet<String>();
+
+ collectedPatterns.addAll( originalPatterns );
+
+ for ( String pattern : patterns )
+ {
+ if ( !originalInterpolatedPatterns.contains( pattern ) )
+ {
+ collectedPatterns.add( pattern );
+ }
+ }
+
+ return (List<String>) ( collectedPatterns.isEmpty() ? Collections.emptyList()
+ : new ArrayList<String>( collectedPatterns ) );
+ }
+
+ private void validateModel( Model model,
+ File pomFile )
+ throws InvalidProjectModelException
+ {
+ // Must validate before artifact construction to make sure dependencies are good
+ ModelValidationResult validationResult = validator.validate( model );
+
+ String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
+
+ if ( validationResult.getMessageCount() > 0 )
+ {
+ throw new InvalidProjectModelException( projectId, "Failed to validate POM", pomFile,
+ validationResult );
+ }
}
/**
@@ -1049,7 +1664,7 @@
File currentPom = it.getPOMFile();
- MavenProject project = new MavenProject( currentModel, artifactFactory );
+ MavenProject project = new MavenProject( currentModel );
project.setFile( currentPom );
if ( lastProject != null )
@@ -1214,6 +1829,70 @@
}
/**
+ * @deprecated use {@link #createPluginArtifacts(String, List, File)}
+ * @param projectId
+ * @param plugins
+ * @param pomLocation absolute path of pom file
+ * @return
+ * @throws ProjectBuildingException
+ */
+ @Deprecated
+ protected Set createPluginArtifacts( String projectId,
+ List plugins, String pomLocation )
+ throws ProjectBuildingException
+ {
+ return createPluginArtifacts( projectId, plugins, new File( pomLocation ) );
+ }
+
+ /**
+ *
+ * @param projectId
+ * @param plugins
+ * @param pomLocation pom file
+ * @return
+ * @throws ProjectBuildingException
+ */
+ protected Set createPluginArtifacts( String projectId,
+ List plugins, File pomLocation )
+ throws ProjectBuildingException
+ {
+ Set pluginArtifacts = new HashSet();
+
+ for ( Iterator i = plugins.iterator(); i.hasNext(); )
+ {
+ Plugin p = (Plugin) i.next();
+
+ String version;
+ if ( StringUtils.isEmpty( p.getVersion() ) )
+ {
+ version = "RELEASE";
+ }
+ else
+ {
+ version = p.getVersion();
+ }
+
+ Artifact artifact;
+ try
+ {
+ artifact = artifactFactory.createPluginArtifact( p.getGroupId(), p.getArtifactId(),
+ VersionRange.createFromVersionSpec( version ) );
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ throw new InvalidProjectVersionException( projectId, "Plugin: " + p.getKey(), version, pomLocation, e );
+ }
+
+ if ( artifact != null )
+ {
+ pluginArtifacts.add( artifact );
+ }
+ }
+
+ return pluginArtifacts;
+ }
+
+ /**
* @deprecated use {@link #createReportArtifacts(String, List, File)}
* @param projectId
* @param reports
@@ -1407,7 +2086,7 @@
MavenProject mavenProject;
try {
mavenProject = projectBuilder.buildFromLocalPath(new FileInputStream(projectDescriptor),
- null, null, null, resolver,
+ null, null, resolver,
projectDescriptor.getParentFile());
} catch (IOException e) {
e.printStackTrace();
@@ -1417,20 +2096,4 @@
return mavenProject.getModel();
}
-
- private void validateModel( Model model,
- File pomFile )
- throws InvalidProjectModelException
- {
- // Must validate before artifact construction to make sure dependencies are good
- ModelValidationResult validationResult = validator.validate( model );
-
- String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
-
- if ( validationResult.getMessageCount() > 0 )
- {
- throw new InvalidProjectModelException( projectId, "Failed to validate POM", pomFile,
- validationResult );
- }
- }
}
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=685575&r1=685574&r2=685575&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 Wed Aug 13 07:47:51 2008
@@ -25,22 +25,46 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
import org.apache.maven.artifact.versioning.ManagedVersionMap;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.model.*;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.CiManagement;
+import org.apache.maven.model.Contributor;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Developer;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.IssueManagement;
+import org.apache.maven.model.License;
+import org.apache.maven.model.MailingList;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Organization;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.PluginManagement;
+import org.apache.maven.model.Prerequisites;
+import org.apache.maven.model.ReportPlugin;
+import org.apache.maven.model.ReportSet;
+import org.apache.maven.model.Reporting;
+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.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.StringUtils;
import java.io.File;
import java.io.IOException;
import java.io.Writer;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.Stack;
/**
* The concern of the project is provide runtime values based on the model. <p/>
@@ -129,8 +153,6 @@
private Stack previousExecutionProjects = new Stack();
- private ArtifactFactory artifactFactory;
-
public MavenProject()
{
Model model = new Model();
@@ -147,11 +169,6 @@
setModel( model );
}
- public MavenProject(Model model, ArtifactFactory artifactFactory) {
- setModel( model );
- this.artifactFactory = artifactFactory;
- }
-
/**
* @deprecated use {@link #clone()} so subclasses can provide a copy of the same class
*/
@@ -179,10 +196,10 @@
setArtifacts( Collections.unmodifiableSet( project.getArtifacts() ) );
}
- // if ( project.getPluginArtifacts() != null )
- // {
- // setPluginArtifacts( Collections.unmodifiableSet( project.getPluginArtifacts() ) );
- // }
+ if ( project.getPluginArtifacts() != null )
+ {
+ setPluginArtifacts( Collections.unmodifiableSet( project.getPluginArtifacts() ) );
+ }
if ( project.getReportArtifacts() != null )
{
@@ -1145,53 +1162,25 @@
return artifactMap;
}
- public Set getPluginArtifacts()
+ public void setPluginArtifacts( Set pluginArtifacts )
{
- if(pluginArtifacts != null) {
- return pluginArtifacts;
- }
- Set pa = new HashSet();
- if(artifactFactory != null) {
- List plugins = getBuildPlugins();
- for ( Iterator i = plugins.iterator(); i.hasNext(); )
- {
- Plugin p = (Plugin) i.next();
-
- String version;
- if ( StringUtils.isEmpty( p.getVersion() ) )
- {
- version = "RELEASE";
- }
- else
- {
- version = p.getVersion();
- }
+ this.pluginArtifacts = pluginArtifacts;
- Artifact artifact;
- try
- {
- artifact = artifactFactory.createPluginArtifact( p.getGroupId(), p.getArtifactId(),
- VersionRange.createFromVersionSpec( version ) );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- return pa;
- }
-
- if ( artifact != null )
- {
- pa.add( artifact );
- }
- }
- }
- pluginArtifacts = pa;
pluginArtifactMap = null;
+ }
+
+ public Set getPluginArtifacts()
+ {
return pluginArtifacts;
}
public Map getPluginArtifactMap()
{
- pluginArtifactMap = ArtifactUtils.artifactMapByVersionlessId( getPluginArtifacts() );
+ if ( pluginArtifactMap == null )
+ {
+ pluginArtifactMap = ArtifactUtils.artifactMapByVersionlessId( getPluginArtifacts() );
+ }
+
return pluginArtifactMap;
}
@@ -1578,72 +1567,6 @@
public Map getManagedVersionMap()
{
- if(managedVersionMap != null) {
- return managedVersionMap;
- }
-
- Map map = null;
- if( artifactFactory != null ) {
-
- List deps;
- DependencyManagement dependencyManagement = getDependencyManagement();
- if ( ( dependencyManagement != null ) && ( ( deps = dependencyManagement.getDependencies() ) != null ) && ( deps.size() > 0 ) )
- {
- map = new ManagedVersionMap( map );
- for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); )
- {
- Dependency d = (Dependency) i.next();
-
- try
- {
- VersionRange versionRange = VersionRange.createFromVersionSpec( d.getVersion() );
-
- Artifact artifact = artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, d.getType(),
- d.getClassifier(), d.getScope(), d.isOptional() );
-
- if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && ( d.getSystemPath() != null ) )
- {
- artifact.setFile( new File( d.getSystemPath() ) );
- }
-
- // If the dependencyManagement section listed exclusions,
- // add them to the managed artifacts here so that transitive
- // dependencies will be excluded if necessary.
-
- if ( ( null != d.getExclusions() ) && !d.getExclusions().isEmpty() )
- {
- List exclusions = new ArrayList();
-
- for ( Iterator j = d.getExclusions().iterator(); j.hasNext(); )
- {
- Exclusion e = (Exclusion) j.next();
-
- exclusions.add( e.getGroupId() + ":" + e.getArtifactId() );
- }
-
- ExcludesArtifactFilter eaf = new ExcludesArtifactFilter( exclusions );
-
- artifact.setDependencyFilter( eaf );
- }
- else
- {
- artifact.setDependencyFilter( null );
- }
-
- map.put( d.getManagementKey(), artifact );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- map = Collections.EMPTY_MAP;
- }
- }
- }
- else if ( map == null )
- {
- map = Collections.EMPTY_MAP;
- }
- }
- managedVersionMap = map;
return managedVersionMap;
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java?rev=685575&r1=685574&r2=685575&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java Wed Aug 13 07:47:51 2008
@@ -36,8 +36,7 @@
private static final Collection<String> uris = Collections.unmodifiableList( Arrays.asList(
- ProjectUri.DependencyManagement.Dependencies.Dependency.xUri,
- ProjectUri.Dependencies.Dependency.xUri,
+ ProjectUri.DependencyManagement.Dependencies.Dependency.xUri, ProjectUri.Dependencies.Dependency.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.xUri,
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=685575&r1=685574&r2=685575&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Wed Aug 13 07:47:51 2008
@@ -20,13 +20,24 @@
*/
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.shared.model.*;
+import org.apache.maven.shared.model.DomainModel;
+import org.apache.maven.shared.model.ModelContainer;
+import org.apache.maven.shared.model.ModelDataSource;
+import org.apache.maven.shared.model.ModelMarshaller;
+import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.ModelTransformer;
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.IOException;
import java.io.StringReader;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.Map;
+import java.util.HashMap;
/**
* Provides methods for transforming model properties into a domain model for the pom classic format and vice versa.
@@ -38,7 +49,18 @@
/**
* The URIs this tranformer supports
*/
- private static Set<String> uris = new HashSet<String>( Arrays.asList( ProjectUri.Build.Extensions.xUri,
+ private final Set<String> uris;
+
+ private static Map<String, List<ModelProperty>> cache = new HashMap<String, List<ModelProperty>>();
+
+ //private static List<DomainModel> cache = new ArrayList<DomainModel>();
+
+ /**
+ * Default constructor
+ */
+ public PomClassicTransformer()
+ {
+ this.uris = new HashSet<String>( Arrays.asList( ProjectUri.Build.Extensions.xUri,
ProjectUri.Build.PluginManagement.Plugins.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.Exclusions.xUri,
@@ -91,21 +113,7 @@
"http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies/dependency/exclusions#collection",
"http://apache.org/maven/project/profiles/profile/dependencyManagement/dependencies/dependency/exclusions#collection",
"http://apache.org/maven/project/profiles/profile/reporting/plugins/plugin/reportSets#collection",
- "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection" ));
-
- private static Map<String, List<ModelProperty>> cache = new HashMap<String, List<ModelProperty>>();
-
- private Collection<Profile> profiles;
-
-
- //private static List<DomainModel> cache = new ArrayList<DomainModel>();
-
- /**
- * Default constructor
- */
- public PomClassicTransformer(Collection<Profile> profiles)
- {
- this.profiles = profiles;
+ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection" ) );
}
/**
@@ -132,37 +140,6 @@
}
}
- //dependency management
- ModelDataSource source = new DefaultModelDataSource();
- source.init( props, Arrays.asList( new ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
-
- for(ModelContainer dependencyContainer : source.queryFor( ProjectUri.Dependencies.Dependency.xUri)) {
- for ( ModelContainer managementContainer : source.queryFor( ProjectUri.DependencyManagement.Dependencies.Dependency.xUri) )
- {
- managementContainer = new ArtifactModelContainerFactory().create(transformDependencyManagement(managementContainer.getProperties()));
- ModelContainerAction action = dependencyContainer.containerAction(managementContainer);
- if(action.equals(ModelContainerAction.JOIN) || action.equals(ModelContainerAction.DELETE)) {
- source.join(dependencyContainer, managementContainer);
- }
- }
- }
-
- for(ModelContainer dependencyContainer : source.queryFor( ProjectUri.Build.Plugins.Plugin.xUri)) {
- for ( ModelContainer managementContainer : source.queryFor( ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri) )
- {
- managementContainer = new ArtifactModelContainerFactory().create(transformPluginManagement(managementContainer.getProperties()));
- ModelContainerAction action = dependencyContainer.containerAction(managementContainer);
- if(action.equals(ModelContainerAction.JOIN) || action.equals(ModelContainerAction.DELETE)) {
- source.join(dependencyContainer, managementContainer);
- }
- }
- }
-
- props = source.getModelProperties();
- // for(ModelProperty mp : props) {
- // System.out.println("-" + mp);
- // }
-
String xml = null;
try
{
@@ -173,7 +150,7 @@
{
throw new IOException( e + ":\r\n" + xml );
}
- }
+ }
/**
* @see ModelTransformer#transformToModelProperties(java.util.List)
@@ -208,7 +185,6 @@
List<ModelProperty> tmp = ModelMarshaller.marshallXmlToModelProperties(
( (PomClassicDomainModel) domainModel ).getInputStream(), ProjectUri.baseUri, uris );
-
List clearedProperties = new ArrayList<ModelProperty>();
//Missing Version Rule
@@ -372,7 +348,7 @@
tmp.removeAll( clearedProperties );
modelProperties.addAll( tmp );
- if ( domainModels.indexOf( domainModel ) == 0 )
+ if ( domainModels.indexOf( domainModel ) > 0 )
{
//cache.put( pomDomainModel.getId(), modelProperties );
}
@@ -386,12 +362,7 @@
}
*/
}
- return modelProperties;
- // return ModelTransformerContext.transformModelProperties(modelProperties, Arrays.asList(
- // new ProfileModelPropertyTransformer(),
- // new PluginManagementModelPropertyTransformer(),
- // new DependencyManagementModelPropertyTransformer()
- // ));
+ return modelProperties;
}
/**
@@ -443,46 +414,5 @@
}
return null;
}
-
- private static List<ModelProperty> transformDependencyManagement(List<ModelProperty> modelProperties) {
- List<ModelProperty> transformedProperties = new ArrayList<ModelProperty>();
- for(ModelProperty mp : modelProperties) {
- if(mp.getUri().startsWith(ProjectUri.DependencyManagement.xUri))
- {
- transformedProperties.add(new ModelProperty(
- mp.getUri().replace(ProjectUri.DependencyManagement.xUri, ProjectUri.xUri), mp.getValue()));
- }
- }
- return transformedProperties;
- }
-
- public static List<ModelProperty> transformPluginManagement(List<ModelProperty> modelProperties) {
- List<ModelProperty> transformedProperties = new ArrayList<ModelProperty>();
- for(ModelProperty mp : modelProperties) {
- if(mp.getUri().startsWith(ProjectUri.Build.PluginManagement.xUri))
- {
- transformedProperties.add(new ModelProperty(
- mp.getUri().replace(ProjectUri.Build.PluginManagement.xUri, ProjectUri.Build.xUri), mp.getValue()));
- }
- }
- return transformedProperties;
- }
-
- /*
- private static class ProfileModelPropertyTransformer implements ModelPropertyTransformer {
- public List<ModelProperty> transform(List<ModelProperty> modelProperties) {
- List<ModelProperty> properties = new ArrayList<ModelProperty>(modelProperties);
- List<ModelProperty> transformedProperties = new ArrayList<ModelProperty>();
- for(ModelProperty mp : modelProperties) {
- String uri = mp.getUri().replace("profiles#collection/profile", "");
- }
- return properties;
- }
-
- public String getBaseUri() {
- return ProjectUri.baseUri;
- }
- }
- */
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java?rev=685575&r1=685574&r2=685575&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java Wed Aug 13 07:47:51 2008
@@ -22,7 +22,6 @@
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.model.InterpolatorProperty;
-import org.apache.maven.shared.model.ImportModel;
import java.io.File;
import java.io.IOException;
@@ -50,7 +49,6 @@
* @throws IOException if there is a problem in the construction of the maven project
*/
MavenProject buildFromLocalPath( InputStream pom, List<Model> inheritedModels,
- Collection<ImportModel> importModels,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver, File baseDirectory )
throws IOException;
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=685575&r1=685574&r2=685575&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 Wed Aug 13 07:47:51 2008
@@ -35,7 +35,6 @@
import org.apache.maven.shared.model.DomainModel;
import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.shared.model.ModelTransformerContext;
-import org.apache.maven.shared.model.ImportModel;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
@@ -87,10 +86,9 @@
}
/**
- * @see ProjectBuilder#buildFromLocalPath(java.io.InputStream, java.util.List, java.util.Collection, java.util.Collection, org.apache.maven.project.builder.PomArtifactResolver, java.io.File)
+ * @see ProjectBuilder#buildFromLocalPath(java.io.InputStream, java.util.List, java.util.Collection, org.apache.maven.project.builder.PomArtifactResolver, java.io.File)
*/
public MavenProject buildFromLocalPath( InputStream pom, List<Model> inheritedModels,
- Collection<ImportModel> importModels,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver, File projectDirectory )
throws IOException
@@ -151,16 +149,14 @@
domainModels.add( new PomClassicDomainModel( model ) );
}
- PomClassicTransformer transformer = new PomClassicTransformer(null);
+ PomClassicTransformer transformer = new PomClassicTransformer();
ModelTransformerContext ctx = new ModelTransformerContext(
Arrays.asList( new ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
PomClassicDomainModel transformedDomainModel =
- ( (PomClassicDomainModel) ctx.transform( domainModels, transformer, transformer, importModels, properties ) );
-
-
+ ( (PomClassicDomainModel) ctx.transform( domainModels, transformer, transformer, null, properties ) );
Model model = transformedDomainModel.getModel();
- return new MavenProject( model, artifactFactory );
+ return new MavenProject( model );
}
private boolean isParentLocal( Parent parent, File projectDirectory )