You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/08/25 23:11:25 UTC
svn commit: r688884 [5/6] - in /maven/components/branches/maven-2.0.x: ./
apache-maven/ apache-maven/src/bin/ apache-maven/src/conf/
apache-maven/src/site/ apache-maven/src/site/apt/
apache-maven/src/site/apt/scripting-support/ bootstrap/ bootstrap/boo...
Propchange: maven/components/branches/maven-2.0.x/maven-monitor/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-monitor/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-monitor/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-monitor/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-monitor/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-monitor</artifactId>
Propchange: maven/components/branches/maven-2.0.x/maven-plugin-api/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-plugin-api/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-api/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-api/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-api/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-plugin-api</artifactId>
Propchange: maven/components/branches/maven-2.0.x/maven-plugin-descriptor/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-plugin-descriptor/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-descriptor/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-descriptor/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-descriptor/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-plugin-descriptor</artifactId>
Modified: maven/components/branches/maven-2.0.x/maven-plugin-descriptor/src/main/mdo/lifecycle.mdo
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-descriptor/src/main/mdo/lifecycle.mdo?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-descriptor/src/main/mdo/lifecycle.mdo (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-descriptor/src/main/mdo/lifecycle.mdo Mon Aug 25 14:11:19 2008
@@ -30,7 +30,7 @@
</default>
</defaults>
<classes>
- <class rootElement="true" xml.tagName="lifecycles" xsd.compositor="sequence">
+ <class rootElement="true" xml.tagName="lifecycles">
<name>LifecycleConfiguration</name>
<version>1.0.0</version>
<description>Root element of the lifecycle.xml file.</description>
Propchange: maven/components/branches/maven-2.0.x/maven-plugin-parameter-documenter/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -8,4 +8,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-plugin-parameter-documenter/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-parameter-documenter/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-parameter-documenter/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-parameter-documenter/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-plugin-parameter-documenter</artifactId>
Propchange: maven/components/branches/maven-2.0.x/maven-plugin-registry/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-plugin-registry/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-plugin-registry/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-plugin-registry/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-plugin-registry/pom.xml Mon Aug 25 14:11:19 2008
@@ -21,7 +21,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven</groupId>
Propchange: maven/components/branches/maven-2.0.x/maven-profile/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-profile/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-profile/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-profile/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-profile/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-profile</artifactId>
Propchange: maven/components/branches/maven-2.0.x/maven-project/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -10,4 +10,3 @@
cobertura.ser
.settings
target-eclipse
-bin
Modified: maven/components/branches/maven-2.0.x/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-project/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
<parent>
<artifactId>maven</artifactId>
<groupId>org.apache.maven</groupId>
- <version>2.0.11-SNAPSHOT</version>
+ <version>2.0.9</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>maven-project</artifactId>
@@ -59,10 +59,6 @@
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-interpolation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</dependency>
<dependency>
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java Mon Aug 25 14:11:19 2008
@@ -206,12 +206,12 @@
{
shouldAdd = true;
}
- else if ( isActive( profile ) )
+ else if ( !deactivatedIds.contains( profileId ) && isActive( profile ) )
{
shouldAdd = true;
}
- if ( !deactivatedIds.contains( profileId ) && shouldAdd )
+ if ( shouldAdd )
{
if ( "pom".equals( profile.getSource() ) )
{
@@ -230,11 +230,6 @@
{
String profileId = (String) it.next();
- if ( deactivatedIds.contains( profileId ) )
- {
- continue;
- }
-
Profile profile = (Profile) profilesById.get( profileId );
activeFromPom.add( profile );
@@ -270,10 +265,7 @@
if ( activator.canDetermineActivation( profile ) )
{
- if ( activator.isActive( profile ) )
- {
- return true;
- }
+ return activator.isActive( profile );
}
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/activation/FileProfileActivator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/activation/FileProfileActivator.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/activation/FileProfileActivator.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/activation/FileProfileActivator.java Mon Aug 25 14:11:19 2008
@@ -24,21 +24,15 @@
import org.apache.maven.model.Activation;
import org.apache.maven.model.ActivationFile;
import org.apache.maven.model.Profile;
-import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
-import org.codehaus.plexus.interpolation.InterpolationException;
-import org.codehaus.plexus.interpolation.MapBasedValueSource;
-import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
-import org.codehaus.plexus.logging.LogEnabled;
-import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.interpolation.EnvarBasedValueSource;
+import org.codehaus.plexus.util.interpolation.MapBasedValueSource;
+import org.codehaus.plexus.util.interpolation.RegexBasedInterpolator;
public class FileProfileActivator
extends DetectedProfileActivator
- implements LogEnabled
{
- private Logger logger;
-
protected boolean canDetectActivation( Profile profile )
{
return profile.getActivation() != null && profile.getActivation().getFile() != null;
@@ -66,41 +60,22 @@
}
interpolator.addValueSource( new MapBasedValueSource( System.getProperties() ) );
- try
+ if ( StringUtils.isNotEmpty( fileString ) )
{
- if ( StringUtils.isNotEmpty( fileString ) )
- {
- fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" );
- return FileUtils.fileExists( fileString );
- }
-
- // check if the file is missing, if it is then the profile will be active
- fileString = actFile.getMissing();
-
- if ( StringUtils.isNotEmpty( fileString ) )
- {
- fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" );
- return !FileUtils.fileExists( fileString );
- }
+ fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" );
+ return FileUtils.fileExists( fileString );
}
- catch ( InterpolationException e )
+
+ // check if the file is missing, if it is then the profile will be active
+ fileString = actFile.getMissing();
+
+ if ( StringUtils.isNotEmpty( fileString ) )
{
- if ( logger.isDebugEnabled() )
- {
- logger.debug( "Failed to interpolate missing file location for profile activator: " + fileString, e );
- }
- else
- {
- logger.warn( "Failed to interpolate missing file location for profile activator: " + fileString + ". Run in debug mode (-X) for more information." );
- }
+ fileString = StringUtils.replace( interpolator.interpolate( fileString, "" ), "\\", "/" );
+ return !FileUtils.fileExists( fileString );
}
}
return false;
}
-
- public void enableLogging( Logger logger )
- {
- this.logger = logger;
- }
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Mon Aug 25 14:11:19 2008
@@ -46,12 +46,9 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.model.Plugin;
-import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.PluginManagement;
import org.apache.maven.model.Profile;
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.DefaultProfileManager;
import org.apache.maven.profiles.MavenProfilesBuilder;
@@ -98,6 +95,7 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
@@ -895,6 +893,10 @@
// this only happens if we are building from a source file
if ( projectDescriptor != null )
{
+ // Only translate the base directory for files in the source tree
+ pathTranslator.alignToBaseDirectory( project.getModel(),
+ projectDir );
+
Build build = project.getBuild();
project.addCompileSourceRoot( build.getSourceDirectory() );
@@ -907,15 +909,6 @@
project.setFile( projectDescriptor );
}
-// try
-// {
-// calculateConcreteState( project, config );
-// }
-// catch ( ModelInterpolationException e )
-// {
-// throw new InvalidProjectModelException( projectId, pomLocation, e.getMessage(), e );
-// }
-
project.setManagedVersionMap( createManagedVersionMap( projectId,
project.getDependencyManagement(),
project.getParent() ) );
@@ -990,15 +983,46 @@
activeProfiles.addAll( injectedProfiles );
- Build dynamicBuild = model.getBuild();
+ // We don't need all the project methods that are added over those in the model, but we do need basedir
+ Map context = new HashMap();
+
+ Build build = model.getBuild();
+
+ if ( projectDir != null )
+ {
+ context.put( "basedir", projectDir.getAbsolutePath() );
+
+ // MNG-1927, MNG-2124, MNG-3355:
+ // If the build section is present and the project directory is non-null, we should make
+ // sure interpolation of the directories below uses translated paths.
+ // Afterward, we'll double back and translate any paths that weren't covered during interpolation via the
+ // code below...
+ context.put( "build.directory", pathTranslator.alignToBaseDirectory( build.getDirectory(), projectDir ) );
+ context.put( "build.outputDirectory", pathTranslator.alignToBaseDirectory( build.getOutputDirectory(), projectDir ) );
+ context.put( "build.testOutputDirectory", pathTranslator.alignToBaseDirectory( build.getTestOutputDirectory(), projectDir ) );
+ context.put( "build.sourceDirectory", pathTranslator.alignToBaseDirectory( build.getSourceDirectory(), projectDir ) );
+ context.put( "build.testSourceDirectory", pathTranslator.alignToBaseDirectory( build.getTestSourceDirectory(), projectDir ) );
+ }
- model.setBuild( ModelUtils.cloneBuild( dynamicBuild ) );
+ if ( !isSuperPom )
+ {
+ Properties userProps = config.getUserProperties();
+ if ( userProps != null )
+ {
+ context.putAll( userProps );
+ }
+ }
- model = modelInterpolator.interpolate( model, projectDir, config, getLogger().isDebugEnabled() );
+ model = modelInterpolator.interpolate( model, context, strict );
- mergeDeterministicBuildElements( model.getBuild(), dynamicBuild );
+ // second pass allows ${user.home} to work, if it needs to.
+ // [MNG-2339] ensure the system properties are still interpolated for backwards compat, but the model values must win
+ if ( config.getExecutionProperties() != null && !config.getExecutionProperties().isEmpty() )
+ {
+ context.putAll( config.getExecutionProperties() );
+ }
- model.setBuild( dynamicBuild );
+ model = modelInterpolator.interpolate( model, context, strict );
// MNG-3482: Make sure depMgmt is interpolated before merging.
if ( !isSuperPom )
@@ -1098,57 +1122,6 @@
return project;
}
- private void mergeDeterministicBuildElements( Build interpolatedBuild,
- Build dynamicBuild )
- {
- mergeDeterministicPluginElements( interpolatedBuild.getPlugins(), dynamicBuild.getPlugins() );
-
- PluginManagement dPluginMgmt = dynamicBuild.getPluginManagement();
- PluginManagement iPluginMgmt = interpolatedBuild.getPluginManagement();
-
- if ( dPluginMgmt != null )
- {
- mergeDeterministicPluginElements( iPluginMgmt.getPlugins(), dPluginMgmt.getPlugins() );
- }
-
- if ( dynamicBuild.getExtensions() != null )
- {
- dynamicBuild.setExtensions( interpolatedBuild.getExtensions() );
- }
- }
-
- private void mergeDeterministicPluginElements( List iPlugins, List dPlugins )
- {
- if ( dPlugins != null )
- {
- for ( int i = 0; i < dPlugins.size(); i++ )
- {
- Plugin dPlugin = (Plugin) dPlugins.get( i );
- Plugin iPlugin = (Plugin) iPlugins.get( i );
-
- dPlugin.setGroupId( iPlugin.getGroupId() );
- dPlugin.setArtifactId( iPlugin.getArtifactId() );
- dPlugin.setVersion( iPlugin.getVersion() );
-
- dPlugin.setDependencies( iPlugin.getDependencies() );
-
- List dExecutions = dPlugin.getExecutions();
- if ( dExecutions != null )
- {
- List iExecutions = iPlugin.getExecutions();
-
- for ( int j = 0; j < dExecutions.size(); j++ )
- {
- PluginExecution dExec = (PluginExecution) dExecutions.get( j );
- PluginExecution iExec = (PluginExecution) iExecutions.get( j );
-
- dExec.setId( iExec.getId() );
- }
- }
- }
- }
- }
-
/**
* @noinspection CollectionDeclaredAsConcreteClass
* @todo We need to find an effective way to unit test parts of this method!
@@ -1805,557 +1778,4 @@
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
- public void calculateConcreteState( MavenProject project, ProjectBuilderConfiguration config )
- throws ModelInterpolationException
- {
- if ( project.isConcrete() )
- {
- return;
- }
-
- Build build = project.getBuild();
- if ( build != null )
- {
- initResourceMergeIds( build.getResources() );
- initResourceMergeIds( build.getTestResources() );
- }
-
- Model model = ModelUtils.cloneModel( project.getModel() );
-
- // We don't need all the project methods that are added over those in the model, but we do need basedir
- Map context = new HashMap();
-
- File basedir = project.getBasedir();
-
- model = modelInterpolator.interpolate( model, project.getBasedir(), config, getLogger().isDebugEnabled() );
-
- List originalInterpolatedCompileSourceRoots = interpolateListOfStrings( project.getCompileSourceRoots(),
- model,
- project.getBasedir(),
- config,
- getLogger().isDebugEnabled() );
-
- project.preserveCompileSourceRoots( originalInterpolatedCompileSourceRoots );
-
- project.setCompileSourceRoots( originalInterpolatedCompileSourceRoots == null ? null
- : translateListOfPaths( originalInterpolatedCompileSourceRoots, basedir ) );
-
- List originalInterpolatedTestCompileSourceRoots = interpolateListOfStrings( project.getTestCompileSourceRoots(),
- model,
- project.getBasedir(),
- config,
- getLogger().isDebugEnabled() );
-
- project.preserveTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots );
- project.setTestCompileSourceRoots( originalInterpolatedTestCompileSourceRoots == null ? null
- : translateListOfPaths( originalInterpolatedTestCompileSourceRoots, basedir ) );
-
- List originalInterpolatedScriptSourceRoots = interpolateListOfStrings( project.getScriptSourceRoots(),
- model,
- project.getBasedir(),
- config,
- getLogger().isDebugEnabled() );
-
- project.preserveScriptSourceRoots( originalInterpolatedScriptSourceRoots );
- project.setScriptSourceRoots( originalInterpolatedScriptSourceRoots == null ? null
- : translateListOfPaths( originalInterpolatedScriptSourceRoots, basedir ) );
-
- Model model2 = ModelUtils.cloneModel( model );
-
- if ( basedir != null )
- {
- pathTranslator.alignToBaseDirectory( model, basedir );
- }
-
- project.preserveBuild( model2.getBuild() );
- project.setBuild( model.getBuild() );
-
- calculateConcreteProjectReferences( project, config );
-
- if ( project.getExecutionProject() != null )
- {
- calculateConcreteState( project.getExecutionProject(), config );
- }
-
- project.setConcrete( true );
- }
-
- private void initResourceMergeIds( List resources )
- {
- if ( resources != null )
- {
- for ( Iterator it = resources.iterator(); it.hasNext(); )
- {
- Resource resource = (Resource) it.next();
-
- 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
- {
- if ( !project.isConcrete() )
- {
- return;
- }
-
- restoreBuildRoots( project, config, getLogger().isDebugEnabled() );
- restoreModelBuildSection( project, config, getLogger().isDebugEnabled() );
-
- restoreDynamicProjectReferences( project, config );
- if ( project.getExecutionProject() != null )
- {
- restoreDynamicState( project.getExecutionProject(), 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,
- boolean debugMessages )
- throws ModelInterpolationException
- {
- project.setCompileSourceRoots( restoreListOfStrings( project.getDynamicCompileSourceRoots(),
- project.getOriginalInterpolatedCompileSourceRoots(),
- project.getCompileSourceRoots(),
- project,
- config,
- debugMessages ) );
-
- project.setTestCompileSourceRoots( restoreListOfStrings( project.getDynamicTestCompileSourceRoots(),
- project.getOriginalInterpolatedTestCompileSourceRoots(),
- project.getTestCompileSourceRoots(),
- project,
- config,
- debugMessages ) );
-
- project.setScriptSourceRoots( restoreListOfStrings( project.getDynamicScriptSourceRoots(),
- project.getOriginalInterpolatedScriptSourceRoots(),
- project.getScriptSourceRoots(),
- project,
- config,
- debugMessages ) );
-
- project.clearRestorableRoots();
- }
-
- private void restoreModelBuildSection( MavenProject project,
- ProjectBuilderConfiguration config,
- boolean debugMessages )
- 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,
- debugMessages ) );
-
- dynamicBuild.setTestResources( restoreResources( dynamicBuild.getTestResources(),
- originalInterpolatedBuild.getTestResources(),
- changedBuild.getTestResources(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setFilters( restoreListOfStrings( dynamicBuild.getFilters(),
- originalInterpolatedBuild.getFilters(),
- changedBuild.getFilters(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setFinalName( restoreString( dynamicBuild.getFinalName(),
- originalInterpolatedBuild.getFinalName(),
- changedBuild.getFinalName(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setDefaultGoal( restoreString( dynamicBuild.getDefaultGoal(),
- originalInterpolatedBuild.getDefaultGoal(),
- changedBuild.getDefaultGoal(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setSourceDirectory( restoreString( dynamicBuild.getSourceDirectory(),
- originalInterpolatedBuild.getSourceDirectory(),
- changedBuild.getSourceDirectory(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setTestSourceDirectory( restoreString( dynamicBuild.getTestSourceDirectory(),
- originalInterpolatedBuild.getTestSourceDirectory(),
- changedBuild.getTestSourceDirectory(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setScriptSourceDirectory( restoreString( dynamicBuild.getScriptSourceDirectory(),
- originalInterpolatedBuild.getScriptSourceDirectory(),
- changedBuild.getScriptSourceDirectory(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setOutputDirectory( restoreString( dynamicBuild.getOutputDirectory(),
- originalInterpolatedBuild.getOutputDirectory(),
- changedBuild.getOutputDirectory(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setTestOutputDirectory( restoreString( dynamicBuild.getTestOutputDirectory(),
- originalInterpolatedBuild.getTestOutputDirectory(),
- changedBuild.getTestOutputDirectory(),
- project,
- config,
- debugMessages ) );
-
- dynamicBuild.setDirectory( restoreString( dynamicBuild.getDirectory(),
- originalInterpolatedBuild.getDirectory(),
- changedBuild.getDirectory(),
- project,
- config,
- debugMessages ) );
-
- project.setBuild( dynamicBuild );
-
- project.clearRestorableBuild();
- }
-
- private List interpolateListOfStrings( List originalStrings,
- Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugMessages )
- 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, debugMessages );
-
- result.add( interpolated );
- }
-
- return result;
- }
-
- private String restoreString( String originalString,
- String originalInterpolatedString,
- String changedString,
- MavenProject project,
- ProjectBuilderConfiguration config,
- boolean debugMessages )
- 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,
- debugMessages );
-
- interpolatedOriginal = pathTranslator.unalignFromBaseDirectory( interpolatedOriginal, project.getBasedir() );
-
- String interpolatedOriginal2 = modelInterpolator.interpolate( originalInterpolatedString,
- model,
- project.getBasedir(),
- config,
- debugMessages );
-
- interpolatedOriginal2 = pathTranslator.alignToBaseDirectory( interpolatedOriginal2, project.getBasedir() );
-
- String interpolatedChanged = modelInterpolator.interpolate( changedString,
- model,
- project.getBasedir(),
- config,
- debugMessages );
-
- interpolatedChanged = pathTranslator.alignToBaseDirectory( interpolatedChanged, project.getBasedir() );
-
- String relativeInterpolatedChanged = modelInterpolator.interpolate( relativeChangedString,
- model,
- project.getBasedir(),
- config,
- debugMessages );
-
- 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,
- boolean debugMessages )
- 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] = pathTranslator.alignToBaseDirectory( (String) originalInterpolatedStrings.get( idx ), project.getBasedir() );
- 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,
- debugMessages );
-
- interpolated = pathTranslator.alignToBaseDirectory( interpolated, project.getBasedir() );
-
- String relativeInterpolated = modelInterpolator.interpolate( relativeChangedString,
- project.getModel(),
- project.getBasedir(),
- config,
- debugMessages );
-
- 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;
- }
-
- private List restoreResources( List originalResources,
- List originalInterpolatedResources,
- List changedResources,
- MavenProject project,
- ProjectBuilderConfiguration config,
- boolean debugMessages )
- throws ModelInterpolationException
- {
- if ( originalResources == null || changedResources == null )
- {
- return originalResources;
- }
-
- List result = new ArrayList();
-
- Map originalResourcesByMergeId = new HashMap();
- for ( int idx = 0; idx < originalResources.size(); idx++ )
- {
- Resource[] permutations = new Resource[2];
-
- permutations[0] = (Resource) originalInterpolatedResources.get( idx );
- permutations[1] = (Resource) originalResources.get( idx );
-
- originalResourcesByMergeId.put( permutations[0].getMergeId(), permutations );
- }
-
- for ( Iterator it = changedResources.iterator(); it.hasNext(); )
- {
- Resource resource = (Resource) it.next();
- String mergeId = resource.getMergeId();
- if ( mergeId == null || !originalResourcesByMergeId.containsKey( mergeId ) )
- {
- result.add( resource );
- }
- else
- {
- Resource originalInterpolatedResource = ( (Resource[]) originalResourcesByMergeId.get( mergeId ) )[0];
- Resource originalResource = ( (Resource[]) 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 collectRestoredListOfPatterns( List patterns,
- List originalPatterns,
- List originalInterpolatedPatterns )
- {
- LinkedHashSet collectedPatterns = new LinkedHashSet();
-
- collectedPatterns.addAll( originalPatterns );
-
- for ( Iterator it = patterns.iterator(); it.hasNext(); )
- {
- String pattern = (String) it.next();
- if ( !originalInterpolatedPatterns.contains( pattern ) )
- {
- collectedPatterns.add( pattern );
- }
- }
-
- return collectedPatterns.isEmpty() ? Collections.EMPTY_LIST
- : new ArrayList( collectedPatterns );
- }
-
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java Mon Aug 25 14:11:19 2008
@@ -3,7 +3,6 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.profiles.ProfileManager;
-import java.util.Date;
import java.util.Properties;
public class DefaultProjectBuilderConfiguration
@@ -18,8 +17,6 @@
private Properties executionProperties = System.getProperties();
- private Date buildStartTime;
-
public DefaultProjectBuilderConfiguration()
{
}
@@ -73,15 +70,4 @@
return this;
}
- public Date getBuildStartTime()
- {
- return buildStartTime;
- }
-
- public ProjectBuilderConfiguration setBuildStartTime( Date buildStartTime )
- {
- this.buildStartTime = buildStartTime;
- return this;
- }
-
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Mon Aug 25 14:11:19 2008
@@ -280,35 +280,6 @@
{
setSnapshotArtifactRepository( project.getSnapshotArtifactRepository() );
}
-
- if ( project.isConcrete() )
- {
- setDynamicBuild( ModelUtils.cloneBuild( project.getDynamicBuild() ) );
- setOriginalInterpolatedBuild( ModelUtils.cloneBuild( project.getOriginalInterpolatedBuild() ) );
-
- List dynamicRoots = project.getDynamicCompileSourceRoots();
- if ( dynamicRoots != null )
- {
- setDynamicCompileSourceRoots( new ArrayList( dynamicRoots ) );
- setOriginalInterpolatedCompileSourceRoots( new ArrayList( project.getOriginalInterpolatedCompileSourceRoots() ) );
- }
-
- dynamicRoots = project.getDynamicTestCompileSourceRoots();
- if ( dynamicRoots != null )
- {
- setDynamicTestCompileSourceRoots( new ArrayList( dynamicRoots ) );
- setOriginalInterpolatedTestCompileSourceRoots( new ArrayList( project.getOriginalInterpolatedTestCompileSourceRoots() ) );
- }
-
- dynamicRoots = project.getDynamicScriptSourceRoots();
- if ( dynamicRoots != null )
- {
- setDynamicScriptSourceRoots( new ArrayList( dynamicRoots ) );
- setOriginalInterpolatedScriptSourceRoots( new ArrayList( project.getOriginalInterpolatedScriptSourceRoots() ) );
- }
- }
-
- setConcrete( project.isConcrete() );
}
public String getModulePathAdjustment( MavenProject moduleProject ) throws IOException
@@ -1612,7 +1583,7 @@
projectReferences.put( getProjectReferenceId( project.getGroupId(), project.getArtifactId(), project.getVersion() ), project );
}
- public static String getProjectReferenceId( String groupId, String artifactId, String version )
+ private static String getProjectReferenceId( String groupId, String artifactId, String version )
{
return groupId + ":" + artifactId + ":" + version;
}
@@ -1704,7 +1675,6 @@
// 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() )
{
- // FIXME: Why aren't we using project.getArtifact() for the second parameter here??
pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact );
return pluginArtifact;
}
@@ -1824,159 +1794,4 @@
return clone;
}
-// ----------------------------------------------------------------------------
-// CODE BELOW IS USED TO PRESERVE DYNAMISM IN THE BUILD SECTION OF THE POM.
-// ----------------------------------------------------------------------------
-
- private Build dynamicBuild;
-
- private Build originalInterpolatedBuild;
-
- private List dynamicCompileSourceRoots;
-
- private List originalInterpolatedCompileSourceRoots;
-
- private List dynamicTestCompileSourceRoots;
-
- private List originalInterpolatedTestCompileSourceRoots;
-
- private List dynamicScriptSourceRoots;
-
- private List originalInterpolatedScriptSourceRoots;
-
- private boolean isConcrete = false;
-
- public boolean isConcrete()
- {
- return isConcrete;
- }
-
- public void setConcrete( boolean concrete )
- {
- isConcrete = concrete;
- }
-
- public Build getDynamicBuild()
- {
- return dynamicBuild;
- }
-
- public Build getOriginalInterpolatedBuild()
- {
- return originalInterpolatedBuild;
- }
-
- public List getDynamicCompileSourceRoots()
- {
- return dynamicCompileSourceRoots;
- }
-
- public List getOriginalInterpolatedCompileSourceRoots()
- {
- return originalInterpolatedCompileSourceRoots;
- }
-
- public List getDynamicTestCompileSourceRoots()
- {
- return dynamicTestCompileSourceRoots;
- }
-
- public List getOriginalInterpolatedTestCompileSourceRoots()
- {
- return originalInterpolatedTestCompileSourceRoots;
- }
-
- public List getDynamicScriptSourceRoots()
- {
- return dynamicScriptSourceRoots;
- }
-
- public List getOriginalInterpolatedScriptSourceRoots()
- {
- return originalInterpolatedScriptSourceRoots;
- }
-
- public void clearRestorableRoots()
- {
- dynamicCompileSourceRoots = null;
- dynamicTestCompileSourceRoots = null;
- dynamicScriptSourceRoots = null;
- originalInterpolatedCompileSourceRoots = null;
- originalInterpolatedScriptSourceRoots = null;
- originalInterpolatedTestCompileSourceRoots = null;
- }
-
- public void clearRestorableBuild()
- {
- dynamicBuild = null;
- originalInterpolatedBuild = null;
- }
-
- public void preserveCompileSourceRoots( List originalInterpolatedCompileSourceRoots )
- {
- dynamicCompileSourceRoots = getCompileSourceRoots();
- this.originalInterpolatedCompileSourceRoots = originalInterpolatedCompileSourceRoots;
- }
-
- public void preserveTestCompileSourceRoots( List originalInterpolatedTestCompileSourceRoots )
- {
- dynamicTestCompileSourceRoots = getTestCompileSourceRoots();
- this.originalInterpolatedTestCompileSourceRoots = originalInterpolatedTestCompileSourceRoots;
- }
-
- public void preserveScriptSourceRoots( List originalInterpolatedScriptSourceRoots )
- {
- dynamicScriptSourceRoots = getScriptSourceRoots();
- this.originalInterpolatedScriptSourceRoots = originalInterpolatedScriptSourceRoots;
- }
-
- public void preserveBuild( Build originalInterpolatedBuild )
- {
- dynamicBuild = getBuild();
- this.originalInterpolatedBuild = originalInterpolatedBuild;
-
- this.originalInterpolatedBuild.setPluginManagement( null );
- this.originalInterpolatedBuild.setPlugins( null );
- }
-
- protected void setDynamicBuild( Build dynamicBuild )
- {
- this.dynamicBuild = dynamicBuild;
- }
-
- protected void setOriginalInterpolatedBuild( Build originalInterpolatedBuild )
- {
- this.originalInterpolatedBuild = originalInterpolatedBuild;
- }
-
- protected void setDynamicCompileSourceRoots( List dynamicCompileSourceRoots )
- {
- this.dynamicCompileSourceRoots = dynamicCompileSourceRoots;
- }
-
- protected void setOriginalInterpolatedCompileSourceRoots( List originalInterpolatedCompileSourceRoots )
- {
- this.originalInterpolatedCompileSourceRoots = originalInterpolatedCompileSourceRoots;
- }
-
- protected void setDynamicTestCompileSourceRoots( List dynamicTestCompileSourceRoots )
- {
- this.dynamicTestCompileSourceRoots = dynamicTestCompileSourceRoots;
- }
-
- protected void setOriginalInterpolatedTestCompileSourceRoots( List originalInterpolatedTestCompileSourceRoots )
- {
- this.originalInterpolatedTestCompileSourceRoots = originalInterpolatedTestCompileSourceRoots;
- }
-
- protected void setDynamicScriptSourceRoots( List dynamicScriptSourceRoots )
- {
- this.dynamicScriptSourceRoots = dynamicScriptSourceRoots;
- }
-
- protected void setOriginalInterpolatedScriptSourceRoots( List originalInterpolatedScriptSourceRoots )
- {
- this.originalInterpolatedScriptSourceRoots = originalInterpolatedScriptSourceRoots;
- }
-
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Mon Aug 25 14:11:19 2008
@@ -24,7 +24,6 @@
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.wagon.events.TransferListener;
import java.io.File;
@@ -114,14 +113,4 @@
ProjectBuilderConfiguration config,
boolean checkDistributionManagementStatus )
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/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java Mon Aug 25 14:11:19 2008
@@ -562,8 +562,6 @@
public static Model cloneModel( Model model )
{
// TODO: would be nice for the modello:java code to generate this as a copy constructor
- // FIXME: Fix deep cloning issues with existing plugin instances (setting
- // a version when resolved will pollute the original model instance)
Model newModel = new Model();
ModelInheritanceAssembler assembler = new DefaultModelInheritanceAssembler();
newModel.setModelVersion( model.getModelVersion() );
@@ -583,17 +581,6 @@
return newModel;
}
- public static Build cloneBuild( Build build )
- {
- ModelInheritanceAssembler assembler = new DefaultModelInheritanceAssembler();
-
- Build clone = new Build();
-
- assembler.assembleBuildInheritance( clone, build, false );
-
- return clone;
- }
-
private static List cloneProfiles( List profiles )
{
if ( profiles == null )
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java Mon Aug 25 14:11:19 2008
@@ -3,7 +3,6 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.profiles.ProfileManager;
-import java.util.Date;
import java.util.Properties;
public interface ProjectBuilderConfiguration
@@ -25,8 +24,4 @@
ProjectBuilderConfiguration setExecutionProperties( Properties executionProperties );
- Date getBuildStartTime();
-
- ProjectBuilderConfiguration setBuildStartTime( Date buildStartTime );
-
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java Mon Aug 25 14:11:19 2008
@@ -96,16 +96,6 @@
String id = repo.getId();
String url = repo.getUrl();
- if ( id == null || id.trim().length() < 1 )
- {
- throw new InvalidRepositoryException( "Repository ID must not be empty (URL is: " + url + ").", new IllegalArgumentException( "repository.id" ) );
- }
-
- if ( url == null || url.trim().length() < 1 )
- {
- throw new InvalidRepositoryException( "Repository URL must not be empty (ID is: " + id + ").", new IllegalArgumentException( "repository.url" ) );
- }
-
// TODO: make this a map inside the factory instead, so no lookup needed
ArtifactRepositoryLayout layout = getRepositoryLayout( repo, container );
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Mon Aug 25 14:11:19 2008
@@ -19,15 +19,6 @@
* under the License.
*/
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -58,6 +49,14 @@
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -77,69 +76,13 @@
// lazily instantiated and cached.
private MavenProject superProject;
-
- private Set warnedPoms = new HashSet();
/**
- * Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.
+ * Retrieve the metadata for the project from the repository.
+ * Uses the ProjectBuilder, to enable post-processing and inheritance calculation before retrieving the
+ * associated artifacts.
*/
- public Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
- throws ArtifactMetadataRetrievalException
- {
- if ( artifact instanceof ActiveProjectArtifact )
- {
- return artifact;
- }
-
- ProjectRelocation rel = retrieveRelocatedProject( artifact, localRepository, remoteRepositories );
-
- if ( rel == null )
- {
- return artifact;
- }
-
- MavenProject project = rel.project;
- if ( project == null || getRelocationKey( artifact ).equals( getRelocationKey( project.getArtifact() ) ) )
- {
- return artifact;
- }
-
-
- // NOTE: Using artifact information here, since some POMs are deployed
- // to central with one version in the filename, but another in the <version> string!
- // Case in point: org.apache.ws.commons:XmlSchema:1.1:pom.
- //
- // Since relocation triggers a reconfiguration of the artifact's information
- // in retrieveRelocatedProject(..), this is safe to do.
- Artifact result = null;
- if ( artifact.getClassifier() != null )
- {
- result = artifactFactory.createArtifactWithClassifier( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getClassifier() );
- }
- else
- {
- result = artifactFactory.createArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getScope(), artifact.getType() );
- }
-
- result.setResolved( artifact.isResolved() );
- result.setFile( artifact.getFile() );
-
- result.setScope( artifact.getScope() );
- result.setArtifactHandler( artifact.getArtifactHandler() );
- result.setDependencyFilter( artifact.getDependencyFilter() );
- result.setDependencyTrail( artifact.getDependencyTrail() );
- result.setOptional( artifact.isOptional() );
- result.setRelease( artifact.isRelease() );
-
- return result;
- }
-
- private String getRelocationKey( Artifact artifact )
- {
- return artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion();
- }
-
- private ProjectRelocation retrieveRelocatedProject( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
+ public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
throws ArtifactMetadataRetrievalException
{
MavenProject project = null;
@@ -165,31 +108,23 @@
}
catch ( InvalidProjectModelException e )
{
- String id = pomArtifact.getId();
-
- if ( !warnedPoms.contains( id ) )
+ getLogger().warn( "POM for \'" + pomArtifact +
+ "\' is invalid. It will be ignored for artifact resolution. Reason: " + e.getMessage() );
+
+ if ( getLogger().isDebugEnabled() )
{
- warnedPoms.add( pomArtifact.getId() );
+ getLogger().debug( "Reason: " + e.getMessage() );
- getLogger().warn( "POM for \'"
- + pomArtifact
- + "\' is invalid.\n\nIts dependencies (if any) will NOT be available to the current build." );
+ ModelValidationResult validationResult = e.getValidationResult();
- if ( getLogger().isDebugEnabled() )
+ if ( validationResult != null )
{
- getLogger().debug( "Reason: " + e.getMessage() );
-
- ModelValidationResult validationResult = e.getValidationResult();
-
- if ( validationResult != null )
+ getLogger().debug( "\nValidation Errors:" );
+ for ( Iterator i = validationResult.getMessages().iterator(); i.hasNext(); )
{
- getLogger().debug( "\nValidation Errors:" );
- for ( Iterator i = validationResult.getMessages().iterator(); i.hasNext(); )
- {
- getLogger().debug( i.next().toString() );
- }
- getLogger().debug( "\n" );
+ getLogger().debug( i.next().toString() );
}
+ getLogger().debug( "\n" );
}
}
@@ -219,18 +154,15 @@
if ( relocation.getGroupId() != null )
{
artifact.setGroupId( relocation.getGroupId() );
- project.setGroupId( relocation.getGroupId() );
}
if ( relocation.getArtifactId() != null )
{
artifact.setArtifactId( relocation.getArtifactId() );
- project.setArtifactId( relocation.getArtifactId() );
}
if ( relocation.getVersion() != null )
{
//note: see MNG-3454. This causes a problem, but fixing it may break more.
artifact.setVersionRange( VersionRange.createFromVersion( relocation.getVersion() ) );
- project.setVersion( relocation.getVersion() );
}
if ( artifact.getDependencyFilter() != null &&
@@ -281,33 +213,8 @@
}
while ( !done );
- ProjectRelocation rel = new ProjectRelocation();
- rel.project = project;
- rel.pomArtifact = pomArtifact;
-
- return rel;
- }
-
- /**
- * Retrieve the metadata for the project from the repository.
- * Uses the ProjectBuilder, to enable post-processing and inheritance calculation before retrieving the
- * associated artifacts.
- */
- public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
- throws ArtifactMetadataRetrievalException
- {
- ProjectRelocation rel = retrieveRelocatedProject( artifact, localRepository, remoteRepositories );
-
- if ( rel == null )
- {
- return null;
- }
-
- MavenProject project = rel.project;
- Artifact pomArtifact = rel.pomArtifact;
-
// last ditch effort to try to get this set...
- if ( artifact.getDownloadUrl() == null && pomArtifact != null )
+ if ( artifact.getDownloadUrl() == null )
{
// TODO: this could come straight from the project, negating the need to set it in the project itself?
artifact.setDownloadUrl( pomArtifact.getDownloadUrl() );
@@ -520,11 +427,4 @@
return versions;
}
-
- private static final class ProjectRelocation
- {
- private MavenProject project;
- private Artifact pomArtifact;
- }
-
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java Mon Aug 25 14:11:19 2008
@@ -289,90 +289,83 @@
child.setBuild( childBuild );
}
- assembleBuildInheritance( childBuild, parentBuild, true );
- }
- }
-
- public void assembleBuildInheritance( Build childBuild,
- Build parentBuild,
- boolean handleAsInheritance )
- {
- // The build has been set but we want to step in here and fill in
- // values that have not been set by the child.
+ // The build has been set but we want to step in here and fill in
+ // values that have not been set by the child.
- if ( childBuild.getSourceDirectory() == null )
- {
- childBuild.setSourceDirectory( parentBuild.getSourceDirectory() );
- }
+ if ( childBuild.getSourceDirectory() == null )
+ {
+ childBuild.setSourceDirectory( parentBuild.getSourceDirectory() );
+ }
- if ( childBuild.getScriptSourceDirectory() == null )
- {
- childBuild.setScriptSourceDirectory( parentBuild.getScriptSourceDirectory() );
- }
+ if ( childBuild.getScriptSourceDirectory() == null )
+ {
+ childBuild.setScriptSourceDirectory( parentBuild.getScriptSourceDirectory() );
+ }
- if ( childBuild.getTestSourceDirectory() == null )
- {
- childBuild.setTestSourceDirectory( parentBuild.getTestSourceDirectory() );
- }
+ if ( childBuild.getTestSourceDirectory() == null )
+ {
+ childBuild.setTestSourceDirectory( parentBuild.getTestSourceDirectory() );
+ }
- if ( childBuild.getOutputDirectory() == null )
- {
- childBuild.setOutputDirectory( parentBuild.getOutputDirectory() );
- }
+ if ( childBuild.getOutputDirectory() == null )
+ {
+ childBuild.setOutputDirectory( parentBuild.getOutputDirectory() );
+ }
- if ( childBuild.getTestOutputDirectory() == null )
- {
- childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
- }
+ if ( childBuild.getTestOutputDirectory() == null )
+ {
+ childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
+ }
- // Extensions are accumlated
- ModelUtils.mergeExtensionLists( childBuild, parentBuild );
+ // Extensions are accumlated
+ ModelUtils.mergeExtensionLists( childBuild, parentBuild );
- if ( childBuild.getDirectory() == null )
- {
- childBuild.setDirectory( parentBuild.getDirectory() );
- }
+ if ( childBuild.getDirectory() == null )
+ {
+ childBuild.setDirectory( parentBuild.getDirectory() );
+ }
- if ( childBuild.getDefaultGoal() == null )
- {
- childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
- }
+ if ( childBuild.getDefaultGoal() == null )
+ {
+ childBuild.setDefaultGoal( parentBuild.getDefaultGoal() );
+ }
- if ( childBuild.getFinalName() == null )
- {
- childBuild.setFinalName( parentBuild.getFinalName() );
- }
+ if ( childBuild.getFinalName() == null )
+ {
+ childBuild.setFinalName( parentBuild.getFinalName() );
+ }
- ModelUtils.mergeFilterLists( childBuild.getFilters(), parentBuild.getFilters() );
+ ModelUtils.mergeFilterLists( childBuild.getFilters(), parentBuild.getFilters() );
- List resources = childBuild.getResources();
- if ( ( resources == null ) || resources.isEmpty() )
- {
- childBuild.setResources( parentBuild.getResources() );
- }
+ List resources = childBuild.getResources();
+ if ( ( resources == null ) || resources.isEmpty() )
+ {
+ childBuild.setResources( parentBuild.getResources() );
+ }
- resources = childBuild.getTestResources();
- if ( ( resources == null ) || resources.isEmpty() )
- {
- childBuild.setTestResources( parentBuild.getTestResources() );
- }
+ resources = childBuild.getTestResources();
+ if ( ( resources == null ) || resources.isEmpty() )
+ {
+ childBuild.setTestResources( parentBuild.getTestResources() );
+ }
- // Plugins are aggregated if Plugin.inherit != false
- ModelUtils.mergePluginLists( childBuild, parentBuild, handleAsInheritance );
+ // Plugins are aggregated if Plugin.inherit != false
+ ModelUtils.mergePluginLists( childBuild, parentBuild, true );
- // Plugin management :: aggregate
- PluginManagement dominantPM = childBuild.getPluginManagement();
- PluginManagement recessivePM = parentBuild.getPluginManagement();
+ // Plugin management :: aggregate
+ PluginManagement dominantPM = childBuild.getPluginManagement();
+ PluginManagement recessivePM = parentBuild.getPluginManagement();
- if ( ( dominantPM == null ) && ( recessivePM != null ) )
- {
- // FIXME: Filter out the inherited == false stuff!
- childBuild.setPluginManagement( recessivePM );
- }
- else
- {
- ModelUtils.mergePluginLists( childBuild.getPluginManagement(), parentBuild.getPluginManagement(),
- false );
+ if ( ( dominantPM == null ) && ( recessivePM != null ) )
+ {
+ // FIXME: Filter out the inherited == false stuff!
+ childBuild.setPluginManagement( recessivePM );
+ }
+ else
+ {
+ ModelUtils.mergePluginLists( childBuild.getPluginManagement(), parentBuild.getPluginManagement(),
+ false );
+ }
}
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/inheritance/ModelInheritanceAssembler.java Mon Aug 25 14:11:19 2008
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
/**
@@ -34,9 +33,5 @@
void assembleModelInheritance( Model child, Model parent );
- void assembleBuildInheritance( Build childBuild,
- Build parentBuild,
- boolean handleAsInheritance );
-
void copyModel( Model dest, Model source );
}
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java Mon Aug 25 14:11:19 2008
@@ -20,9 +20,7 @@
*/
import org.apache.maven.model.Model;
-import org.apache.maven.project.ProjectBuilderConfiguration;
-import java.io.File;
import java.util.Map;
/**
@@ -32,34 +30,11 @@
*/
public interface ModelInterpolator
{
- String DEFAULT_BUILD_TIMESTAMP_FORMAT = "yyyyMMdd-hhmm";
-
- String BUILD_TIMESTAMP_FORMAT_PROPERTY = "maven.build.timestamp.format";
-
String ROLE = ModelInterpolator.class.getName();
- /**
- * @deprecated Use {@link ModelInterpolator#interpolate(Model, File, ProjectBuilderConfiguration, boolean)} instead.
- */
Model interpolate( Model project, Map context )
throws ModelInterpolationException;
- /**
- * @deprecated Use {@link ModelInterpolator#interpolate(Model, File, ProjectBuilderConfiguration, boolean)} instead.
- */
Model interpolate( Model model, Map context, boolean strict )
throws ModelInterpolationException;
-
- Model interpolate( Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugEnabled )
- throws ModelInterpolationException;
-
- String interpolate( String src,
- Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugEnabled )
- throws ModelInterpolationException;
}
\ No newline at end of file