You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/09/13 11:28:24 UTC
svn commit: r694907 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/errors/
maven-core/src/main/java/org/apache/maven/extension/
maven-core/src/main/java/org/apache/maven/plugin/
maven-core/src/main/resources/META-INF/plexus/ ma...
Author: sisbell
Date: Sat Sep 13 02:28:23 2008
New Revision: 694907
URL: http://svn.apache.org/viewvc?rev=694907&view=rev
Log:
Replaced interpolator code.
Added:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java (contents, props changed)
- copied, changed from r694659, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolationException.java
Removed:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultBuildExtensionScannerTest.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/interpolation/
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/interpolation/
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultProjectErrorReporter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorReporter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorTips.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionScanningException.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
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/InvalidProjectModelException.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuildingException.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/IdModelContainerFactory.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.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/impl/DefaultProjectBuilder.java
maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml
maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/InterpolatorProperty.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
maven/components/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java Sat Sep 13 02:28:23 2008
@@ -14,6 +14,7 @@
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.extension.ExtensionManagerException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.apache.maven.lifecycle.LifecycleException;
import org.apache.maven.lifecycle.LifecycleLoaderException;
import org.apache.maven.lifecycle.LifecycleSpecificationException;
@@ -37,7 +38,6 @@
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.errors.ProjectErrorReporter;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.reactor.MissingModuleException;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java Sat Sep 13 02:28:23 2008
@@ -1,6 +1,7 @@
package org.apache.maven.errors;
import org.apache.maven.ProjectCycleException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
@@ -23,7 +24,6 @@
import org.apache.maven.project.DuplicateArtifactAttachmentException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.realm.RealmManagementException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.configuration.PlexusConfiguration;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java Sat Sep 13 02:28:23 2008
@@ -44,7 +44,7 @@
import org.apache.maven.errors.DefaultProjectErrorReporter;
import org.apache.maven.errors.ProjectErrorReporter;
import org.apache.maven.errors.ProjectReporterManager;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.reactor.MissingModuleException;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultProjectErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultProjectErrorReporter.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultProjectErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultProjectErrorReporter.java Sat Sep 13 02:28:23 2008
@@ -21,7 +21,7 @@
import org.apache.maven.project.ProjectBuilderConfiguration;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.ModelAndFile;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorReporter.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorReporter.java Sat Sep 13 02:28:23 2008
@@ -18,7 +18,7 @@
import org.apache.maven.project.ProjectBuilderConfiguration;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.ModelAndFile;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorTips.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorTips.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorTips.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/ProjectErrorTips.java Sat Sep 13 02:28:23 2008
@@ -11,7 +11,7 @@
import org.apache.maven.project.DuplicateProjectException;
import org.apache.maven.project.InvalidProjectVersionException;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.extension.ModelInterpolationException;
import org.apache.maven.project.validation.ModelValidationResult;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java Sat Sep 13 02:28:23 2008
@@ -35,12 +35,13 @@
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuilderConfiguration;
import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.builder.PomClassicTransformer;
import org.apache.maven.extension.lineage.ModelLineage;
import org.apache.maven.extension.lineage.ModelLineageBuilder;
import org.apache.maven.extension.lineage.ModelLineageIterator;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
-import org.apache.maven.project.interpolation.ModelInterpolator;
+import org.apache.maven.extension.ModelInterpolationException;
import org.apache.maven.reactor.MissingModuleException;
+import org.apache.maven.shared.model.InterpolatorProperty;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.console.ConsoleLogger;
@@ -68,8 +69,6 @@
private ModelLineageBuilder modelLineageBuilder;
- private ModelInterpolator modelInterpolator;
-
// cached.
private MavenProject basicSuperProject;
@@ -77,19 +76,6 @@
{
}
- protected DefaultBuildExtensionScanner( ExtensionManager extensionManager,
- MavenProjectBuilder projectBuilder,
- ModelLineageBuilder modelLineageBuilder,
- ModelInterpolator modelInterpolator,
- Logger logger )
- {
- this.extensionManager = extensionManager;
- this.projectBuilder = projectBuilder;
- this.modelLineageBuilder = modelLineageBuilder;
- this.modelInterpolator = modelInterpolator;
- this.logger = logger;
- }
-
public void scanForBuildExtensions( List files,
MavenExecutionRequest request,
boolean ignoreMissingModules )
@@ -176,8 +162,18 @@
config.setExecutionProperties( execProps );
- model = modelInterpolator.interpolate( model, modelPom.getParentFile(), config, getLogger().isDebugEnabled() );
-
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getExecutionProperties()));
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getUserProperties()));
+ model = PomClassicTransformer.interpolateModel( model, interpolatorProperties, modelPom.getParentFile());
+
+ /*
+ try {
+ model = modelInterpolator.interpolate( model, modelPom.getParentFile(), config, getLogger().isDebugEnabled() );
+ } catch (ModelInterpolationException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ */
grabManagedPluginsWithExtensionsFlagTurnedOn( model, managedPluginsWithExtensionsFlag );
Properties modelProps = model.getProperties();
@@ -218,13 +214,14 @@
}
}
}
- catch ( ModelInterpolationException e )
+ catch ( IOException e )
{
throw new ExtensionScanningException( "Failed to interpolate model from: " + pom
- + " prior to scanning for extensions.", pom, e );
+ + " prior to scanning for extensions.", pom, new ModelInterpolationException(e.getMessage()) );
}
}
+
private void grabManagedPluginsWithExtensionsFlagTurnedOn( Model model,
Set managedPluginsWithExtensionsFlag )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionScanningException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionScanningException.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionScanningException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionScanningException.java Sat Sep 13 02:28:23 2008
@@ -4,7 +4,7 @@
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.extension.ModelInterpolationException;
import java.io.File;
import java.io.IOException;
Copied: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java (from r694659, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolationException.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java?p2=maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java&p1=maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolationException.java&r1=694659&r2=694907&rev=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolationException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java Sat Sep 13 02:28:23 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.extension;
/*
* Licensed to the Apache Software Foundation (ASF) under one
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.1
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ModelInterpolationException.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Sat Sep 13 02:28:23 2008
@@ -20,6 +20,7 @@
*/
import org.apache.maven.ArtifactFilterManager;
+import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -58,10 +59,9 @@
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.ModelUtils;
+import org.apache.maven.project.builder.PomClassicTransformer;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
-import org.apache.maven.project.interpolation.ModelInterpolator;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.realm.MavenRealmManager;
import org.apache.maven.realm.RealmManagementException;
@@ -143,8 +143,6 @@
protected MavenProjectBuilder mavenProjectBuilder;
- protected ModelInterpolator modelInterpolator;
-
protected PluginMappingManager pluginMappingManager;
private PluginManagerSupport pluginManagerSupport;
@@ -560,23 +558,13 @@
{
try
{
- String interpolatedDom = modelInterpolator.interpolate( String.valueOf( dom ),
- project.getModel(),
- project.getBasedir(),
- session.getProjectBuilderConfiguration(),
- getLogger().isDebugEnabled() );
-
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( session.getProjectBuilderConfiguration().getExecutionProperties()));
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( session.getProjectBuilderConfiguration().getUserProperties()));
+ String interpolatedDom =
+ PomClassicTransformer.interpolateXmlString( String.valueOf( dom ), interpolatorProperties );
dom = Xpp3DomBuilder.build( new StringReader( interpolatedDom ) );
}
- catch ( ModelInterpolationException e )
- {
- throw new PluginManagerException(
- mojoDescriptor,
- project,
- "Failed to calculate concrete state for configuration of: "
- + mojoDescriptor.getHumanReadableKey(),
- e );
- }
catch ( XmlPullParserException e )
{
throw new PluginManagerException(
Modified: maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-core/src/main/resources/META-INF/plexus/components.xml Sat Sep 13 02:28:23 2008
@@ -192,9 +192,6 @@
<role>org.apache.maven.extension.ExtensionManager</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.extension.lineage.ModelLineageBuilder</role>
<role-hint>default</role-hint>
</requirement>
@@ -240,9 +237,6 @@
<role>org.apache.maven.plugin.PluginManagerSupport</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.ArtifactFilterManager</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml (original)
+++ maven/components/trunk/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml Sat Sep 13 02:28:23 2008
@@ -27,9 +27,6 @@
<role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.inheritance.ModelInheritanceAssembler</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/main/resources/META-INF/plexus/components.xml Sat Sep 13 02:28:23 2008
@@ -28,9 +28,6 @@
<role>org.apache.maven.extension.ExtensionManager</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.extension.lineage.ModelLineageBuilder</role>
<role-hint>default</role-hint>
</requirement>
Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml (original)
+++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-core/src/test/resources/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.xml Sat Sep 13 02:28:23 2008
@@ -24,9 +24,6 @@
<implementation>org.apache.maven.project.DefaultMavenProjectBuilder</implementation>
<requirements>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/main/resources/META-INF/plexus/components.xml Sat Sep 13 02:28:23 2008
@@ -135,15 +135,6 @@
</requirement>
</requirements>
</component>
-<!--
- |
- |
- |
- -->
- <component>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- <implementation>org.apache.maven.project.interpolation.RegexBasedModelInterpolator</implementation>
- </component>
<!--
|
@@ -171,9 +162,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Sat Sep 13 02:28:23 2008
@@ -92,9 +92,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.inheritance.ModelInheritanceAssembler</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/trunk/maven-embedder/src/test/projects/complex-project/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Sat Sep 13 02:28:23 2008
@@ -86,9 +86,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
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=694907&r1=694906&r2=694907&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 Sat Sep 13 02:28:23 2008
@@ -20,6 +20,7 @@
*/
import org.apache.maven.MavenTools;
+import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.InvalidRepositoryException;
@@ -43,8 +44,6 @@
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.builder.PomArtifactResolver;
import org.apache.maven.project.builder.ProjectBuilder;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
-import org.apache.maven.project.interpolation.ModelInterpolator;
import org.apache.maven.project.validation.ModelValidationResult;
import org.apache.maven.project.validation.ModelValidator;
import org.apache.maven.project.workspace.ProjectWorkspace;
@@ -90,8 +89,6 @@
// TODO: make it a component
private MavenXpp3Reader modelReader;
- private ModelInterpolator modelInterpolator;
-
private ProfileAdvisor profileAdvisor;
private MavenTools mavenTools;
@@ -273,7 +270,7 @@
try
{
- project = interpolateModel( project.getModel(), null, null, config );
+ project = constructMavenProjectFromModel( project.getModel(), null, null, config );
project.setActiveProfiles( activeProfiles );
project.setRemoteArtifactRepositories(
mavenTools.buildArtifactRepositories( superModel.getRepositories() ) );
@@ -285,11 +282,6 @@
throw new ProjectBuildingException( STANDALONE_SUPERPOM_GROUPID + ":" + STANDALONE_SUPERPOM_ARTIFACTID,
"Maven super-POM contains an invalid repository!", e );
}
- catch ( ModelInterpolationException e )
- {
- throw new ProjectBuildingException( STANDALONE_SUPERPOM_GROUPID + ":" + STANDALONE_SUPERPOM_ARTIFACTID,
- "Maven super-POM contains an invalid expressions!", e );
- }
project.setExecutionRoot( true );
@@ -393,11 +385,7 @@
MavenProject project;
try
{
- project = interpolateModel( model, projectDescriptor, parentDescriptor, config );
- }
- catch ( ModelInterpolationException e )
- {
- throw new InvalidProjectModelException( projectId, e.getMessage(), projectDescriptor, e );
+ project = constructMavenProjectFromModel( model, projectDescriptor, parentDescriptor, config );
}
catch ( InvalidRepositoryException e )
{
@@ -417,19 +405,11 @@
return project;
}
- private MavenProject interpolateModel( Model model, File pomFile, File parentFile,
+ private MavenProject constructMavenProjectFromModel( Model model, File pomFile, File parentFile,
ProjectBuilderConfiguration config )
- throws ProjectBuildingException, ModelInterpolationException, InvalidRepositoryException
+ throws ProjectBuildingException, InvalidRepositoryException
{
- File projectDir = null;
- if ( pomFile != null )
- {
- projectDir = pomFile.getAbsoluteFile().getParentFile();
- }
- model = modelInterpolator.interpolate( model, projectDir, config, getLogger().isDebugEnabled() );
-
- // We will return a different project object using the new model (hence the need to return a project, not just modify the parameter)
MavenProject project = new MavenProject( model, artifactFactory, mavenTools, this, config );
Artifact projectArtifact = artifactFactory.createBuildArtifact( project.getGroupId(), project.getArtifactId(),
@@ -551,11 +531,15 @@
throw new IllegalArgumentException( "projectBuilder: not initialized" );
}
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getExecutionProperties()));
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getUserProperties()));
+
MavenProject mavenProject;
try
{
mavenProject = projectBuilder.buildFromLocalPath( new FileInputStream( projectDescriptor ), Arrays.asList(
- getSuperProject( config, projectDescriptor, true ).getModel() ), null, null, resolver,
+ getSuperProject( config, projectDescriptor, true ).getModel() ), null, interpolatorProperties, resolver,
projectDescriptor.getParentFile(),
config );
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/InvalidProjectModelException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/InvalidProjectModelException.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/InvalidProjectModelException.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/InvalidProjectModelException.java Sat Sep 13 02:28:23 2008
@@ -20,7 +20,6 @@
*/
import org.apache.maven.artifact.InvalidRepositoryException;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.project.validation.ModelValidationResult;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -68,20 +67,6 @@
this( projectId, message, new File( pomLocation ) );
}
- /**
- * @deprecated use {@link File} constructor for pomLocation
- */
- public InvalidProjectModelException( String projectId, String pomLocation, String message,
- ModelInterpolationException cause )
- {
- this( projectId, message, new File( pomLocation ), cause );
- }
-
- public InvalidProjectModelException( String projectId, String message, File pomLocation,
- ModelInterpolationException cause )
- {
- super( projectId, message, pomLocation, cause );
- }
/**
* @deprecated use {@link File} constructor for pomLocation
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Sat Sep 13 02:28:23 2008
@@ -22,7 +22,6 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import java.io.File;
import java.util.List;
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuildingException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuildingException.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuildingException.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuildingException.java Sat Sep 13 02:28:23 2008
@@ -6,7 +6,6 @@
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.profiles.activation.ProfileActivationException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
@@ -251,30 +250,6 @@
pomFile = new File( pomLocation );
}
- protected ProjectBuildingException( String projectId, String message, File pomFile,
- ModelInterpolationException cause )
- {
- super( message, cause );
- this.projectId = projectId;
- this.pomFile = pomFile;
- }
-
- /**
- * @deprecated use {@link File} constructor for pomLocation
- */
- protected ProjectBuildingException( String projectId, String message, String pomLocation,
- ModelInterpolationException cause )
- {
- super( message, cause );
- this.projectId = projectId;
- pomFile = new File( pomLocation );
- }
-
- public ProjectBuildingException( String projectId, String message, ModelInterpolationException cause )
- {
- super( message, cause );
- this.projectId = projectId;
- }
public File getPomFile()
{
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=694907&r1=694906&r2=694907&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 Sat Sep 13 02:28:23 2008
@@ -95,19 +95,19 @@
{
if ( version == null && mp.getUri().equals( uri + "/version" ) )
{
- this.version = mp.getValue();
+ this.version = mp.getResolvedValue();
}
else if ( artifactId == null && mp.getUri().equals( uri + "/artifactId" ) )
{
- this.artifactId = mp.getValue();
+ this.artifactId = mp.getResolvedValue();
}
else if ( groupId == null && mp.getUri().equals( uri + "/groupId" ) )
{
- this.groupId = mp.getValue();
+ this.groupId = mp.getResolvedValue();
}
else if ( mp.getUri().equals( ProjectUri.Dependencies.Dependency.type ) && type == null )
{
- this.type = mp.getValue();
+ this.type = mp.getResolvedValue();
}
}
if ( groupId == null )
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java Sat Sep 13 02:28:23 2008
@@ -70,7 +70,7 @@
{
if ( mp.getUri().endsWith( "/id" ) )
{
- this.id = mp.getValue();
+ this.id = mp.getResolvedValue();
}
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Sat Sep 13 02:28:23 2008
@@ -65,6 +65,8 @@
private File parentFile;
+ private File projectDirectory;
+
/**
* Constructor
*
@@ -128,6 +130,21 @@
{
this.parentFile = parentFile;
}
+
+ public void setProjectDirectory(File projectDirectory)
+ {
+ this.projectDirectory = projectDirectory;
+ }
+
+ public File getProjectDirectory()
+ {
+ return projectDirectory;
+ }
+
+ public boolean isPomInBuild()
+ {
+ return projectDirectory != null;
+ }
/**
* Returns true if groupId.equals(a.groupId) && artifactId.equals(a.artifactId) && version.equals(a.version),
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=694907&r1=694906&r2=694907&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 Sat Sep 13 02:28:23 2008
@@ -20,18 +20,15 @@
*/
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.shared.model.DomainModel;
-import org.apache.maven.shared.model.ModelContainer;
-import org.apache.maven.shared.model.ModelContainerAction;
-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.model.Model;
+import org.apache.maven.shared.model.*;
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.io.File;
+import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -138,9 +135,9 @@
List<ModelProperty> props = new ArrayList<ModelProperty>();
for ( ModelProperty mp : properties )
{ //TODO: Resolved values
- if ( mp.getValue() != null && ( mp.getValue().contains( "=" ) || mp.getValue().contains( "<" ) ) )
+ if ( mp.getResolvedValue() != null && ( mp.getResolvedValue().contains( "=" ) || mp.getResolvedValue().contains( "<" ) ) )
{
- props.add( new ModelProperty( mp.getUri(), "<![CDATA[" + mp.getValue() + "]]>" ) );
+ props.add( new ModelProperty( mp.getUri(), "<![CDATA[" + mp.getResolvedValue() + "]]>" ) );
}
else
{
@@ -257,9 +254,10 @@
}
/**
- * @see ModelTransformer#transformToModelProperties(java.util.List)
+ * @see ModelTransformer#transformToModelProperties(java.util.List, java.util.List)
*/
- public List<ModelProperty> transformToModelProperties( List<DomainModel> domainModels )
+ public List<ModelProperty> transformToModelProperties( List<DomainModel> domainModels,
+ List<InterpolatorProperty> interpolatorProperties)
throws IOException
{
if ( domainModels == null || domainModels.isEmpty() )
@@ -303,7 +301,7 @@
ModelProperty parentVersion = getPropertyFor( ProjectUri.Parent.version, tmp );
if ( parentVersion != null )
{
- tmp.add( new ModelProperty( ProjectUri.version, parentVersion.getValue() ) );
+ tmp.add( new ModelProperty( ProjectUri.version, parentVersion.getResolvedValue() ) );
}
}
@@ -324,7 +322,7 @@
ModelProperty parentGroupId = getPropertyFor( ProjectUri.Parent.groupId, tmp );
if ( parentGroupId != null )
{
- tmp.add( new ModelProperty( ProjectUri.groupId, parentGroupId.getValue() ) );
+ tmp.add( new ModelProperty( ProjectUri.groupId, parentGroupId.getResolvedValue() ) );
}
}
@@ -342,7 +340,7 @@
for ( ModelProperty mp : container.getProperties() )
{
if ( mp.getUri().equals( ProjectUri.Build.Plugins.Plugin.Executions.Execution.inherited ) &&
- mp.getValue() != null && mp.getValue().equals( "false" ) )
+ mp.getResolvedValue() != null && mp.getResolvedValue().equals( "false" ) )
{
removeProperties.addAll( container.getProperties() );
for ( int j = tmp.indexOf( mp ); j >= 0; j-- )
@@ -370,8 +368,8 @@
{
for ( ModelProperty mp : container.getProperties() )
{
- if ( mp.getUri().equals( ProjectUri.Build.Plugins.Plugin.inherited ) && mp.getValue() != null &&
- mp.getValue().equals( "false" ) )
+ if ( mp.getUri().equals( ProjectUri.Build.Plugins.Plugin.inherited ) && mp.getResolvedValue() != null &&
+ mp.getResolvedValue().equals( "false" ) )
{
removeProperties.addAll( container.getProperties() );
for ( int j = tmp.indexOf( mp ); j >= 0; j-- )
@@ -393,7 +391,7 @@
ModelProperty scmUrlProperty = getPropertyFor( ProjectUri.Scm.url, tmp );
if ( scmUrl.length() == 0 && scmUrlProperty != null )
{
- scmUrl.append( scmUrlProperty.getValue() );
+ scmUrl.append( scmUrlProperty.getResolvedValue() );
for ( String projectName : projectNames )
{
scmUrl.append( "/" ).append( projectName );
@@ -407,7 +405,7 @@
scmUrlProperty = getPropertyFor( ProjectUri.Scm.connection, tmp );
if ( scmConnectionUrl.length() == 0 && scmUrlProperty != null )
{
- scmConnectionUrl.append( scmUrlProperty.getValue() );
+ scmConnectionUrl.append( scmUrlProperty.getResolvedValue() );
for ( String projectName : projectNames )
{
scmConnectionUrl.append( "/" ).append( projectName );
@@ -420,7 +418,7 @@
scmUrlProperty = getPropertyFor( ProjectUri.Scm.developerConnection, tmp );
if ( scmDeveloperUrl.length() == 0 && scmUrlProperty != null )
{
- scmDeveloperUrl.append( scmUrlProperty.getValue() );
+ scmDeveloperUrl.append( scmUrlProperty.getResolvedValue() );
for ( String projectName : projectNames )
{
scmDeveloperUrl.append( "/" ).append( projectName );
@@ -489,29 +487,95 @@
ModelProperty artifactId = getPropertyFor( ProjectUri.artifactId, tmp );
if ( artifactId != null )
{
- projectNames.add( 0, artifactId.getValue() );
+ projectNames.add( 0, artifactId.getResolvedValue() );
}
tmp.removeAll( clearedProperties );
modelProperties.addAll( tmp );
modelProperties.removeAll( clearedProperties );
+ }
- if ( domainModels.indexOf( domainModel ) == 0 )
+ interpolateModelProperties( modelProperties, interpolatorProperties, ((PomClassicDomainModel) domainModels.get(0)) );
+ return modelProperties;
+ }
+
+ public static String interpolateXmlString( String xml, List<InterpolatorProperty> interpolatorProperties )
+ throws IOException
+ {
+ List<ModelProperty> modelProperties =
+ ModelMarshaller.marshallXmlToModelProperties( new ByteArrayInputStream(xml.getBytes()), ProjectUri.baseUri, uris );
+
+ Map<String, String> aliases = new HashMap<String, String>();
+ aliases.put( "project.", "pom.");
+
+ List<InterpolatorProperty> ips = new ArrayList<InterpolatorProperty>(interpolatorProperties);
+ ips.addAll(ModelTransformerContext.createInterpolatorProperties(modelProperties, ProjectUri.baseUri, aliases,
+ false, false));
+
+ for(ModelProperty mp : modelProperties)
+ {
+ if(mp.getUri().startsWith(ProjectUri.properties) && mp.getValue() != null )
{
- //cache.put( pomDomainModel.getId(), modelProperties );
+ String uri = mp.getUri();
+ ips.add( new InterpolatorProperty( "${" + uri.substring( uri.lastIndexOf( "/" ) + 1,
+ uri.length() ) + "}", mp.getValue() ) );
}
+ }
- //Remove Parent Info
- /*
- for (ModelProperty mp : tmp) {
- if (mp.getUri().startsWith(ProjectUri.Parent.xUri)) {
- modelProperties.remove(mp);
- }
+ ModelTransformerContext.interpolateModelProperties( modelProperties, ips );
+ return ModelMarshaller.unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri );
+ }
+
+ public static String interpolateModelAsString(Model model, List<InterpolatorProperty> interpolatorProperties, File projectDirectory)
+ throws IOException
+ {
+ PomClassicDomainModel domainModel = new PomClassicDomainModel( model );
+ domainModel.setProjectDirectory( projectDirectory );
+ List<ModelProperty> modelProperties =
+ ModelMarshaller.marshallXmlToModelProperties( domainModel.getInputStream(), ProjectUri.baseUri, uris );
+ interpolateModelProperties( modelProperties, interpolatorProperties, domainModel);
+
+ return ModelMarshaller.unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri );
+ }
+
+ public static Model interpolateModel(Model model, List<InterpolatorProperty> interpolatorProperties, File projectDirectory)
+ throws IOException
+ {
+ String pomXml = interpolateModelAsString( model, interpolatorProperties, projectDirectory );
+ PomClassicDomainModel domainModel = new PomClassicDomainModel( new ByteArrayInputStream( pomXml.getBytes() ));
+ return domainModel.getModel();
+ }
+
+ private static void interpolateModelProperties(List<ModelProperty> modelProperties,
+ List<InterpolatorProperty> interpolatorProperties,
+ PomClassicDomainModel domainModel)
+ {
+ Map<String, String> aliases = new HashMap<String, String>();
+ aliases.put( "project.", "pom.");
+
+ List<InterpolatorProperty> ips = new ArrayList<InterpolatorProperty>(interpolatorProperties);
+ ips.addAll(ModelTransformerContext.createInterpolatorProperties(modelProperties, ProjectUri.baseUri, aliases,
+ false, false));
+
+ if(domainModel.isPomInBuild())
+ {
+ ips.add(new InterpolatorProperty("${project.basedir}", domainModel.getProjectDirectory().getAbsolutePath()));
+ ips.add(new InterpolatorProperty("${basedir}", domainModel.getProjectDirectory().getAbsolutePath()));
+ ips.add(new InterpolatorProperty("${pom.basedir}", domainModel.getProjectDirectory().getAbsolutePath()));
+
+ }
+
+ for(ModelProperty mp : modelProperties)
+ {
+ if(mp.getUri().startsWith(ProjectUri.properties) && mp.getValue() != null )
+ {
+ String uri = mp.getUri();
+ ips.add( new InterpolatorProperty( "${" + uri.substring( uri.lastIndexOf( "/" ) + 1,
+ uri.length() ) + "}", mp.getValue() ) );
}
- */
}
- return modelProperties;
+ ModelTransformerContext.interpolateModelProperties( modelProperties, ips );
}
private static boolean hasExecutionId( ModelContainer executionContainer )
@@ -596,7 +660,7 @@
if ( mp.getUri().startsWith( ProjectUri.DependencyManagement.xUri ) )
{
transformedProperties.add( new ModelProperty(
- mp.getUri().replace( ProjectUri.DependencyManagement.xUri, ProjectUri.xUri ), mp.getValue() ) );
+ mp.getUri().replace( ProjectUri.DependencyManagement.xUri, ProjectUri.xUri ), mp.getResolvedValue() ) );
}
}
return transformedProperties;
@@ -611,7 +675,7 @@
{
transformedProperties.add( new ModelProperty(
mp.getUri().replace( ProjectUri.Build.PluginManagement.xUri, ProjectUri.Build.xUri ),
- mp.getValue() ) );
+ mp.getResolvedValue() ) );
}
}
return transformedProperties;
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=694907&r1=694906&r2=694907&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 Sat Sep 13 02:28:23 2008
@@ -139,6 +139,8 @@
}
PomClassicDomainModel domainModel = new PomClassicDomainModel( pom );
+ domainModel.setProjectDirectory( projectDirectory );
+
List<DomainModel> domainModels = new ArrayList<DomainModel>();
domainModels.add( domainModel );
@@ -160,9 +162,6 @@
PomClassicDomainModel dm = (PomClassicDomainModel) mavenParents.get( 0 );
parentFile = dm.getFile();
domainModel.setParentFile( parentFile );
- // mavenParent = buildFromLocalPath( dm.getInputStream(), inheritedModels,
- // importModels, interpolatorProperties, resolver, projectDirectory);
- // mavenParent.setFile(dm.getFile());
}
domainModels.addAll( mavenParents );
@@ -182,7 +181,6 @@
transformer,
importModels,
properties ) );
- // System.out.println(transformedDomainModel.asString());
try
{
MavenProject mavenProject = new MavenProject( transformedDomainModel.getModel(), artifactFactory,
@@ -305,6 +303,8 @@
}
PomClassicDomainModel parentDomainModel = new PomClassicDomainModel( parentFile );
+ parentDomainModel.setProjectDirectory( parentFile.getParentFile() );
+
if ( !parentDomainModel.matchesParent( domainModel.getModel().getParent() ) )
{
logger.warn( "Parent pom ids do not match: Parent File = " + parentFile.getAbsolutePath() +
Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Sat Sep 13 02:28:23 2008
@@ -50,20 +50,6 @@
</requirement>
</requirements>
</component>
-<!--
- |
- |
- |
- -->
- <component>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- <implementation>org.apache.maven.project.interpolation.RegexBasedModelInterpolator</implementation>
- <requirements>
- <requirement>
- <role>org.apache.maven.project.path.PathTranslator</role>
- </requirement>
- </requirements>
- </component>
<!--
|
@@ -119,9 +105,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml Sat Sep 13 02:28:23 2008
@@ -55,7 +55,7 @@
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
- <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
+ <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
Modified: maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Sat Sep 13 02:28:23 2008
@@ -134,9 +134,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Sat Sep 13 02:28:23 2008
@@ -131,9 +131,6 @@
<role>org.apache.maven.profiles.MavenProfilesBuilder</role>
</requirement>
<requirement>
- <role>org.apache.maven.project.interpolation.ModelInterpolator</role>
- </requirement>
- <requirement>
<role>org.apache.maven.project.validation.ModelValidator</role>
</requirement>
<requirement>
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/InterpolatorProperty.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/InterpolatorProperty.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/InterpolatorProperty.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/InterpolatorProperty.java Sat Sep 13 02:28:23 2008
@@ -1,5 +1,7 @@
package org.apache.maven.shared.model;
+import java.util.*;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -34,6 +36,7 @@
*/
private final String value;
+
/**
* Constructor
*
@@ -112,4 +115,24 @@
return key.hashCode();
}
+ public String toString()
+ {
+ return "Key = " + key + ", Value = " + value + ", Hash = " +
+ this.hashCode();
+ }
+
+ public static List<InterpolatorProperty> toInterpolatorProperties( Properties properties )
+ {
+ if( properties == null )
+ {
+ throw new IllegalArgumentException( "properties: null" );
+ }
+
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ for ( Map.Entry<Object, Object> e : properties.entrySet() )
+ {
+ interpolatorProperties.add( new InterpolatorProperty( (String) e.getKey(), (String) e.getValue()) );
+ }
+ return interpolatorProperties;
+ }
}
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelMarshaller.java Sat Sep 13 02:28:23 2008
@@ -239,7 +239,7 @@
continue;
}
- //String val = (mp.getValue() != null) ? "\"" + mp.getValue() + "\"" : null;
+ //String val = (mp.getResolvedValue() != null) ? "\"" + mp.getResolvedValue() + "\"" : null;
// System.out.println("new ModelProperty(\"" + mp.getUri() +"\" , " + val +"),");
if ( !uri.startsWith( baseUri ) )
{
@@ -346,7 +346,7 @@
{
sb.append( " " ).append(
attribute.getUri().substring( attribute.getUri().indexOf( "#property/" ) + 10 ) ).append( "=\"" )
- .append( attribute.getValue() ).append( "\" " );
+ .append( attribute.getResolvedValue() ).append( "\" " );
}
}
sb.append( ">" );
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformer.java Sat Sep 13 02:28:23 2008
@@ -49,7 +49,8 @@
* @param domainModels list of domain models to transform to a list of model properties. List may not be null.
* @return list of model properties
*/
- List<ModelProperty> transformToModelProperties( List<DomainModel> domainModels )
+ List<ModelProperty> transformToModelProperties( List<DomainModel> domainModels,
+ List<InterpolatorProperty> interpolatorProperties)
throws IOException;
}
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java Sat Sep 13 02:28:23 2008
@@ -41,6 +41,9 @@
private final static List<InterpolatorProperty> systemInterpolatorProperties =
new ArrayList<InterpolatorProperty>();
+ private final static List<InterpolatorProperty> environmentInterpolatorProperties =
+ new ArrayList<InterpolatorProperty>();
+
static
{
for ( Map.Entry<Object, Object> e : System.getProperties().entrySet() )
@@ -51,7 +54,7 @@
for ( Map.Entry<String, String> e : System.getenv().entrySet() )
{
- systemInterpolatorProperties.add( new InterpolatorProperty( "${env." + e.getKey() + "}", e.getValue() ) );
+ environmentInterpolatorProperties.add( new InterpolatorProperty( "${env." + e.getKey() + "}", e.getValue() ) );
}
}
@@ -72,6 +75,84 @@
}
}
+ public static List<InterpolatorProperty> createInterpolatorProperties(List<ModelProperty> modelProperties,
+ String baseUriForModel,
+ Map<String, String> aliases,
+ boolean includeSystemProperties,
+ boolean includeEnvironmentProperties)
+ {
+ if(modelProperties == null)
+ {
+ throw new IllegalArgumentException("modelProperties: null");
+ }
+
+ if(baseUriForModel == null)
+ {
+ throw new IllegalArgumentException( "baseUriForModel: null");
+ }
+
+ List<InterpolatorProperty> interpolatorProperties
+ = new ArrayList<InterpolatorProperty>( );
+
+ if( includeSystemProperties )
+ {
+ interpolatorProperties.addAll( systemInterpolatorProperties );
+ }
+
+ if( includeEnvironmentProperties )
+ {
+ interpolatorProperties.addAll( environmentInterpolatorProperties );
+ }
+
+ for ( ModelProperty mp : modelProperties )
+ {
+ InterpolatorProperty ip = mp.asInterpolatorProperty( baseUriForModel );
+ if ( ip != null )
+ {
+ interpolatorProperties.add( ip );
+ for ( Map.Entry<String, String> a : aliases.entrySet() )
+ {
+ interpolatorProperties.add( new InterpolatorProperty(
+ ip.getKey().replaceAll( a.getKey(), a.getValue()),
+ ip.getValue().replaceAll( a.getKey(), a.getValue()) ) );
+ }
+ }
+ }
+ return interpolatorProperties;
+ }
+
+ public static void interpolateModelProperties(List<ModelProperty> modelProperties,
+ List<InterpolatorProperty> interpolatorProperties )
+ {
+
+ List<ModelProperty> unresolvedProperties = new ArrayList<ModelProperty>();
+ for ( ModelProperty mp : modelProperties )
+ {
+ if ( !mp.isResolved() )
+ {
+ unresolvedProperties.add( mp );
+ }
+ }
+
+ for ( InterpolatorProperty ip : interpolatorProperties )
+ {
+ for ( ModelProperty mp : unresolvedProperties )
+ {
+ mp.resolveWith(ip);
+ }
+ }
+
+
+ for ( InterpolatorProperty ip : interpolatorProperties )
+ {
+ for ( ModelProperty mp : unresolvedProperties )
+ {
+ mp.resolveWith(ip);
+ }
+ }
+ }
+
+
/**
* Transforms the specified model properties using the specified transformers.
*
@@ -115,13 +196,12 @@
*/
public DomainModel transform(List<DomainModel> domainModels, ModelTransformer fromModelTransformer,
ModelTransformer toModelTransformer,
- Collection<ImportModel> importModels, Collection<InterpolatorProperty> interpolatorProperties)
+ Collection<ImportModel> importModels, List<InterpolatorProperty> interpolatorProperties)
throws IOException
{
- List<InterpolatorProperty> properties = new ArrayList<InterpolatorProperty>( interpolatorProperties );
List<ModelProperty> transformedProperties =
- importModelProperties(importModels, fromModelTransformer.transformToModelProperties( domainModels ));
+ importModelProperties(importModels, fromModelTransformer.transformToModelProperties( domainModels, interpolatorProperties ));
String baseUriForModel = fromModelTransformer.getBaseUri();
List<ModelProperty> modelProperties =
@@ -183,38 +263,9 @@
}
}
- //interpolator
- List<ModelProperty> mps = modelDataSource.getModelProperties();
-
- for ( ModelProperty mp : mps )
- {
- InterpolatorProperty ip = mp.asInterpolatorProperty( baseUriForModel );
- if ( ip != null )
- {
- properties.add( ip );
- }
- }
-
- List<ModelProperty> unresolvedProperties = new ArrayList<ModelProperty>();
- for ( ModelProperty mp : mps )
- {
- if ( !mp.isResolved() )
- {
- unresolvedProperties.add( mp );
- }
- }
- /*
- for ( InterpolatorProperty ip : properties )
- {
- for ( ModelProperty mp : unresolvedProperties )
- {
- mp.resolveWith(ip);
- System.out.println(mp);
- System.out.println("-------------------");
- }
- }
- */
+ List<ModelProperty> mps = modelDataSource.getModelProperties();
+ //interpolateModelProperties( mps, baseUriForModel );
mps = sort( mps, baseUriForModel );
try
@@ -254,7 +305,7 @@
for(ModelProperty mp: modelProperties) {
if(mp.getUri().endsWith("importModel")) {
for(ImportModel im : importModels) {
- if(im.getId().equals(mp.getValue())) {
+ if(im.getId().equals(mp.getResolvedValue())) {
properties.addAll(im.getModelProperties());
}
}
@@ -322,7 +373,7 @@
List<ModelProperty> mps = new ArrayList<ModelProperty>();
for(ModelProperty mp : modelProperties)
{
- if(mp.getValue() != null && mp.getValue().trim().equals("") && isLeafNode( mp, modelProperties) )
+ if(mp.getResolvedValue() != null && mp.getResolvedValue().trim().equals("") && isLeafNode( mp, modelProperties) )
{
mps.add( new ModelProperty(mp.getUri(), null) );
}
Modified: maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java (original)
+++ maven/components/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java Sat Sep 13 02:28:23 2008
@@ -347,7 +347,7 @@
for ( ModelProperty mp : m )
{
String x = mp.getUri();
- if ( x.endsWith( "#property/combine.children" ) && mp.getValue().equals( "append" ) )
+ if ( x.endsWith( "#property/combine.children" ) && mp.getResolvedValue().equals( "append" ) )
{
combineChildrenUris.add( x.substring( 0, x.length() - 26 ) );
}
Modified: maven/components/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java?rev=694907&r1=694906&r2=694907&view=diff
==============================================================================
--- maven/components/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java (original)
+++ maven/components/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/ModelMarshallerTest.java Sat Sep 13 02:28:23 2008
@@ -95,7 +95,7 @@
assertEquals( 2, modelProperties.size() );
assertEquals( "http://apache.org/maven/project", modelProperties.get( 0 ).getUri() );
assertEquals( "http://apache.org/maven/project/version", modelProperties.get( 1 ).getUri() );
- assertEquals( "1.1", modelProperties.get( 1 ).getValue() );
+ assertEquals( "1.1", modelProperties.get( 1 ).getResolvedValue() );
}
/*