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/06/06 19:08:36 UTC

svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Author: jdcasey
Date: Fri Jun  6 10:08:36 2008
New Revision: 664037

URL: http://svn.apache.org/viewvc?rev=664037&view=rev
Log:
Creating feature branch for dynamic build section in the POM.

Added:
    maven/components/branches/john-2.0.x-dynamicBuild/
      - copied from r662526, maven/components/branches/maven-2.0.x/
Modified:
    maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
    maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java
    maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java

Modified: maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=664037&r1=662526&r2=664037&view=diff
==============================================================================
--- maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Fri Jun  6 10:08:36 2008
@@ -19,25 +19,13 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.artifact.versioning.ManagedVersionMap;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.CiManagement;
 import org.apache.maven.model.Contributor;
@@ -63,9 +51,20 @@
 import org.apache.maven.project.artifact.ActiveProjectArtifact;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.project.artifact.MavenMetadataSource;
-import org.apache.maven.project.overlay.BuildOverlay;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import java.io.File;
+import java.io.IOException;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
 /**
  * The concern of the project is provide runtime values based on the model. <p/>
  * The values in the model remain untouched but during the process of building a
@@ -83,11 +82,11 @@
     implements Cloneable
 {
     public static final String EMPTY_PROJECT_GROUP_ID = "unknown";
-    
+
     public static final String EMPTY_PROJECT_ARTIFACT_ID = "empty-project";
-    
+
     public static final String EMPTY_PROJECT_VERSION = "0";
-    
+
     private Model model;
 
     private MavenProject parent;
@@ -145,26 +144,24 @@
 
     private Map projectReferences = new HashMap();
 
-    private Build buildOverlay;
-
     private boolean executionRoot;
-    
+
     private Map moduleAdjustments;
 
     public MavenProject()
     {
         Model model = new Model();
-        
+
         model.setGroupId( EMPTY_PROJECT_GROUP_ID );
         model.setArtifactId( EMPTY_PROJECT_ARTIFACT_ID );
         model.setVersion( EMPTY_PROJECT_VERSION );
-        
-        this.setModel( model );
+
+        setModel( model );
     }
 
     public MavenProject( Model model )
     {
-        this.setModel( model );
+        setModel( model );
     }
 
     /**
@@ -270,42 +267,42 @@
         {
             setManagedVersionMap( new ManagedVersionMap( project.getManagedVersionMap() ) );
         }
-        
+
         if ( project.getReleaseArtifactRepository() != null )
         {
             setReleaseArtifactRepository( project.getReleaseArtifactRepository() );
         }
-        
+
         if ( project.getSnapshotArtifactRepository() != null )
         {
             setSnapshotArtifactRepository( project.getSnapshotArtifactRepository() );
         }
     }
-    
+
     public String getModulePathAdjustment( MavenProject moduleProject ) throws IOException
     {
         // FIXME: This is hacky. What if module directory doesn't match artifactid, and parent
         // is coming from the repository??
-        
-        // FIXME: If there is a hierarchy of three projects, with the url specified at the top, 
+
+        // FIXME: If there is a hierarchy of three projects, with the url specified at the top,
         // and the top two projects are referenced from copies that are in the repository, the
         // middle-level POM doesn't have a File associated with it (or the file's directory is
         // of an unexpected name), and module path adjustments fail.
         String module = moduleProject.getArtifactId();
-        
+
         File moduleFile = moduleProject.getFile();
-        
+
         if ( moduleFile != null )
         {
             File moduleDir = moduleFile.getCanonicalFile().getParentFile();
-            
+
             module = moduleDir.getName();
         }
-        
+
         if ( moduleAdjustments == null )
         {
             moduleAdjustments = new HashMap();
-            
+
             List modules = getModules();
             if ( modules != null )
             {
@@ -313,21 +310,21 @@
                 {
                     String modulePath = (String) it.next();
                     String moduleName = modulePath;
-                    
+
                     if ( moduleName.endsWith( "/" ) || moduleName.endsWith( "\\" ) )
                     {
                         moduleName = moduleName.substring( 0, moduleName.length() - 1 );
                     }
-                    
+
                     int lastSlash = moduleName.lastIndexOf( '/' );
-                    
+
                     if ( lastSlash < 0 )
                     {
                         lastSlash = moduleName.lastIndexOf( '\\' );
                     }
-                    
+
                     String adjustment = null;
-                    
+
                     if ( lastSlash > -1 )
                     {
                         moduleName = moduleName.substring( lastSlash + 1 );
@@ -338,7 +335,7 @@
                 }
             }
         }
-        
+
         return (String) moduleAdjustments.get( module );
     }
 
@@ -577,7 +574,7 @@
         list.add( getBuild().getTestOutputDirectory() );
 
         list.add( getBuild().getOutputDirectory() );
-        
+
         for ( Iterator i = getArtifacts().iterator(); i.hasNext(); )
         {
             Artifact a = (Artifact) i.next();
@@ -856,7 +853,7 @@
         {
             groupId = getModel().getParent().getGroupId();
         }
-        
+
         return groupId;
     }
 
@@ -901,7 +898,7 @@
         {
             version = getModel().getParent().getVersion();
         }
-        
+
         return version;
     }
 
@@ -1047,19 +1044,12 @@
 
     public void setBuild( Build build )
     {
-        this.buildOverlay = new BuildOverlay( build );
-
         getModel().setBuild( build );
     }
 
     public Build getBuild()
     {
-        if ( buildOverlay == null )
-        {
-            buildOverlay = new BuildOverlay( getModelBuild() );
-        }
-
-        return buildOverlay;
+        return model.getBuild();
     }
 
     public List getResources()
@@ -1112,13 +1102,13 @@
         this.artifacts = artifacts;
 
         // flush the calculated artifactMap
-        this.artifactMap = null;
+        artifactMap = null;
     }
 
     /**
      * All dependencies that this project has, including transitive ones.
      * Contents are lazily populated, so depending on what phases have run dependencies in some scopes won't be included.
-     * eg. if only compile phase has run, dependencies with scope test won't be included. 
+     * eg. if only compile phase has run, dependencies with scope test won't be included.
      * @return {@link Set} &lt; {@link Artifact} >
      * @see #getDependencyArtifacts() to get only direct dependencies
      */
@@ -1141,7 +1131,7 @@
     {
         this.pluginArtifacts = pluginArtifacts;
 
-        this.pluginArtifactMap = null;
+        pluginArtifactMap = null;
     }
 
     public Set getPluginArtifacts()
@@ -1163,7 +1153,7 @@
     {
         this.reportArtifacts = reportArtifacts;
 
-        this.reportArtifactMap = null;
+        reportArtifactMap = null;
     }
 
     public Set getReportArtifacts()
@@ -1185,12 +1175,12 @@
     {
         this.extensionArtifacts = extensionArtifacts;
 
-        this.extensionArtifactMap = null;
+        extensionArtifactMap = null;
     }
 
     public Set getExtensionArtifacts()
     {
-        return this.extensionArtifacts;
+        return extensionArtifacts;
     }
 
     public Map getExtensionArtifactMap()
@@ -1258,7 +1248,7 @@
 
         return pluginMgmt;
     }
-    
+
     private Build getModelBuild()
     {
         Build build = getModel().getBuild();
@@ -1269,7 +1259,7 @@
 
             getModel().setBuild( build );
         }
-        
+
         return build;
     }
 
@@ -1285,7 +1275,7 @@
             build.flushPluginMap();
         }
     }
-    
+
     public void injectPluginManagementInfo( Plugin plugin )
     {
         PluginManagement pm = getModelBuild().getPluginManagement();
@@ -1522,12 +1512,12 @@
 
     public void setManagedVersionMap( Map map )
     {
-        this.managedVersionMap = map;
+        managedVersionMap = map;
     }
 
     public Map getManagedVersionMap()
     {
-        return this.managedVersionMap;
+        return managedVersionMap;
     }
 
     public boolean equals( Object other )
@@ -1722,12 +1712,12 @@
         }
         return pluginArtifact;
     }
-    
+
     private void addArtifactPath(Artifact a, List list) throws DependencyResolutionRequiredException
     {
         String refId = getProjectReferenceId( a.getGroupId(), a.getArtifactId(), a.getVersion() );
         MavenProject project = (MavenProject) projectReferences.get( refId );
-        
+
         boolean projectDirFound = false;
         if ( project != null )
         {
@@ -1756,7 +1746,7 @@
             list.add( file.getPath() );
         }
     }
-    
+
     /**
      * Default toString
      */
@@ -1764,25 +1754,25 @@
     {
         StringBuffer sb = new StringBuffer(30);
         sb.append( "MavenProject: " );
-        sb.append( this.getGroupId() );
+        sb.append( getGroupId() );
         sb.append( ":" );
-        sb.append( this.getArtifactId() );
+        sb.append( getArtifactId() );
         sb.append( ":" );
-        sb.append( this.getVersion() );
+        sb.append( getVersion() );
         sb.append( " @ " );
-        
-        try 
+
+        try
         {
-            sb.append( this.getFile().getPath() );
+            sb.append( getFile().getPath() );
         }
         catch (NullPointerException e)
         {
             //don't log it.
         }
-        
-        return sb.toString();        
+
+        return sb.toString();
     }
-    
+
     /**
      * @throws CloneNotSupportedException
      * @since 2.0.9

Modified: maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java?rev=664037&r1=662526&r2=664037&view=diff
==============================================================================
--- maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java (original)
+++ maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/ModelInterpolator.java Fri Jun  6 10:08:36 2008
@@ -37,4 +37,8 @@
 
     Model interpolate( Model model, Map context, boolean strict )
         throws ModelInterpolationException;
+
+    String interpolate( String src, Model model, Map context )
+        throws ModelInterpolationException;
+
 }
\ No newline at end of file

Modified: maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java?rev=664037&r1=662526&r2=664037&view=diff
==============================================================================
--- maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java (original)
+++ maven/components/branches/john-2.0.x-dynamicBuild/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java Fri Jun  6 10:08:36 2008
@@ -95,7 +95,7 @@
         }
 
         String serializedModel = sWriter.toString();
-        serializedModel = interpolateInternal( serializedModel, model, context );
+        serializedModel = interpolate( serializedModel, model, context );
 
         StringReader sReader = new StringReader( serializedModel );
 
@@ -118,7 +118,7 @@
         return model;
     }
 
-    private String interpolateInternal( String src, Model model, Map context )
+    public String interpolate( String src, Model model, Map context )
         throws ModelInterpolationException
     {
         String result = src;



RE: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
John can provide some more details, but he's trying a few things on this
branch and then will take it to the list.


-----Original Message-----
From: Brett Porter [mailto:brett@apache.org] 
Sent: Monday, June 09, 2008 7:42 PM
To: Maven Developers List
Subject: Re: svn commit: r664037 - in
/maven/components/branches/john-2.0.x-dynamicBuild: ./
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/project/interpolation/

Yeah, that was particularly hazardous when I fixed one thing in 2.0.9.

How are you going about it?

- Brett

On 10/06/2008, at 9:31 AM, Brian E. Fox wrote:

> We're experimenting with some ways to fix several of the issues that
> keep getting broken/fixed/broken etc (think
> project.build.outputDirectory in 2.0.8/2.0.9)
>
> -----Original Message-----
> From: Brett Porter [mailto:brett@apache.org]
> Sent: Monday, June 09, 2008 6:37 PM
> To: dev@maven.apache.org
> Subject: Re: svn commit: r664037 - in
> /maven/components/branches/john-2.0.x-dynamicBuild: ./
> maven-project/src/main/java/org/apache/maven/project/
> maven-project/src/main/java/org/apache/maven/project/interpolation/
>
> Interesting - I've thought a bit about this myself, though not for
> 2.0.x. What are you working towards?
>
> - Brett
>
> On 07/06/2008, at 3:08 AM, jdcasey@apache.org wrote:
>
>> Author: jdcasey
>> Date: Fri Jun  6 10:08:36 2008
>> New Revision: 664037
>>
>> URL: http://svn.apache.org/viewvc?rev=664037&view=rev
>> Log:
>> Creating feature branch for dynamic build section in the POM.
>>
>
> --
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by Brett Porter <br...@apache.org>.
Yeah, that was particularly hazardous when I fixed one thing in 2.0.9.

How are you going about it?

- Brett

On 10/06/2008, at 9:31 AM, Brian E. Fox wrote:

> We're experimenting with some ways to fix several of the issues that
> keep getting broken/fixed/broken etc (think
> project.build.outputDirectory in 2.0.8/2.0.9)
>
> -----Original Message-----
> From: Brett Porter [mailto:brett@apache.org]
> Sent: Monday, June 09, 2008 6:37 PM
> To: dev@maven.apache.org
> Subject: Re: svn commit: r664037 - in
> /maven/components/branches/john-2.0.x-dynamicBuild: ./
> maven-project/src/main/java/org/apache/maven/project/
> maven-project/src/main/java/org/apache/maven/project/interpolation/
>
> Interesting - I've thought a bit about this myself, though not for
> 2.0.x. What are you working towards?
>
> - Brett
>
> On 07/06/2008, at 3:08 AM, jdcasey@apache.org wrote:
>
>> Author: jdcasey
>> Date: Fri Jun  6 10:08:36 2008
>> New Revision: 664037
>>
>> URL: http://svn.apache.org/viewvc?rev=664037&view=rev
>> Log:
>> Creating feature branch for dynamic build section in the POM.
>>
>
> --
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


RE: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
We're experimenting with some ways to fix several of the issues that
keep getting broken/fixed/broken etc (think
project.build.outputDirectory in 2.0.8/2.0.9)

-----Original Message-----
From: Brett Porter [mailto:brett@apache.org] 
Sent: Monday, June 09, 2008 6:37 PM
To: dev@maven.apache.org
Subject: Re: svn commit: r664037 - in
/maven/components/branches/john-2.0.x-dynamicBuild: ./
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/project/interpolation/

Interesting - I've thought a bit about this myself, though not for  
2.0.x. What are you working towards?

- Brett

On 07/06/2008, at 3:08 AM, jdcasey@apache.org wrote:

> Author: jdcasey
> Date: Fri Jun  6 10:08:36 2008
> New Revision: 664037
>
> URL: http://svn.apache.org/viewvc?rev=664037&view=rev
> Log:
> Creating feature branch for dynamic build section in the POM.
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by Brett Porter <br...@apache.org>.
On 11/06/2008, at 1:05 AM, John Casey wrote:

> Since the project can change in legitimate ways during the course of  
> a build - especially for forked executions, such as changing the  
> build directories - that means that expressions used to configure  
> subsequent plugin executions MUST be synchronized to the internal  
> state of the project itself. This is problematic when we interpolate  
> all of these expressions up front, since we lose the dynamism. So,  
> I'm experimenting with interpolating the POM without the build  
> section up front, then interpolating the build section for each  
> plugin execution, and back-propagating the changes to that section  
> into the original, uninterpolated Build instance for future plugin  
> executions.

How important is the propagation of changes to this? This seems the  
more complex part of it.

WRT delayed evaluation of expressions - that makes sense to me. In  
fact, I think that is already the case for plugin configuration  
elements - they are just evaluated at execution time, right?

>
>
> It's a little heavy, but I haven't been able to imagine any other  
> way out of this without changing the APIs used to manipulate project  
> data. In the longer term, I think that's the right way forward, but  
> or 2.0.x I don't want to force a massive re-release party for the  
> plugins.

I think I'm agreed WRT propagating model changes from plugins in the  
future.

>
>
> At any rate, I'm planning to write it all up and submit it to the  
> dev list once I have working code that people can look at. I'm  
> currently 4 ITs short of that.

Cool. Let me know if you need any specific feedback.

Cheers,
Brett

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by John Casey <jd...@commonjava.org>.
I just wanted a place to park an experiment until I have something I can 
show the dev list, but the idea is that we need to retain dynamism at 
least in the build section of the POM. I don't think it's appropriate 
for the whole POM, as this could really damage determinism...for 
instance, plugins should not be able to add dependencies to projects, 
since this hurts our ability to manage the project-dependency relationships.

Since the project can change in legitimate ways during the course of a 
build - especially for forked executions, such as changing the build 
directories - that means that expressions used to configure subsequent 
plugin executions MUST be synchronized to the internal state of the 
project itself. This is problematic when we interpolate all of these 
expressions up front, since we lose the dynamism. So, I'm experimenting 
with interpolating the POM without the build section up front, then 
interpolating the build section for each plugin execution, and 
back-propagating the changes to that section into the original, 
uninterpolated Build instance for future plugin executions.

It's a little heavy, but I haven't been able to imagine any other way 
out of this without changing the APIs used to manipulate project data. 
In the longer term, I think that's the right way forward, but or 2.0.x I 
don't want to force a massive re-release party for the plugins.

At any rate, I'm planning to write it all up and submit it to the dev 
list once I have working code that people can look at. I'm currently 4 
ITs short of that.

-john

Brett Porter wrote:
> Interesting - I've thought a bit about this myself, though not for 
> 2.0.x. What are you working towards?
>
> - Brett
>
> On 07/06/2008, at 3:08 AM, jdcasey@apache.org wrote:
>
>> Author: jdcasey
>> Date: Fri Jun  6 10:08:36 2008
>> New Revision: 664037
>>
>> URL: http://svn.apache.org/viewvc?rev=664037&view=rev
>> Log:
>> Creating feature branch for dynamic build section in the POM.
>>
>
> -- 
> Brett Porter
> brett@apache.org
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

-- 
John Casey
Developer, PMC Member - Apache Maven (http://maven.apache.org)
Blog: http://www.ejlife.net/blogs/buildchimp/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: svn commit: r664037 - in /maven/components/branches/john-2.0.x-dynamicBuild: ./ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project/interpolation/

Posted by Brett Porter <br...@apache.org>.
Interesting - I've thought a bit about this myself, though not for  
2.0.x. What are you working towards?

- Brett

On 07/06/2008, at 3:08 AM, jdcasey@apache.org wrote:

> Author: jdcasey
> Date: Fri Jun  6 10:08:36 2008
> New Revision: 664037
>
> URL: http://svn.apache.org/viewvc?rev=664037&view=rev
> Log:
> Creating feature branch for dynamic build section in the POM.
>

--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org