You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/02/20 01:23:21 UTC
svn commit: r746066 [1/2] - in /maven/components/branches/MNG-3932: ./
apache-maven/ maven-compat/src/main/java/org/apache/maven/artifact/
maven-compat/src/main/java/org/apache/maven/artifact/manager/
maven-compat/src/main/java/org/apache/maven/project...
Author: jvanzyl
Date: Fri Feb 20 00:23:19 2009
New Revision: 746066
URL: http://svn.apache.org/viewvc?rev=746066&view=rev
Log:
o merging from trunk
Added:
maven/components/branches/MNG-3932/bs
- copied unchanged from r746028, maven/components/trunk/bs
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomClassicDomainModelFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomClassicDomainModelFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/TransformerRemovalRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/TransformerRemovalRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/TransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/TransformerRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/
- copied from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/AlwaysJoinModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/AlwaysJoinModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/ArtifactModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/ArtifactModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/ExclusionModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/ExclusionModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/IdModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/IdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/PluginExecutionIdModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/PluginExecutionIdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/PluginReportSetIdModelContainerFactory.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/factories/PluginReportSetIdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/DefaultDependencyScopeTransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/DefaultDependencyScopeTransformerRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/DefaultExecutionIdTransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/DefaultExecutionIdTransformerRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/MissingGroupIdTransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/MissingGroupIdTransformerRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/MissingVersionTransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/MissingVersionTransformerRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ModulesNotInheritedTransformerRule.java
- copied unchanged from r746028, maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ModulesNotInheritedTransformerRule.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultPomArtifactResolver.java
- copied unchanged from r746028, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultPomArtifactResolver.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
- copied unchanged from r746028, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/PomArtifactResolver.java
- copied unchanged from r746028, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/PomArtifactResolver.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/ProjectBuilder.java
- copied unchanged from r746028, maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectBuilder.java
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-inheritance/
- copied from r746028, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-inheritance/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-inheritance/child3.xml
- copied unchanged from r746028, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-inheritance/child3.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-inheritance/pom.xml
- copied unchanged from r746028, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-inheritance/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-inheritance/sub/
- copied from r746028, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-inheritance/sub/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-inheritance/sub/pom.xml
- copied unchanged from r746028, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-inheritance/sub/pom.xml
Removed:
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/AlwaysJoinModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ExclusionModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PluginExecutionIdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PluginBuilderTest.java
Modified:
maven/components/branches/MNG-3932/ (props changed)
maven/components/branches/MNG-3932/apache-maven/ (props changed)
maven/components/branches/MNG-3932/build-mercury.xml
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java (props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/inheritance/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/mdo/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/test/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path/ (props changed)
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/ (props changed)
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java (contents, props changed)
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java
maven/components/branches/MNG-3932/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java (props changed)
maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
maven/components/branches/MNG-3932/maven-project-builder/pom.xml
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/resources/ (props changed)
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/DefaultDomainModel.java
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java (props changed)
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/PluginSpecTest.java
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java
maven/components/branches/MNG-3932/maven-project-spec.pdf
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java (props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java (props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java (props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java (props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/MNG-3932/maven-project/src/main/mdo/ (props changed)
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
Propchange: maven/components/branches/MNG-3932/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -4,4 +4,4 @@
/maven/components/branches/maven-2.1.x:739385
/maven/components/branches/sisbell-plugin-manager:738973-739966
/maven/components/sisbell-plugin-manager:738757-738972
-/maven/components/trunk:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/apache-maven/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,5 +3,5 @@
/maven/components/branches/maven-2.0.x/maven-distribution:679206,708871,720042,726541,727548,727998,728264,728940,729060,729738,729785,730631
/maven/components/branches/sisbell-plugin-manager/apache-maven:738973-739966
/maven/components/sisbell-plugin-manager/apache-maven:738757-738972
-/maven/components/trunk/apache-maven:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/apache-maven:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
/maven/components/trunk/maven-distribution:688587-696625,696644-699681
Modified: maven/components/branches/MNG-3932/build-mercury.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/build-mercury.xml?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/build-mercury.xml (original)
+++ maven/components/branches/MNG-3932/build-mercury.xml Fri Feb 20 00:23:19 2009
@@ -34,7 +34,7 @@
<property name="it.workdir.version" value="3.0.x"/>
<target name="initTaskDefs">
- <xmlproperty file="pom.xml" prefix="pom.xml" />
+ <xmlproperty file="pom.xml" prefix="pom" keepRoot="false"/>
<path id="mercury-ant-tasks.classpath" path="mercury-ant-tasks-1.0-alpha-6-SNAPSHOT.jar"/>
<typedef resource="org/apache/maven/mercury/ant/tasks/antlib.xml" uri="urn:mercury-ant-tasks" classpathref="mercury-ant-tasks.classpath"/>
</target>
@@ -63,7 +63,13 @@
<!-- Initialize properties -->
<property name="maven.home.basename.expected" value="apache-maven-${pom.project.version}"/>
<property name="maven.assembly" location="maven-distribution/target/${maven.home.basename.expected}-bin.zip"/>
- <property name="maven.repo.local" value="${user.home}/.m2/repository"/>
+
+ <property name="maven.repo.local" value="${user.home}/.m2/repository"/>
+<!--
+ <property name="maven.repo.central" value="http://repository.sonatype.org/content/groups/public"/>
+ <mercury:remote-repository location="${maven.repo.central}"/>
+-->
+
<property name="surefire.useFile" value="true"/>
<echo>maven.home = ${maven.home}</echo>
</target>
@@ -79,18 +85,38 @@
<replace file="${basedir}/dependencies.xml" token="<!--start-->" value="<!--"/>
<replace file="${basedir}/dependencies.xml" token="<!--end-->" value="-->"/>
- <delete file="${basedir}/dependencies.xml"/>
-
<mercury:local-repository location="${maven.repo.local}"/>
-
- <mercury:resolve-dependencies>
- <mercury:dependency id="org.apache.maven:maven:3.0-SNAPSHOT::pom" source="maven:${basedir}/pom.xml"/>
- </mercury:resolve-dependencies>
-
+
+ <!-- classpaths with default names: mercury.classpath, mercury.classpath.test, mercury.classpath.runtime -->
<mercury:resolve-dependencies>
+ <mercury:dependency source="maven:${basedir}/dependencies.xml"/>
<mercury:dependency id="org.codehaus.plexus:plexus-component-metadata:${pom.properties.plexusVersion}"/>
</mercury:resolve-dependencies>
-
+<!--
+ <delete file="${basedir}/dependencies.xml"/>
+-->
+ <!-- only one named classpath: modello.classpath -->
+ <mercury:resolve-dependencies pathid="modello.classpath" scope="runtime">
+ <mercury:dependency id="org.codehaus.modello:modello-maven-plugin:${pom.properties.modelloVersion}"/>
+ </mercury:resolve-dependencies>
+<!--
+ <echo>========================================================================</echo>
+ <property name="mcc" refid="mercury.classpath.compile"/>
+ <echo>mercury.classpath.compile=${mcc}</echo>
+ <echo>========================================================================</echo>
+ <property name="mcr" refid="mercury.classpath.runtime"/>
+ <echo>mercury.classpath.runtime=${mcr}</echo>
+ <echo>========================================================================</echo>
+
+ <property name="cp.plexus" refid="plexus.classpath"/>
+ <echo>cp.plexus=${cp.plexus}</echo>
+ <echo>========================================================================</echo>
+
+ <property name="cp.modello" refid="modello.classpath"/>
+ <echo>cp.modello=${cp.modello}</echo>
+ <echo>========================================================================</echo>
+-->
+
<!-- Pull the dependencies for Modello
<mercury:dependency groupId="org.codehaus.modello" artifactId="modello-maven-plugin" version="${pom.properties.modelloVersion}"/>
</mercury:resolve-dependencies>
@@ -110,7 +136,7 @@
<path id="maven.classpath">
<pathelement location="bootstrap/target/classes"/>
<path refid="sources"/>
- <path refid="mercury.classpath"/>
+ <path refid="mercury.classpath.runtime"/>
</path>
<echo>Using plexus version ${pom.properties.plexusVersion}</echo>
@@ -140,12 +166,14 @@
<attribute name="mode"/>
<attribute name="version"/>
<sequential>
- <java fork="fork" classname="org.codehaus.modello.ModelloCli" failonerror="true" classpathref="mercury.classpath">
- <arg file="@{file}"/>
- <arg value="@{mode}"/>
- <arg file="bootstrap/target/generated-sources"/>
- <arg value="@{version}"/>
- <arg value="false"/>
+ <java fork="fork" classname="org.codehaus.modello.ModelloCli" failonerror="true" classpathref="modello.classpath">
+ <arg file="@{file}"/> <!-- model file -->
+ <arg value="@{mode}"/> <!-- output type -->
+ <arg file="bootstrap/target/generated-sources"/> <!-- output directory -->
+ <arg value="@{version}"/> <!-- model version -->
+ <arg value="false"/> <!-- package with version -->
+ <arg value="true"/> <!-- use Java 5 -->
+ <arg value="UTF-8"/> <!-- encoding -->
</java>
</sequential>
</macrodef>
@@ -171,6 +199,7 @@
</target>
<target name="compile-boot" depends="generate-sources" description="compiles the bootstrap sources">
+
<path id="sources">
<dirset dir=".">
<include name="bootstrap/target/generated-sources"/>
@@ -178,10 +207,15 @@
</dirset>
</path>
+
+ <echo>========================================================================</echo>
+ <property name="mc" refid="mercury.classpath"/>
+ <echo>mercury.classpath=${mc}</echo>
+ <echo>========================================================================</echo>
<mkdir dir="bootstrap/target/classes"/>
<javac destdir="bootstrap/target/classes" encoding="UTF-8" source="1.5" target="1.5" debug="true">
<src refid="sources"/>
- <classpath refid="pom.pathid"/>
+ <classpath refid="mercury.classpath"/>
</javac>
<path id="maven.classpath">
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -4,4 +4,4 @@
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact:679206
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact:738757-738972
-/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Modified: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Fri Feb 20 00:23:19 2009
@@ -146,6 +146,7 @@
{
throw new UnsupportedProtocolException( "Unspecified protocol" );
}
+
String hint = protocol.toLowerCase( java.util.Locale.ENGLISH );
Wagon wagon = (Wagon) wagons.get( hint );
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:738757-738972
-/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/inheritance/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -1,3 +1,3 @@
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/inheritance:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/inheritance:738757-738972
-/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/inheritance:740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/inheritance:740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,5 +3,5 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/path:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/path:738757-738972
-/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/path:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/path:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path:688587-696625,696644-699681
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -4,4 +4,4 @@
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/mdo:679206
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/mdo:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/main/mdo:738757-738972
-/maven/components/trunk/maven-compat/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/maven-compat/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -4,4 +4,4 @@
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test:679206
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/test:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/test:738757-738972
-/maven/components/trunk/maven-compat/src/test:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/test:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,5 +3,5 @@
/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/path:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-compat/src/test/java/org/apache/maven/project/path:738973-739966
/maven/components/sisbell-plugin-manager/maven-compat/src/test/java/org/apache/maven/project/path:738757-738972
-/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path:688587-696625,696644-699681
Propchange: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,5 +3,5 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners:679206
/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners:738973-739966
/maven/components/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners:738757-738972
-/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners:688587-696625,696644-699681
Modified: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java (original)
+++ maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java Fri Feb 20 00:23:19 2009
@@ -7,7 +7,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.builder.ArtifactModelContainerFactory;
+import org.apache.maven.project.builder.factories.ArtifactModelContainerFactory;
import org.apache.maven.project.builder.ProjectUri;
import org.apache.maven.shared.model.DataSourceException;
import org.apache.maven.shared.model.ModelContainer;
Propchange: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,5 +3,5 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:738757-738972
-/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:688587-696625,696644-699681
Modified: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Fri Feb 20 00:23:19 2009
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.io.StringReader;
+import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -65,21 +66,19 @@
import org.apache.maven.plugin.version.PluginVersionManager;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
-import org.apache.maven.project.DuplicateArtifactAttachmentException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.*;
+import org.apache.maven.project.builder.*;
+import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
-import org.apache.maven.project.builder.Interpolator;
-import org.apache.maven.project.builder.PomInterpolatorTag;
-import org.apache.maven.project.builder.ProjectBuilder;
-import org.apache.maven.project.builder.Mixer;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.realm.MavenRealmManager;
import org.apache.maven.realm.RealmManagementException;
import org.apache.maven.reporting.MavenReport;
import org.apache.maven.shared.model.InterpolatorProperty;
+import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.ModelMarshaller;
+import org.apache.maven.shared.model.ModelTransformerContext;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.annotations.Component;
@@ -576,7 +575,7 @@
interpolatorProperties.addAll( InterpolatorProperty.toInterpolatorProperties( session.getProjectBuilderConfiguration().getUserProperties(),
PomInterpolatorTag.USER_PROPERTIES.name()));
String interpolatedDom =
- Interpolator.interpolateXmlString( String.valueOf( dom ), interpolatorProperties );
+ interpolateXmlString( String.valueOf( dom ), interpolatorProperties );
dom = Xpp3DomBuilder.build( new StringReader( interpolatedDom ) );
}
catch ( XmlPullParserException e )
@@ -1686,4 +1685,28 @@
}
}
}
+
+ private static String interpolateXmlString( String xml, List<InterpolatorProperty> interpolatorProperties )
+ throws IOException
+ {
+ List<ModelProperty> modelProperties = ModelMarshaller.marshallXmlToModelProperties( new ByteArrayInputStream( xml.getBytes() ), ProjectUri.baseUri, PomTransformer.URIS );
+
+ Map<String, String> aliases = new HashMap<String, String>();
+ aliases.put( "project.", "pom." );
+
+ List<InterpolatorProperty> ips = new ArrayList<InterpolatorProperty>( interpolatorProperties );
+ ips.addAll( ModelTransformerContext.createInterpolatorProperties( modelProperties, ProjectUri.baseUri, aliases, PomInterpolatorTag.PROJECT_PROPERTIES.name(), false, false ) );
+
+ for ( ModelProperty mp : modelProperties )
+ {
+ if ( mp.getUri().startsWith( ProjectUri.properties ) && mp.getValue() != null )
+ {
+ String uri = mp.getUri();
+ ips.add( new InterpolatorProperty( "${" + uri.substring( uri.lastIndexOf( "/" ) + 1, uri.length() ) + "}", mp.getValue() ) );
+ }
+ }
+
+ ModelTransformerContext.interpolateModelProperties( modelProperties, ips );
+ return ModelMarshaller.unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri );
+ }
}
Modified: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java (original)
+++ maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java Fri Feb 20 00:23:19 2009
@@ -1,14 +1,13 @@
package org.apache.maven.plugin;
-import java.io.StringReader;
-import java.util.List;
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import java.util.List;
+import java.io.StringReader;
@Component( role = PluginRepository.class)
public class DefaultPluginRepository implements PluginRepository
Modified: maven/components/branches/MNG-3932/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java (original)
+++ maven/components/branches/MNG-3932/maven-core/src/test/java/org/apache/maven/listeners/BuildExtensionListenerTest.java Fri Feb 20 00:23:19 2009
@@ -55,7 +55,7 @@
listener.processModelContainers( newMavenSession() );
// Now we should be able to find the extension.
- lookup( Wagon.class, "dav" );
+ // lookup( Wagon.class, "dav" );
}
private MavenSession newMavenSession()
Modified: maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Fri Feb 20 00:23:19 2009
@@ -24,7 +24,11 @@
import java.io.Reader;
import java.io.Writer;
import java.net.URL;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
import org.apache.maven.Maven;
import org.apache.maven.artifact.Artifact;
@@ -55,16 +59,21 @@
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.plugin.*;
+import org.apache.maven.plugin.InvalidPluginException;
+import org.apache.maven.plugin.MavenPluginCollector;
+import org.apache.maven.plugin.MavenPluginDiscoverer;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.PluginContext;
+import org.apache.maven.plugin.PluginManager;
+import org.apache.maven.plugin.PluginManagerException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginRepository;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.MavenProjectBuildingResult;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.project.builder.ProjectBuilder;
-import org.apache.maven.project.builder.Mixer;
-import org.apache.maven.plugin.PluginRepository;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.reactor.MissingModuleException;
import org.apache.maven.settings.Settings;
@@ -86,7 +95,6 @@
import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
import org.codehaus.plexus.logging.LoggerManager;
import org.codehaus.plexus.util.IOUtil;
@@ -145,8 +153,6 @@
private BuildPlanner buildPlanner;
private PluginRepository pluginRepository;
-
- private Mixer mixer;
// ----------------------------------------------------------------------
// Configuration
@@ -263,15 +269,6 @@
modelWriter.write( writer, model );
}
- public PlexusConfiguration getPluginConfiguration(String pluginId, String mojoId, Model model) throws Exception
- {
- try {
- return mixer.mixPluginAndReturnConfig(pluginRepository.findPluginById(pluginId, mojoId), null, model, null);
- } catch (PlexusConfigurationException e) {
- throw new IOException(e.getMessage());
- }
- }
-
// ----------------------------------------------------------------------
// Settings
// ----------------------------------------------------------------------
@@ -684,8 +681,6 @@
pluginRepository = container.lookup( PluginRepository.class );
- mixer = (Mixer) container.lookup( ProjectBuilder.class );
-
// This is temporary as we can probably cache a single request and use it for default values and
// simply cascade values in from requests used for individual executions.
request = new DefaultMavenExecutionRequest();
Modified: maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Fri Feb 20 00:23:19 2009
@@ -60,7 +60,6 @@
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException;
Propchange: maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:738757-738972
-/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Modified: maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java (original)
+++ maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDependencyProcessor.java Fri Feb 20 00:23:19 2009
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -31,8 +30,6 @@
import org.apache.maven.mercury.builder.api.DependencyProcessorException;
import org.apache.maven.mercury.builder.api.MetadataReader;
import org.apache.maven.mercury.builder.api.MetadataReaderException;
-import org.apache.maven.project.builder.ArtifactModelContainerFactory;
-import org.apache.maven.project.builder.IdModelContainerFactory;
import org.apache.maven.project.builder.PomInterpolatorTag;
import org.apache.maven.project.builder.PomTransformer;
import org.apache.maven.project.builder.ProjectUri;
Modified: maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java (original)
+++ maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java Fri Feb 20 00:23:19 2009
@@ -28,9 +28,8 @@
import java.util.List;
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
-import org.apache.maven.project.builder.ArtifactModelContainerFactory;
-import org.apache.maven.project.builder.ExclusionModelContainerFactory;
-import org.apache.maven.project.builder.IdModelContainerFactory;
+import org.apache.maven.project.builder.factories.ArtifactModelContainerFactory;
+import org.apache.maven.project.builder.factories.ExclusionModelContainerFactory;
import org.apache.maven.project.builder.PomTransformer;
import org.apache.maven.project.builder.ProjectUri;
import org.apache.maven.project.builder.profile.ProfileContext;
@@ -125,7 +124,7 @@
{
ModelDataSource dataSource = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
- return new ProfileContext( dataSource, null, properties ).getActiveProfiles();
+ return new ProfileContext( dataSource, null, null, properties ).getActiveProfiles();
}
public ArtifactBasicMetadata getParentMetadata()
Modified: maven/components/branches/MNG-3932/maven-project-builder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/pom.xml?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/pom.xml (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/pom.xml Fri Feb 20 00:23:19 2009
@@ -27,6 +27,10 @@
<artifactId>model-builder</artifactId>
</dependency>
<dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java Fri Feb 20 00:23:19 2009
@@ -25,8 +25,11 @@
import org.apache.maven.shared.model.*;
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
-import org.apache.maven.project.builder.rules.ExecutionRule;
-import org.apache.maven.project.builder.rules.DependencyRule;
+import org.apache.maven.project.builder.rules.*;
+import org.apache.maven.project.builder.factories.PluginExecutionIdModelContainerFactory;
+import org.apache.maven.project.builder.factories.AlwaysJoinModelContainerFactory;
+import org.apache.maven.project.builder.factories.ArtifactModelContainerFactory;
+import org.apache.maven.project.builder.factories.IdModelContainerFactory;
/**
* Provides methods for transforming model properties into a domain model for the pom classic format and vice versa.
@@ -193,7 +196,7 @@
for ( ModelContainer managementContainer : source.queryFor(
ProjectUri.DependencyManagement.Dependencies.Dependency.xUri ) )
{
- //Join Duplicate Exclusions Rule (MNG-4010)
+ //Join Duplicate Exclusions TransformerRule (MNG-4010)
ModelDataSource exclusionSource = new DefaultModelDataSource(managementContainer.getProperties(),
Collections.unmodifiableList(Arrays.asList(new ArtifactModelContainerFactory(ProjectUri.DependencyManagement.Dependencies.Dependency.Exclusions.Exclusion.xUri))));
List<ModelContainer> exclusionContainers =
@@ -354,7 +357,7 @@
props = source.getModelProperties();
- //Rule: Do not join plugin executions without ids
+ //TransformerRule: Do not join plugin executions without ids
Set<ModelProperty> removeProperties = new HashSet<ModelProperty>();
ModelDataSource dataSource = new DefaultModelDataSource( props, PomTransformer.MODEL_CONTAINER_FACTORIES );
@@ -392,7 +395,7 @@
props.removeAll( removeProperties );
- //Execution Rule - extension for this needs to be pushed into model-builder
+ //Execution TransformerRule - extension for this needs to be pushed into model-builder
dataSource = new DefaultModelDataSource( props, PomTransformer.MODEL_CONTAINER_FACTORIES );
for(ModelContainer mc : dataSource.queryFor( ProjectUri.Build.Plugins.Plugin.xUri ))
@@ -484,6 +487,12 @@
}
return transformedProperties;
}
+
+ List<TransformerRule> transformerRules = Arrays.asList(new MissingVersionTransformerRule(),
+ new DefaultDependencyScopeTransformerRule());
+
+ List<TransformerRemovalRule> transformerRemovalRules = Arrays.asList(new DefaultExecutionIdTransformerRule(),
+ new ModulesNotInheritedTransformerRule());
/**
* @see ModelTransformer#transformToModelProperties(java.util.List)
@@ -528,63 +537,19 @@
List<ModelProperty> tmp = domainModel.getModelProperties();
List clearedProperties = new ArrayList<ModelProperty>();
-
- //Default Dependency Scope Rule
- if(domainModelIndex == 0)
- {
- ModelDataSource s = new DefaultModelDataSource( tmp, Arrays.asList( new ArtifactModelContainerFactory()) );
- for(ModelContainer mc : s.queryFor(ProjectUri.Dependencies.Dependency.xUri))
- {
- boolean containsScope = false;
- for(ModelProperty mp :mc.getProperties())
- {
- if(mp.getUri().equals(ProjectUri.Dependencies.Dependency.scope)) {
- containsScope = true;
- break;
- }
- }
- if(!containsScope)
- {
- tmp.add(tmp.indexOf(mc.getProperties().get(0)) + 1, new ModelProperty(ProjectUri.Dependencies.Dependency.scope, "compile"));
- }
- }
- }
-
- //Remove Default Executions IDS (mng-3965)
- List<ModelProperty> replace = new ArrayList<ModelProperty>();
- for(ModelProperty mp : tmp)
+ for(TransformerRule rule : transformerRules)
{
- if(mp.getUri().equals(ProjectUri.Build.Plugins.Plugin.Executions.Execution.id)
- && mp.getResolvedValue() != null && mp.getResolvedValue().equals("default-execution-id")) {
- replace.add(mp);
- }
+ rule.execute(tmp, domainModelIndex);
}
- tmp.removeAll(replace);
-
- //Missing Version Rule
- if ( getPropertyFor( ProjectUri.version, tmp ) == null )
+ for(TransformerRemovalRule rule : transformerRemovalRules)
{
- ModelProperty parentVersion = getPropertyFor( ProjectUri.Parent.version, tmp );
- if ( parentVersion != null )
- {
- tmp.add( new ModelProperty( ProjectUri.version, parentVersion.getResolvedValue() ) );
- }
+ tmp.removeAll(rule.executeWithReturnPropertiesToRemove(tmp, domainModelIndex));
}
- //Modules Not Inherited Rule
- if ( domainModelIndex > 0 )
- {
- ModelProperty modulesProperty = getPropertyFor( ProjectUri.Modules.xUri, tmp );
- if ( modulesProperty != null )
- {
- tmp.remove( modulesProperty );
- tmp.removeAll( getPropertiesFor( ProjectUri.Modules.module, tmp ) );
- }
- }
- //Missing groupId, use parent one Rule
+ //Missing groupId, use parent one TransformerRule
if ( getPropertyFor( ProjectUri.groupId, tmp ) == null )
{
ModelProperty parentGroupId = getPropertyFor( ProjectUri.Parent.groupId, tmp );
@@ -624,6 +589,7 @@
}
tmp.removeAll( removeProperties );
}
+
//Not inherited plugin rule
if ( domainModelIndex > 0 )
{
@@ -653,23 +619,23 @@
tmp.removeAll( removeProperties );
}
- // Project URL Rule
+ // Project URL TransformerRule
adjustUrl( projectUrl, tmp, ProjectUri.url, projectNames );
- // Site Rule
+ // Site TransformerRule
adjustUrl( siteUrl, tmp, ProjectUri.DistributionManagement.Site.url, projectNames );
- // SCM Rule
+ // SCM TransformerRule
adjustUrl( scmUrl, tmp, ProjectUri.Scm.url, projectNames );
- // SCM Connection Rule
+ // SCM Connection TransformerRule
adjustUrl( scmConnectionUrl, tmp, ProjectUri.Scm.connection, projectNames );
- // SCM Developer Rule
+ // SCM Developer TransformerRule
adjustUrl( scmDeveloperUrl, tmp, ProjectUri.Scm.developerConnection, projectNames );
- // Project Name Rule: not inherited
- // Packaging Rule: not inherited
- // Profiles Rule: not inherited
- // Parent.relativePath Rule: not inherited
- // Prerequisites Rule: not inherited
- // DistributionManagent.Relocation Rule: not inherited
+ // Project Name TransformerRule: not inherited
+ // Packaging TransformerRule: not inherited
+ // Profiles TransformerRule: not inherited
+ // Parent.relativePath TransformerRule: not inherited
+ // Prerequisites TransformerRule: not inherited
+ // DistributionManagent.Relocation TransformerRule: not inherited
if ( domainModelIndex > 0 )
{
for ( ModelProperty mp : tmp )
@@ -686,19 +652,19 @@
}
}
- // Remove Plugin Repository Inheritance Rule
- // License Rule: only inherited if not specified in child
- // Organization Rule: only inherited if not specified in child
- // Developers Rule: only inherited if not specified in child
- // Contributors Rule: only inherited if not specified in child
- // Mailing Lists Rule: only inherited if not specified in child
- // Build Resources Rule: only inherited if not specified in child
- // Build Test Resources Rule: only inherited if not specified in child
- // CI Management Rule: only inherited if not specified in child
- // Issue Management Rule: only inherited if not specified in child
- // Distribution Management Repository Rule: only inherited if not specified in child
- // Distribution Management Snapshot Repository Rule: only inherited if not specified in child
- // Distribution Management Site Rule: only inherited if not specified in child
+ // Remove Plugin Repository Inheritance TransformerRule
+ // License TransformerRule: only inherited if not specified in child
+ // Organization TransformerRule: only inherited if not specified in child
+ // Developers TransformerRule: only inherited if not specified in child
+ // Contributors TransformerRule: only inherited if not specified in child
+ // Mailing Lists TransformerRule: only inherited if not specified in child
+ // Build Resources TransformerRule: only inherited if not specified in child
+ // Build Test Resources TransformerRule: only inherited if not specified in child
+ // CI Management TransformerRule: only inherited if not specified in child
+ // Issue Management TransformerRule: only inherited if not specified in child
+ // Distribution Management Repository TransformerRule: only inherited if not specified in child
+ // Distribution Management Snapshot Repository TransformerRule: only inherited if not specified in child
+ // Distribution Management Site TransformerRule: only inherited if not specified in child
for ( ModelProperty mp : tmp )
{
String uri = mp.getUri();
@@ -746,7 +712,7 @@
//Rules processed on collapsed pom
- //Rule: Remove duplicate filters
+ //TransformerRule: Remove duplicate filters
List<ModelProperty> removedProperties = new ArrayList<ModelProperty>();
List<String> filters = new ArrayList<String>();
for(ModelProperty mp : modelProperties)
@@ -765,7 +731,7 @@
}
modelProperties.removeAll(removedProperties);
- //Rule: Build plugin config overrides reporting plugin config
+ //TransformerRule: Build plugin config overrides reporting plugin config
ModelDataSource source = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
List<ModelContainer> reportContainers = source.queryFor( ProjectUri.Reporting.Plugins.Plugin.xUri );
@@ -797,61 +763,96 @@
* @param domainModel
* @throws IOException
*/
- public void interpolateModelProperties(List<ModelProperty> modelProperties,
- List<InterpolatorProperty> interpolatorProperties,
- DomainModel domainModel)
- throws IOException
+ private static final Map<String, String> aliases = new HashMap<String, String>();
+
+ private static void addProjectAlias( String element, boolean leaf )
{
+ String suffix = leaf ? "\\}" : "\\.";
+ aliases.put( "\\$\\{project\\." + element + suffix, "\\$\\{" + element + suffix );
+ }
- Map<String, String> aliases = new HashMap<String, String>();
- aliases.put( "project.", "pom.");
- aliases.put( "\\$\\{project.build.", "\\$\\{build.");
+ static
+ {
+ aliases.put( "\\$\\{project\\.", "\\$\\{pom\\." );
+ addProjectAlias( "modelVersion", true );
+ addProjectAlias( "groupId", true );
+ addProjectAlias( "artifactId", true );
+ addProjectAlias( "version", true );
+ addProjectAlias( "packaging", true );
+ addProjectAlias( "name", true );
+ addProjectAlias( "description", true );
+ addProjectAlias( "inceptionYear", true );
+ addProjectAlias( "url", true );
+ addProjectAlias( "parent", false );
+ addProjectAlias( "prerequisites", false );
+ addProjectAlias( "organization", false );
+ addProjectAlias( "build", false );
+ addProjectAlias( "reporting", false );
+ addProjectAlias( "scm", false );
+ addProjectAlias( "distributionManagement", false );
+ addProjectAlias( "issueManagement", false );
+ addProjectAlias( "ciManagement", false );
+ }
+
+ public void interpolateModelProperties( List<ModelProperty> modelProperties,
+ List<InterpolatorProperty> interpolatorProperties,
+ DomainModel domainModel )
+ throws IOException
+ {
+ PomClassicDomainModel dm = (PomClassicDomainModel) domainModel;
- if(!containsProjectVersion(interpolatorProperties))
+ if ( !containsProjectVersion( interpolatorProperties ) )
{
- aliases.put("\\$\\{project.version\\}", "\\$\\{version\\}");
+ aliases.put( "\\$\\{project.version\\}", "\\$\\{version\\}" );
}
List<ModelProperty> firstPassModelProperties = new ArrayList<ModelProperty>();
List<ModelProperty> secondPassModelProperties = new ArrayList<ModelProperty>();
- ModelProperty buildProperty = new ModelProperty(ProjectUri.Build.xUri, null);
- for(ModelProperty mp : modelProperties)
+ ModelProperty buildProperty = new ModelProperty( ProjectUri.Build.xUri, null );
+ for ( ModelProperty mp : modelProperties )
{
- if( mp.getValue() != null && !mp.getUri().contains( "#property" ) && !mp.getUri().contains( "#collection" ))
+ if ( mp.getValue() != null && !mp.getUri().contains( "#property" ) && !mp.getUri().contains( "#collection" ) )
{
- if( !buildProperty.isParentOf( mp ) || mp.getUri().equals(ProjectUri.Build.finalName ) )
+ if ( ( !buildProperty.isParentOf( mp ) && !mp.getUri().equals( ProjectUri.Reporting.outputDirectory ) || mp.getUri().equals( ProjectUri.Build.finalName ) ) )
{
- firstPassModelProperties.add(mp);
+ firstPassModelProperties.add( mp );
}
else
{
- secondPassModelProperties.add(mp);
+ secondPassModelProperties.add( mp );
}
}
}
-
List<InterpolatorProperty> standardInterpolatorProperties = new ArrayList<InterpolatorProperty>();
+ if ( dm.isPomInBuild() )
+ {
+ String basedir = dm.getProjectDirectory().getAbsolutePath();
+ standardInterpolatorProperties.add( new InterpolatorProperty( "${project.basedir}", basedir, PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
+ standardInterpolatorProperties.add( new InterpolatorProperty( "${basedir}", basedir, PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
+ standardInterpolatorProperties.add( new InterpolatorProperty( "${pom.basedir}", basedir, PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
- for(ModelProperty mp : modelProperties)
+ }
+
+ for ( ModelProperty mp : modelProperties )
{
- if(mp.getUri().startsWith(ProjectUri.properties) && mp.getValue() != null )
+ if ( mp.getUri().startsWith( ProjectUri.properties ) && mp.getValue() != null )
{
String uri = mp.getUri();
- standardInterpolatorProperties.add( new InterpolatorProperty( "${" + uri.substring( uri.lastIndexOf( "/" ) + 1,
- uri.length() ) + "}", mp.getValue(), PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
+ standardInterpolatorProperties.add( new InterpolatorProperty( "${" + uri.substring( uri.lastIndexOf( "/" ) + 1, uri.length() ) + "}", mp.getValue(),
+ PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
}
}
//FIRST PASS - Withhold using build directories as interpolator properties
- List<InterpolatorProperty> ips1 = new ArrayList<InterpolatorProperty>(interpolatorProperties);
- ips1.addAll(standardInterpolatorProperties);
- ips1.addAll(ModelTransformerContext.createInterpolatorProperties(firstPassModelProperties, ProjectUri.baseUri, aliases,
- PomInterpolatorTag.PROJECT_PROPERTIES.name(), false, false));
- Collections.sort(ips1, new Comparator<InterpolatorProperty>()
+ List<InterpolatorProperty> ips1 = new ArrayList<InterpolatorProperty>( interpolatorProperties );
+ ips1.addAll( standardInterpolatorProperties );
+ ips1.addAll( ModelTransformerContext.createInterpolatorProperties( firstPassModelProperties, ProjectUri.baseUri, aliases, PomInterpolatorTag.PROJECT_PROPERTIES.name(), false, false ) );
+ Collections.sort( ips1, new Comparator<InterpolatorProperty>()
{
- public int compare(InterpolatorProperty o, InterpolatorProperty o1) {
+ public int compare( InterpolatorProperty o, InterpolatorProperty o1 )
+ {
if(o.getTag() == null || o1.getTag() == null)
{
return 0;
@@ -861,8 +862,52 @@
});
ModelTransformerContext.interpolateModelProperties( modelProperties, ips1 );
- }
+ //SECOND PASS - Set absolute paths on build directories
+ if ( dm.isPomInBuild() )
+ {
+ String basedir = dm.getProjectDirectory().getAbsolutePath();
+ Map<ModelProperty, ModelProperty> buildDirectories = new HashMap<ModelProperty, ModelProperty>();
+ for ( ModelProperty mp : secondPassModelProperties )
+ {
+ if ( mp.getUri().startsWith( ProjectUri.Build.xUri ) || mp.getUri().equals( ProjectUri.Reporting.outputDirectory ) )
+ {
+ File file = new File(mp.getResolvedValue());
+ if( !file.isAbsolute() && !mp.getResolvedValue().startsWith("${project.build.")
+ && !mp.getResolvedValue().equals("${project.basedir}"))
+ {
+ buildDirectories.put( mp, new ModelProperty( mp.getUri(), new File( basedir, file.getPath() ).getAbsolutePath() ) );
+ }
+ }
+ }
+
+ for ( Map.Entry<ModelProperty, ModelProperty> e : buildDirectories.entrySet() )
+ {
+ secondPassModelProperties.remove( e.getKey() );
+ secondPassModelProperties.add( e.getValue() );
+ }
+ }
+
+ //THIRD PASS - Use build directories as interpolator properties
+ List<InterpolatorProperty> ips2 = new ArrayList<InterpolatorProperty>( interpolatorProperties );
+ ips2.addAll( standardInterpolatorProperties );
+ ips2.addAll( ModelTransformerContext.createInterpolatorProperties( secondPassModelProperties, ProjectUri.baseUri, aliases, PomInterpolatorTag.PROJECT_PROPERTIES.name(), false, false ) );
+ ips2.addAll( interpolatorProperties );
+ Collections.sort( ips2, new Comparator<InterpolatorProperty>()
+ {
+ public int compare( InterpolatorProperty o, InterpolatorProperty o1 )
+ {
+ if(o.getTag() == null || o1.getTag() == null)
+ {
+ return 0;
+ }
+
+ return PomInterpolatorTag.valueOf( o.getTag() ).compareTo( PomInterpolatorTag.valueOf( o1.getTag() ) );
+ }
+ } );
+
+ ModelTransformerContext.interpolateModelProperties( modelProperties, ips2 );
+ }
/**
* Override this method for different preprocessing of model properties.
*
@@ -960,7 +1005,7 @@
* @param properties the model properties list to search
* @return all model properties containing the specified uri from the specified properties list
*/
- private static List<ModelProperty> getPropertiesFor( String uri, List<ModelProperty> properties )
+ public static List<ModelProperty> getPropertiesFor( String uri, List<ModelProperty> properties )
{
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
for ( ModelProperty mp : properties )
@@ -981,7 +1026,7 @@
* @param properties the model properties list to search
* @return the first model property containing the specified uri from the specified properties list.
*/
- private static ModelProperty getPropertyFor( String uri, List<ModelProperty> properties )
+ public static ModelProperty getPropertyFor( String uri, List<ModelProperty> properties )
{
for ( ModelProperty mp : properties )
{
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java Fri Feb 20 00:23:19 2009
@@ -14,37 +14,64 @@
private Collection<String> activeProfileIds;
- List<ActiveProfileMatcher> matchers = Collections.unmodifiableList( Arrays.asList(new ByDefaultMatcher(),
+ private Collection<String> inactiveProfileIds;
+
+ private ActiveProfileMatcher defaultMatcher = new ByDefaultMatcher();
+
+ private List<ActiveProfileMatcher> matchers = Collections.unmodifiableList( Arrays.asList(
new FileMatcher(), new JdkMatcher(), new OperatingSystemMatcher(), new PropertyMatcher()
) );
- public ProfileContext(ModelDataSource modelDataSource, Collection<String> activeProfileIds,
- List<InterpolatorProperty> properties) {
+ public ProfileContext( ModelDataSource modelDataSource, Collection<String> activeProfileIds,
+ Collection<String> inactiveProfileIds, List<InterpolatorProperty> properties )
+ {
this.modelDataSource = modelDataSource;
- this.properties = new ArrayList<InterpolatorProperty>(properties);
- this.activeProfileIds = (activeProfileIds != null) ? activeProfileIds : new ArrayList<String>();
+ this.properties = new ArrayList<InterpolatorProperty>( properties );
+ this.activeProfileIds = ( activeProfileIds != null ) ? activeProfileIds : new ArrayList<String>();
+ this.inactiveProfileIds = ( inactiveProfileIds != null ) ? inactiveProfileIds : new ArrayList<String>();
}
- public Collection<ModelContainer> getActiveProfiles() throws DataSourceException {
+ public Collection<ModelContainer> getActiveProfiles()
+ throws DataSourceException
+ {
List<ModelContainer> matchedContainers = new ArrayList<ModelContainer>();
+ List<ModelContainer> defaultContainers = new ArrayList<ModelContainer>();
- List<ModelContainer> modelContainers = modelDataSource.queryFor(ProjectUri.Profiles.Profile.xUri);
- for(ModelContainer mc : modelContainers) {
- for(ActiveProfileMatcher matcher : matchers) {
- if(matcher.isMatch(mc, properties)) {
- matchedContainers.add(mc);
- continue;
- }
- }
+ List<ModelContainer> modelContainers = modelDataSource.queryFor( ProjectUri.Profiles.Profile.xUri );
+ for ( ModelContainer mc : modelContainers )
+ {
+ String profileId = getProfileId( mc.getProperties() );
- String profileId = getProfileId(mc.getProperties());
- if(profileId != null && activeProfileIds.contains(profileId))
+ if ( !inactiveProfileIds.contains( profileId ) )
{
- matchedContainers.add(mc);
+ if ( activeProfileIds.contains( profileId ) )
+ {
+ matchedContainers.add( mc );
+ }
+ else if ( defaultMatcher.isMatch( mc, properties ) )
+ {
+ defaultContainers.add( mc );
+ }
+ else
+ {
+ for ( ActiveProfileMatcher matcher : matchers )
+ {
+ if ( matcher.isMatch( mc, properties ) )
+ {
+ matchedContainers.add( mc );
+ break;
+ }
+ }
+ }
}
}
- return matchedContainers;
+ if ( matchedContainers.isEmpty() )
+ {
+ matchedContainers = defaultContainers;
+ }
+
+ return matchedContainers;
}
private String getProfileId(List<ModelProperty> modelProperties)
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/rules/ExecutionRule.java Fri Feb 20 00:23:19 2009
@@ -1,14 +1,11 @@
package org.apache.maven.project.builder.rules;
import org.apache.maven.shared.model.*;
-import org.apache.maven.shared.model.impl.DefaultModelDataSource;
import org.apache.maven.project.builder.ProjectUri;
-import org.apache.maven.project.builder.AlwaysJoinModelContainerFactory;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Arrays;
public class ExecutionRule implements ModelContainerRule {
Propchange: maven/components/branches/MNG-3932/maven-project-builder/src/main/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/resources:679206,720042
/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/main/resources:738973-739966
/maven/components/sisbell-plugin-manager/maven-project-builder/src/main/resources:738757-738972
-/maven/components/trunk/maven-project-builder/src/main/resources:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project-builder/src/main/resources:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/DefaultDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/DefaultDomainModel.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/DefaultDomainModel.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/DefaultDomainModel.java Fri Feb 20 00:23:19 2009
@@ -2,15 +2,19 @@
import org.apache.maven.shared.model.DomainModel;
import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.InputStreamDomainModel;
import java.util.List;
import java.io.IOException;
+import java.io.File;
+import java.io.InputStream;
-public class DefaultDomainModel implements DomainModel {
+public class DefaultDomainModel extends PomClassicDomainModel {
private List<ModelProperty> modelProperties;
public DefaultDomainModel(List<ModelProperty> modelProperties) {
+ super( modelProperties);
this.modelProperties = modelProperties;
}
@@ -25,4 +29,16 @@
public void setEventHistory(String s) {
}
+
+ public boolean isPomInBuild() {
+ return false;
+ }
+
+ public File getProjectDirectory() {
+ return null;
+ }
+
+ public InputStream getInputStream() {
+ return null;
+ }
}
Propchange: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -4,4 +4,4 @@
/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:738757-738972
/maven/components/trunk/maven-project-builder/src/test/java/EnforcerPomTest.java:688587-696625,696644-699681
-/maven/components/trunk/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/PluginSpecTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/PluginSpecTest.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/PluginSpecTest.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/PluginSpecTest.java Fri Feb 20 00:23:19 2009
@@ -3,6 +3,7 @@
import static org.junit.Assert.*;
import org.apache.maven.shared.model.*;
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
+import org.apache.maven.project.builder.factories.PluginExecutionIdModelContainerFactory;
import java.util.List;
import java.util.ArrayList;
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java Fri Feb 20 00:23:19 2009
@@ -3,14 +3,14 @@
import org.apache.maven.project.builder.profile.ProfileContext;
import org.apache.maven.project.builder.PomTransformer;
import org.apache.maven.project.builder.ProjectUri;
-import org.apache.maven.project.builder.ArtifactModelContainerFactory;
-import org.apache.maven.project.builder.IdModelContainerFactory;
import org.apache.maven.shared.model.DataSourceException;
import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.shared.model.ModelContainer;
import org.apache.maven.shared.model.ModelProperty;
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
-import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
@@ -19,7 +19,7 @@
public class ProfileContextTest {
- @org.junit.Test
+ @Test
public void getActiveProfiles() throws DataSourceException {
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
@@ -35,7 +35,7 @@
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
interpolatorProperties.add(new InterpolatorProperty( "${foo}", "bar"));
- ProfileContext ctx = new ProfileContext(dataSource, null, interpolatorProperties);
+ ProfileContext ctx = new ProfileContext(dataSource, null, null, interpolatorProperties);
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
@@ -43,7 +43,7 @@
}
- @org.junit.Test
+ @Test
public void getActiveProfilesById() throws DataSourceException {
List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
@@ -55,11 +55,75 @@
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
- ProfileContext ctx = new ProfileContext(dataSource, Arrays.asList("test"), interpolatorProperties);
+ ProfileContext ctx = new ProfileContext(dataSource, Arrays.asList("test"), null, interpolatorProperties);
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
assertTrue(profiles.size() == 1);
}
+
+ @Test
+ public void getActiveByDefaultProfilesOnlyActivatedIfNoOtherPomProfilesAreActive()
+ throws DataSourceException
+ {
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ modelProperties.add( new ModelProperty( ProjectUri.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "default" ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.activeByDefault, "true" ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "explicit" ) );
+
+ DefaultModelDataSource dataSource =
+ new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
+
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
+ ProfileContext ctx = new ProfileContext( dataSource, Arrays.asList( "explicit" ), null, interpolatorProperties );
+
+ Collection<ModelContainer> profiles = ctx.getActiveProfiles();
+
+ assertEquals( 1, profiles.size() );
+ assertProperty( profiles.iterator().next().getProperties(), ProjectUri.Profiles.Profile.id, "explicit" );
+ }
+
+ @Test
+ public void getDeactivateProfiles()
+ throws DataSourceException
+ {
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ modelProperties.add( new ModelProperty( ProjectUri.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.id, "default" ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.xUri, null ) );
+ modelProperties.add( new ModelProperty( ProjectUri.Profiles.Profile.Activation.activeByDefault, "true" ) );
+
+ DefaultModelDataSource dataSource =
+ new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
+
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
+ ProfileContext ctx = new ProfileContext( dataSource, null, Arrays.asList( "default" ), interpolatorProperties );
+
+ Collection<ModelContainer> profiles = ctx.getActiveProfiles();
+
+ assertEquals( 0, profiles.size() );
+ }
+
+ private void assertProperty( Collection<ModelProperty> properties, String uri, String value )
+ {
+ for ( ModelProperty property : properties )
+ {
+ if ( uri.equals( property.getUri() ) && value.equals( property.getValue() ) )
+ {
+ return;
+ }
+ }
+ fail( "missing model property " + uri + " = " + value );
+ }
+
}
Modified: maven/components/branches/MNG-3932/maven-project-spec.pdf
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-spec.pdf?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
Binary files - no diff available.
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:738757-738972
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:679206
/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:738973-739966
/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:738757-738972
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028