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/15 22:45:04 UTC
svn commit: r695615 - in
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project:
DefaultMavenProjectBuilder.java builder/PomClassicTransformer.java
Author: sisbell
Date: Mon Sep 15 13:45:04 2008
New Revision: 695615
URL: http://svn.apache.org/viewvc?rev=695615&view=rev
Log:
Fix: Interpolation of standalone super poms.
Modified:
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/builder/PomClassicTransformer.java
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=695615&r1=695614&r2=695615&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 Mon Sep 15 13:45:04 2008
@@ -45,6 +45,7 @@
import org.apache.maven.project.builder.PomArtifactResolver;
import org.apache.maven.project.builder.ProjectBuilder;
import org.apache.maven.project.builder.PomInterpolatorTag;
+import org.apache.maven.project.builder.PomClassicTransformer;
import org.apache.maven.project.validation.ModelValidationResult;
import org.apache.maven.project.validation.ModelValidator;
import org.apache.maven.project.workspace.ProjectWorkspace;
@@ -253,6 +254,48 @@
}
}
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getExecutionProperties(),
+ PomInterpolatorTag.SYSTEM_PROPERTIES.name()));
+ interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( config.getUserProperties(),
+ PomInterpolatorTag.USER_PROPERTIES.name()));
+
+ if(config.getBuildStartTime() != null)
+ {
+ interpolatorProperties.add(new InterpolatorProperty("${build.timestamp}",
+ new SimpleDateFormat("yyyyMMdd-hhmm").format( config.getBuildStartTime() ),
+ PomInterpolatorTag.PROJECT_PROPERTIES.name()));
+ }
+
+ File basedir = null;
+ for(InterpolatorProperty ip : interpolatorProperties )
+ {
+ if(ip.getKey().equals("${basedir}"))
+ {
+ basedir = new File(ip.getValue());
+ break;
+ }
+ }
+
+ if(basedir == null)
+ {
+ String bd = System.getProperty("basedir");
+ if( bd != null )
+ {
+ basedir = new File(bd);
+ }
+ }
+
+ try
+ {
+ superModel = PomClassicTransformer.interpolateModel(superModel, interpolatorProperties, basedir);
+ }
+ catch (IOException e)
+ {
+ throw new ProjectBuildingException(STANDALONE_SUPERPOM_GROUPID + ":" + STANDALONE_SUPERPOM_ARTIFACTID,
+ "Interpolation failure:", e);
+ }
+
MavenProject project;
try
{
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=695615&r1=695614&r2=695615&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 Mon Sep 15 13:45:04 2008
@@ -582,10 +582,11 @@
}
}
- String basedir = domainModel.getProjectDirectory().getAbsolutePath();
+
List<InterpolatorProperty> standardInterpolatorProperties = new ArrayList<InterpolatorProperty>();
if(domainModel.isPomInBuild())
{
+ String basedir = domainModel.getProjectDirectory().getAbsolutePath();
standardInterpolatorProperties.add(new InterpolatorProperty("${project.basedir}", basedir,
PomInterpolatorTag.PROJECT_PROPERTIES.name() ));
standardInterpolatorProperties.add(new InterpolatorProperty("${basedir}", basedir,
@@ -621,7 +622,7 @@
//SECOND PASS - Set absolute paths on build directories
if( domainModel.isPomInBuild() )
- {
+ { String basedir = domainModel.getProjectDirectory().getAbsolutePath();
Map<ModelProperty, ModelProperty> buildDirectories = new HashMap<ModelProperty, ModelProperty>();
for(ModelProperty mp : secondPassModelProperties)
{