Author: sisbell
Date: Sat Sep 13 22:11:21 2008
New Revision: 695114

URL: http://svn.apache.org/viewvc?rev=695114&view=rev
Log:
Fix: MNG2339b - If \$\{version} is not specified as a system or environment 
variable, then it is aliased as \$\{project.version} so that it will be 
interpolated.

Modified:
    
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/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=695114&r1=695113&r2=695114&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 22:11:21 2008
@@ -542,6 +542,20 @@
         return domainModel.getModel();
     }
 
+    private static boolean containsProjectVersion( List<InterpolatorProperty> 
interpolatorProperties )
+    {
+        InterpolatorProperty versionInterpolatorProperty =
+                new ModelProperty( ProjectUri.version, 
"").asInterpolatorProperty( ProjectUri.baseUri);
+        for( InterpolatorProperty ip : interpolatorProperties)
+        {
+            if ( ip.equals( versionInterpolatorProperty ) )
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private static void interpolateModelProperties(List<ModelProperty> 
modelProperties,
                                                    List<InterpolatorProperty> 
interpolatorProperties,
                                                    PomClassicDomainModel 
domainModel)
@@ -551,6 +565,11 @@
         Map<String, String> aliases = new HashMap<String, String>();
         aliases.put( "project.", "pom.");
 
+        if(!containsProjectVersion(interpolatorProperties))
+        {
+            aliases.put("\\$\\{project.version\\}", "\\$\\{version\\}");
+        }
+
         List<ModelProperty> firstPassModelProperties = new 
ArrayList<ModelProperty>();
         List<ModelProperty> secondPassModelProperties = new 
ArrayList<ModelProperty>();
 


Reply via email to