Author: jvanzyl
Date: Mon Dec 15 09:48:53 2008
New Revision: 726744
URL: http://svn.apache.org/viewvc?rev=726744&view=rev
Log:
o move the path translator to the maven-compat package
Added:
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/path/
(props changed)
- copied from r726522,
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/
maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/
maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path/
(props changed)
- copied from r726522,
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path/
Removed:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path/
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path/
Modified:
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
maven/components/trunk/pom.xml
Propchange:
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Dec 15 09:48:53 2008
@@ -0,0 +1,3 @@
+/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/path:680477
+/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path:679206,720042
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path:688587-696625,696644-699681
Propchange:
maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Dec 15 09:48:53 2008
@@ -0,0 +1,3 @@
+/maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/path:680477
+/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/path:679206,720042
+/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path:688587-696625,696644-699681
Modified:
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=726744&r1=726743&r2=726744&view=diff
==============================================================================
---
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
(original)
+++
maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
Mon Dec 15 09:48:53 2008
@@ -19,11 +19,28 @@
* under the License.
*/
-import org.apache.maven.shared.model.*;
-import org.apache.maven.shared.model.impl.DefaultModelDataSource;
-
import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.maven.shared.model.DomainModel;
+import org.apache.maven.shared.model.DomainModelFactory;
+import org.apache.maven.shared.model.InterpolatorProperty;
+import org.apache.maven.shared.model.ModelContainer;
+import org.apache.maven.shared.model.ModelContainerAction;
+import org.apache.maven.shared.model.ModelDataSource;
+import org.apache.maven.shared.model.ModelEventListener;
+import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.ModelTransformer;
+import org.apache.maven.shared.model.ModelTransformerContext;
+import org.apache.maven.shared.model.impl.DefaultModelDataSource;
/**
* Provides methods for transforming model properties into a domain model for
the pom classic format and vice versa.
@@ -38,13 +55,13 @@
{
this.factory = factory;
}
+
/**
* The URIs this transformer supports
*/
public static final Set<String> URIS = Collections.unmodifiableSet(new
HashSet<String>( Arrays.asList( ProjectUri.Build.Extensions.xUri,
ProjectUri.Build.PluginManagement.Plugins.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.configuration,
- //ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.Exclusions.xUri,
@@ -263,14 +280,20 @@
//Rule: Do not join plugin executions without ids
Set<ModelProperty> removeProperties = new HashSet<ModelProperty>();
+
ModelDataSource dataSource = new DefaultModelDataSource();
+
dataSource.init( props, Arrays.asList( new
ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
+
List<ModelContainer> containers = dataSource.queryFor(
ProjectUri.Build.Plugins.Plugin.xUri );
+
for ( ModelContainer pluginContainer : containers )
{
ModelDataSource executionSource = new DefaultModelDataSource();
+
executionSource.init( pluginContainer.getProperties(),
Arrays.asList( new
ArtifactModelContainerFactory(), new PluginExecutionIdModelContainerFactory() )
);
+
List<ModelContainer> executionContainers =
executionSource.queryFor(
ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri );
if ( executionContainers.size() < 2 )
@@ -279,19 +302,21 @@
}
boolean hasAtLeastOneWithoutId = true;
+
for ( ModelContainer executionContainer : executionContainers )
{
if ( hasAtLeastOneWithoutId )
{
hasAtLeastOneWithoutId = hasExecutionId(
executionContainer );
}
- if ( !hasAtLeastOneWithoutId && !hasExecutionId(
executionContainer ) &&
- executionContainers.indexOf( executionContainer ) > 0 )
+
+ if ( !hasAtLeastOneWithoutId && !hasExecutionId(
executionContainer ) && executionContainers.indexOf( executionContainer ) > 0 )
{
removeProperties.addAll(
executionContainer.getProperties() );
}
}
}
+
props.removeAll( removeProperties );
for(ModelEventListener listener : eventListeners)
Modified: maven/components/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=726744&r1=726743&r2=726744&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Mon Dec 15 09:48:53 2008
@@ -43,6 +43,7 @@
<url>http://maven.apache.org/</url>
<inceptionYear>2001</inceptionYear>
<properties>
+ <aspectjVersion>1.5.3</aspectjVersion>
<classWorldsVersion>1.3</classWorldsVersion>
<commonsCliVersion>1.0</commonsCliVersion>
<doxiaVersion>1.0-alpha-9</doxiaVersion>
@@ -173,6 +174,15 @@
</configuration>
</plugin>
<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>aspectj-maven-plugin</artifactId>
+ <version>1.0-beta-2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
@@ -431,6 +441,12 @@
<artifactId>mercury-external</artifactId>
<version>${mercuryVersion}</version>
</dependency>
+ <!-- Needed for backward compat aspect. -->
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>${aspectjVersion}</version>
+ </dependency>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-plugin-manager</artifactId>