You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/08/12 14:05:12 UTC

svn commit: r685126 - in /maven/plugins/trunk/maven-invoker-plugin/src: main/java/org/apache/maven/plugin/invoker/ test/java/org/apache/maven/plugin/invoker/

Author: bentmann
Date: Tue Aug 12 05:05:11 2008
New Revision: 685126

URL: http://svn.apache.org/viewvc?rev=685126&view=rev
Log:
o Unified interpolation

Modified:
    maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerMojo.java
    maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InterpolationTest.java
    maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerMojoTest.java

Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerMojo.java?rev=685126&r1=685125&r2=685126&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerMojo.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/InvokerMojo.java Tue Aug 12 05:05:11 2008
@@ -1268,6 +1268,25 @@
     }
 
     /**
+     * Returns the map-based value source used to interpolate POMs and other stuff.
+     * 
+     * @return The map-based value source for interpolation, never <code>null</code>.
+     */
+    private Map getInterpolationValueSource()
+    {
+        Properties props = new Properties();
+        if ( interpolationsProperties != null )
+        {
+            props.putAll( interpolationsProperties );
+        }
+        if ( settings.getLocalRepository() != null )
+        {
+            props.put( "localRepository", settings.getLocalRepository() );
+        }
+        return new CompositeMap( this.project, props );
+    }
+
+    /**
      * Gets goal/profile names for the specified project, either directly from the plugin configuration or from an
      * external token file.
      * 
@@ -1313,7 +1332,7 @@
         BufferedReader reader = null;
         try
         {
-            Map composite = new CompositeMap( this.project, this.interpolationsProperties );
+            Map composite = getInterpolationValueSource();
             reader = new BufferedReader( new InterpolationFilterReader( newReader( tokenFile ), composite ) );
 
             String line = null;
@@ -1382,21 +1401,12 @@
         }
         getLog().debug( "interpolate file to create interpolated in " + interpolatedFile.getPath() );
 
-        if ( settings.getLocalRepository() != null )
-        {
-            if ( this.interpolationsProperties == null )
-            {
-                this.interpolationsProperties = new Properties();
-            }
-            this.interpolationsProperties.put( "localRepository", settings.getLocalRepository() );
-        }
-        Map composite = new CompositeMap( this.project, this.interpolationsProperties );
-
         BufferedReader reader = null;
         BufferedWriter writer = null;
         try
         {
             // interpolation with token @...@
+            Map composite = getInterpolationValueSource();
             reader =
                 new BufferedReader( new InterpolationFilterReader( ReaderFactory.newXmlReader( originalFile ),
                                                                    composite, "@", "@" ) );
@@ -1453,9 +1463,8 @@
                 }
             }
 
-            Map filter = new CompositeMap( project, this.interpolationsProperties );
             Interpolator interpolator = new RegexBasedInterpolator();
-            interpolator.addValueSource( new MapBasedValueSource( filter ) );
+            interpolator.addValueSource( new MapBasedValueSource( getInterpolationValueSource() ) );
             for ( Iterator it = props.keySet().iterator(); it.hasNext(); )
             {
                 String key = (String) it.next();

Modified: maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InterpolationTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InterpolationTest.java?rev=685126&r1=685125&r2=685126&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InterpolationTest.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InterpolationTest.java Tue Aug 12 05:05:11 2008
@@ -132,6 +132,7 @@
         InvokerMojo invokerMojo = new InvokerMojo();
         setVariableValueToObject( invokerMojo, "project", buildMavenProjectStub() );
         setVariableValueToObject( invokerMojo, "profilesFile", "profiles.txt" );
+        setVariableValueToObject( invokerMojo, "settings", new Settings() );
         String dirPath = getBasedir() + File.separatorChar + "src" + File.separatorChar + "test" + File.separatorChar
             + "resources" + File.separatorChar + "unit" + File.separatorChar + "profiles-from-file";
         List profiles = invokerMojo.getProfiles( new File( dirPath ) );

Modified: maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerMojoTest.java?rev=685126&r1=685125&r2=685126&view=diff
==============================================================================
--- maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerMojoTest.java (original)
+++ maven/plugins/trunk/maven-invoker-plugin/src/test/java/org/apache/maven/plugin/invoker/InvokerMojoTest.java Tue Aug 12 05:05:11 2008
@@ -26,6 +26,7 @@
 
 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+import org.apache.maven.settings.Settings;
 
 /**
  * @author <a href="mailto:olamy@apache.org">olamy</a>
@@ -48,6 +49,7 @@
         InvokerMojo invokerMojo = new InvokerMojo();
         setVariableValueToObject( invokerMojo, "goalsFile", "goals.txt" );
         setVariableValueToObject( invokerMojo, "project", project );
+        setVariableValueToObject( invokerMojo, "settings", new Settings() );
         String dirPath = getBasedir() + "/src/test/resources/unit/goals-from-file/";
         List goals = invokerMojo.getGoals( new File( dirPath ) );
         assertEquals( 3, goals.size() );