You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/08/09 01:06:57 UTC
svn commit: r230920 - in /maven/components/trunk:
maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/project/overlay/
Author: jdcasey
Date: Mon Aug 8 16:06:48 2005
New Revision: 230920
URL: http://svn.apache.org/viewcvs?rev=230920&view=rev
Log:
Resolving: MNG-163
Use MavenProject.addResource(..) and .addTestResource(..) to perform this function. I've built a BuildOverlay to insulate the interpolated, initialized Model's Build instance from runtime changes to these, in a similar fashion to addCompileSourceRoots(..), because I wanted to preserve some compat with plugins using ${project.build.resources}.
Added:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java (with props)
Modified:
maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Modified: maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=230920&r1=230919&r2=230920&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java Mon Aug 8 16:06:48 2005
@@ -62,7 +62,7 @@
/**
* The list of resources we want to transfer.
*
- * @parameter expression="${project.build.resources}"
+ * @parameter expression="${project.resources}"
* @required
*/
private List resources;
Modified: maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java?rev=230920&r1=230919&r2=230920&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/TestResourcesMojo.java Mon Aug 8 16:06:48 2005
@@ -42,7 +42,7 @@
/**
* The list of resources we want to transfer.
*
- * @parameter expression="${project.build.testResources}"
+ * @parameter expression="${project.testResources}"
* @required
*/
private List resources;
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=230920&r1=230919&r2=230920&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Mon Aug 8 16:06:48 2005
@@ -43,9 +43,11 @@
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.ReportSet;
import org.apache.maven.model.Reporting;
+import org.apache.maven.model.Resource;
import org.apache.maven.model.Scm;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
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;
@@ -132,6 +134,8 @@
private Map projectReferences = new HashMap();
+ private Build buildOverlay;
+
public MavenProject( Model model )
{
this.model = model;
@@ -798,12 +802,39 @@
public void setBuild( Build build )
{
+ this.buildOverlay = new BuildOverlay( build );
+
model.setBuild( build );
}
public Build getBuild()
{
- return model.getBuild();
+ if ( buildOverlay == null )
+ {
+ buildOverlay = new BuildOverlay( model.getBuild() );
+ }
+
+ return buildOverlay;
+ }
+
+ public List getResources()
+ {
+ return getBuild().getResources();
+ }
+
+ public List getTestResources()
+ {
+ return getBuild().getTestResources();
+ }
+
+ public void addResource( Resource resource )
+ {
+ getBuild().addResource( resource );
+ }
+
+ public void addTestResource( Resource testResource )
+ {
+ getBuild().addTestResource( testResource );
}
public void setReporting( Reporting reporting )
@@ -1273,5 +1304,5 @@
{
return groupId + ":" + artifactId;
}
-
+
}
Added: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java?rev=230920&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java (added)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java Mon Aug 8 16:06:48 2005
@@ -0,0 +1,237 @@
+package org.apache.maven.project.overlay;
+
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Extension;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginManagement;
+import org.apache.maven.model.Resource;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class BuildOverlay
+ extends Build
+{
+
+ private final Build build;
+
+ private List resources;
+ private List testResources;
+
+ public BuildOverlay( Build build )
+ {
+ if ( build == null )
+ {
+ this.build = new Build();
+
+ this.resources = new ArrayList();
+
+ this.testResources = new ArrayList();
+ }
+ else
+ {
+ this.build = build;
+
+ this.resources = new ArrayList( build.getResources() );
+
+ this.testResources = new ArrayList( build.getTestResources() );
+ }
+ }
+
+ public void addExtension( Extension extension )
+ {
+ build.addExtension( extension );
+ }
+
+ public void addPlugin( Plugin plugin )
+ {
+ build.addPlugin( plugin );
+ }
+
+ public void addResource( Resource resource )
+ {
+ resources.add( resource );
+ }
+
+ public void addTestResource( Resource resource )
+ {
+ testResources.add( resource );
+ }
+
+ public boolean equals( Object obj )
+ {
+ return build.equals( obj );
+ }
+
+ public void flushPluginMap()
+ {
+ build.flushPluginMap();
+ }
+
+ public String getDefaultGoal()
+ {
+ return build.getDefaultGoal();
+ }
+
+ public String getDirectory()
+ {
+ return build.getDirectory();
+ }
+
+ public List getExtensions()
+ {
+ return build.getExtensions();
+ }
+
+ public String getFinalName()
+ {
+ return build.getFinalName();
+ }
+
+ public String getOutputDirectory()
+ {
+ return build.getOutputDirectory();
+ }
+
+ public PluginManagement getPluginManagement()
+ {
+ return build.getPluginManagement();
+ }
+
+ public List getPlugins()
+ {
+ return build.getPlugins();
+ }
+
+ public Map getPluginsAsMap()
+ {
+ return build.getPluginsAsMap();
+ }
+
+ public List getResources()
+ {
+ return resources;
+ }
+
+ public String getScriptSourceDirectory()
+ {
+ return build.getScriptSourceDirectory();
+ }
+
+ public String getSourceDirectory()
+ {
+ return build.getSourceDirectory();
+ }
+
+ public String getTestOutputDirectory()
+ {
+ return build.getTestOutputDirectory();
+ }
+
+ public List getTestResources()
+ {
+ return testResources;
+ }
+
+ public String getTestSourceDirectory()
+ {
+ return build.getTestSourceDirectory();
+ }
+
+ public int hashCode()
+ {
+ return build.hashCode();
+ }
+
+ public void removeExtension( Extension extension )
+ {
+ build.removeExtension( extension );
+ }
+
+ public void removePlugin( Plugin plugin )
+ {
+ build.removePlugin( plugin );
+ }
+
+ public void removeResource( Resource resource )
+ {
+ resources.remove( resource );
+ }
+
+ public void removeTestResource( Resource resource )
+ {
+ testResources.remove( resource );
+ }
+
+ public void setDefaultGoal( String defaultGoal )
+ {
+ build.setDefaultGoal( defaultGoal );
+ }
+
+ public void setDirectory( String directory )
+ {
+ build.setDirectory( directory );
+ }
+
+ public void setExtensions( List extensions )
+ {
+ build.setExtensions( extensions );
+ }
+
+ public void setFinalName( String finalName )
+ {
+ build.setFinalName( finalName );
+ }
+
+ public void setOutputDirectory( String outputDirectory )
+ {
+ build.setOutputDirectory( outputDirectory );
+ }
+
+ public void setPluginManagement( PluginManagement pluginManagement )
+ {
+ build.setPluginManagement( pluginManagement );
+ }
+
+ public void setPlugins( List plugins )
+ {
+ build.setPlugins( plugins );
+ }
+
+ public void setResources( List resources )
+ {
+ this.resources = resources;
+ }
+
+ public void setScriptSourceDirectory( String scriptSourceDirectory )
+ {
+ build.setScriptSourceDirectory( scriptSourceDirectory );
+ }
+
+ public void setSourceDirectory( String sourceDirectory )
+ {
+ build.setSourceDirectory( sourceDirectory );
+ }
+
+ public void setTestOutputDirectory( String testOutputDirectory )
+ {
+ build.setTestOutputDirectory( testOutputDirectory );
+ }
+
+ public void setTestResources( List testResources )
+ {
+ this.testResources = testResources;
+ }
+
+ public void setTestSourceDirectory( String testSourceDirectory )
+ {
+ build.setTestSourceDirectory( testSourceDirectory );
+ }
+
+ public String toString()
+ {
+ return build.toString();
+ }
+
+}
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/overlay/BuildOverlay.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org