You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/07/01 19:06:58 UTC
svn commit: r673141 [1/2] - in /maven/sandbox/branches/maven-2.0.9:
apache-maven/ maven-project/
maven-project/src/main/java/org/apache/maven/project/
maven-project/src/main/java/org/apache/maven/project/builder/
maven-project/src/main/java/org/apache/...
Author: sisbell
Date: Tue Jul 1 10:06:57 2008
New Revision: 673141
URL: http://svn.apache.org/viewvc?rev=673141&view=rev
Log:
Initial import of pom builder code.
Added:
maven/sandbox/branches/maven-2.0.9/apache-maven/apache-maven.iml
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectUri.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/impl/
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
Modified:
maven/sandbox/branches/maven-2.0.9/maven-project/pom.xml
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/sandbox/branches/maven-2.0.9/maven-project/src/main/resources/META-INF/plexus/components.xml
Added: maven/sandbox/branches/maven-2.0.9/apache-maven/apache-maven.iml
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/apache-maven/apache-maven.iml?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/apache-maven/apache-maven.iml (added)
+++ maven/sandbox/branches/maven-2.0.9/apache-maven/apache-maven.iml Tue Jul 1 10:06:57 2008
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="true" type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <exclude-output />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library">
+ <library name="junit:junit:3.8.1">
+ <CLASSES>
+ <root url="jar://$localRepository$/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/junit/junit/3.8.1/junit-3.8.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/junit/junit/3.8.1/junit-3.8.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-core" exported="" />
+ <orderEntry type="module" module-name="maven-settings" exported="" />
+ <orderEntry type="module" module-name="maven-model" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="org.codehaus.plexus:plexus-utils:1.5.1">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.codehaus.plexus:plexus-container-default:1.0-alpha-9-stable-1">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="classworlds:classworlds:1.1">
+ <CLASSES>
+ <root url="jar://$localRepository$/classworlds/classworlds/1.1/classworlds-1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/classworlds/classworlds/1.1/classworlds-1.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/classworlds/classworlds/1.1/classworlds-1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-file:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-file/1.0-beta-2/wagon-file-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-provider-api:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-plugin-parameter-documenter" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-webdav:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="slide:slide-webdavlib:2.1">
+ <CLASSES>
+ <root url="jar://$localRepository$/slide/slide-webdavlib/2.1/slide-webdavlib-2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/slide/slide-webdavlib/2.1/slide-webdavlib-2.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/slide/slide-webdavlib/2.1/slide-webdavlib-2.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="commons-httpclient:commons-httpclient:2.0.2">
+ <CLASSES>
+ <root url="jar://$localRepository$/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="commons-logging:commons-logging:1.0.4">
+ <CLASSES>
+ <root url="jar://$localRepository$/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jdom:jdom:1.0">
+ <CLASSES>
+ <root url="jar://$localRepository$/jdom/jdom/1.0/jdom-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/jdom/jdom/1.0/jdom-1.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/jdom/jdom/1.0/jdom-1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="de.zeigermann.xml:xml-im-exporter:1.1">
+ <CLASSES>
+ <root url="jar://$localRepository$/de/zeigermann/xml/xml-im-exporter/1.1/xml-im-exporter-1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/de/zeigermann/xml/xml-im-exporter/1.1/xml-im-exporter-1.1-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/de/zeigermann/xml/xml-im-exporter/1.1/xml-im-exporter-1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-http-lightweight:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-2/wagon-http-lightweight-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-http-shared:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-http-shared/1.0-beta-2/wagon-http-shared-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="jtidy:jtidy:4aug2000r7-dev">
+ <CLASSES>
+ <root url="jar://$localRepository$/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="xml-apis:xml-apis:1.0.b2">
+ <CLASSES>
+ <root url="jar://$localRepository$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-reporting-api" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.doxia:doxia-sink-api:1.0-alpha-10">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-profile" exported="" />
+ <orderEntry type="module" module-name="maven-artifact" exported="" />
+ <orderEntry type="module" module-name="maven-repository-metadata" exported="" />
+ <orderEntry type="module" module-name="maven-error-diagnostics" exported="" />
+ <orderEntry type="module" module-name="maven-project" exported="" />
+ <orderEntry type="module" module-name="maven-artifact-manager" exported="" />
+ <orderEntry type="module" module-name="maven-plugin-registry" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="commons-cli:commons-cli:1.0">
+ <CLASSES>
+ <root url="jar://$localRepository$/commons-cli/commons-cli/1.0/commons-cli-1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/commons-cli/commons-cli/1.0/commons-cli-1.0-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/commons-cli/commons-cli/1.0/commons-cli-1.0-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-plugin-api" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-ssh-external:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-2/wagon-ssh-external-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-ssh-common:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-2/wagon-ssh-common-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="org.codehaus.plexus:plexus-interactivity-api:1.0-alpha-4">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-plugin-descriptor" exported="" />
+ <orderEntry type="module" module-name="maven-monitor" exported="" />
+ <orderEntry type="module-library" exported="">
+ <library name="org.apache.maven.wagon:wagon-ssh:1.0-beta-2">
+ <CLASSES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/org/apache/maven/wagon/wagon-ssh/1.0-beta-2/wagon-ssh-1.0-beta-2-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="com.jcraft:jsch:0.1.27">
+ <CLASSES>
+ <root url="jar://$localRepository$/com/jcraft/jsch/0.1.27/jsch-0.1.27.jar!/" />
+ </CLASSES>
+ <JAVADOC>
+ <root url="jar://$localRepository$/com/jcraft/jsch/0.1.27/jsch-0.1.27-javadoc.jar!/" />
+ </JAVADOC>
+ <SOURCES>
+ <root url="jar://$localRepository$/com/jcraft/jsch/0.1.27/jsch-0.1.27-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module" module-name="maven-toolchain" exported="" />
+ <orderEntryProperties />
+ </component>
+</module>
+
Modified: maven/sandbox/branches/maven-2.0.9/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/pom.xml?rev=673141&r1=673140&r2=673141&view=diff
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/pom.xml (original)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/pom.xml Tue Jul 1 10:06:57 2008
@@ -69,5 +69,22 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-model</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=673141&r1=673140&r2=673141&view=diff
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Tue Jul 1 10:06:57 2008
@@ -65,6 +65,7 @@
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.project.validation.ModelValidationResult;
import org.apache.maven.project.validation.ModelValidator;
+import org.apache.maven.project.builder.ProjectBuilder;
import org.apache.maven.wagon.events.TransferListener;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
@@ -172,6 +173,8 @@
private ArtifactRepositoryFactory artifactRepositoryFactory;
+ private ProjectBuilder projectBuilder;
+
// ----------------------------------------------------------------------
// I am making this available for use with a new method that takes a
// a monitor wagon monitor as a parameter so that tools can use the
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,132 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.shared.model.*;
+
+import java.util.*;
+
+public final class ArtifactModelContainerFactory implements ModelContainerFactory {
+
+ private static final Collection<String> uris = Collections.unmodifiableList(Arrays.asList(
+ ProjectUri.DependencyManagement.Dependencies.Dependency.xUri,
+ ProjectUri.Dependencies.Dependency.xUri,
+ ProjectUri.Profiles.Profile.DependencyManagement.Dependencies.Dependency.xUri,
+ ProjectUri.Profiles.Profile.Dependencies.Dependency.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.xUri,
+ ProjectUri.Build.Plugins.Plugin.xUri,
+ ProjectUri.Build.Plugins.Plugin.Dependencies.Dependency.xUri,
+ ProjectUri.Build.Plugins.Plugin.Dependencies.Dependency.Exclusions.Exclusion.xUri
+ ));
+
+ public Collection<String> getUris() {
+ return uris;
+ }
+
+ public ModelContainer create(List<ModelProperty> modelProperties) {
+ if (modelProperties == null || modelProperties.size() == 0) {
+ throw new IllegalArgumentException("modelProperties: null or empty");
+ }
+ return new ArtifactModelContainer(modelProperties);
+ }
+
+ private static class ArtifactModelContainer implements ModelContainer {
+
+ private String groupId;
+
+ private String artifactId;
+
+ private String version;
+
+ private List<ModelProperty> properties;
+
+ private ArtifactModelContainer(List<ModelProperty> properties) {
+ this.properties = new ArrayList<ModelProperty>(properties);
+ //Collections.sort(this.properties, new ModelPropertyComparator());
+ this.properties = Collections.unmodifiableList(this.properties);
+
+ for (ModelProperty mp : properties) {
+ if (mp.getUri().endsWith("version")) {
+ this.version = mp.getValue();
+ } else if (mp.getUri().endsWith("artifactId")) {
+ this.artifactId = mp.getValue();
+ } else if (mp.getUri().endsWith("groupId")) {
+ this.groupId = mp.getValue();
+ }
+ }
+ if (groupId == null) {
+ groupId = "org.apache.maven.plugins";
+ // throw new IllegalArgumentException("properties does not contain group id. Artifact ID = "
+ // + artifactId + ", Version = " + version);
+ }
+
+ if (artifactId == null) {
+ throw new IllegalArgumentException("properties does not contain artifact id. Group ID = " + groupId +
+ ", Version = " + version);
+ }
+ }
+
+ public ModelContainerAction containerAction(ModelContainer modelContainer) {
+ if (modelContainer == null) {
+ throw new IllegalArgumentException("modelContainer: null");
+ }
+
+ if (!(modelContainer instanceof ArtifactModelContainer)) {
+ throw new IllegalArgumentException("modelContainer: wrong type");
+ }
+
+ ArtifactModelContainer c = (ArtifactModelContainer) modelContainer;
+ if (c.groupId.equals(groupId) && c.artifactId.equals(artifactId)) {
+ if (c.version == null) {
+ return ModelContainerAction.NOP;
+ }
+ return (c.version.equals(version)) ? ModelContainerAction.JOIN : ModelContainerAction.DELETE;
+ } else {
+ return ModelContainerAction.NOP;
+ }
+ }
+
+ public ModelContainer createNewInstance(List<ModelProperty> modelProperties) {
+ return new ArtifactModelContainer(modelProperties);
+ }
+
+ public List<ModelProperty> getProperties() {
+ return properties;
+ }
+
+ public void sort(List<ModelProperty> modelProperties) {
+ if (modelProperties.isEmpty()) {
+ return;
+ }
+ if (modelProperties.get(0).getUri().equals(ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri)) {
+ Collections.sort(modelProperties, new ModelComparator());
+ }
+ }
+
+ public String toString() {
+ return "Group ID = " + groupId + ", Artifact ID = " + artifactId + ", Version = " + version;
+ }
+ }
+
+ private static class ModelComparator implements Comparator {
+ public int compare(Object o1, Object o2) {
+ ModelProperty a = (ModelProperty) o1;
+ ModelProperty b = (ModelProperty) o2;
+ //System.out.println(a + " : " + b);
+ if (a.getUri().endsWith("groupId")) {
+ return -1;
+ } else if (a.getUri().endsWith("artifactId")) {
+ return -1;
+ } else if (a.getUri().endsWith("version")) {
+ return -1;
+ } else if (a.getUri().equals(ProjectUri.Build.PluginManagement.Plugins.Plugin.configuration)) {
+ if (b.getUri().startsWith(ProjectUri.Build.PluginManagement.Plugins.Plugin.configuration)) {
+ return 0;
+ }
+ return 1;
+ } else if (a.getUri().startsWith(ProjectUri.Build.PluginManagement.Plugins.Plugin.configuration)) {
+ return 1;
+ }
+ return 0;
+ }
+ }
+}
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,81 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.shared.model.*;
+import java.util.*;
+
+public class IdModelContainerFactory implements ModelContainerFactory {
+
+ private static final Collection<String> uris = Collections.unmodifiableList(Arrays.asList(
+ ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri,
+ ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.xUri,
+ ProjectUri.PluginRepositories.PluginRepository.xUri,
+ ProjectUri.Repositories.Repository.xUri,
+ ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.xUri,
+ ProjectUri.Profiles.Profile.xUri
+ ));
+
+ public Collection<String> getUris() {
+ return uris;
+ }
+
+ public ModelContainer create(List<ModelProperty> modelProperties) {
+ if (modelProperties == null || modelProperties.size() == 0) {
+ throw new IllegalArgumentException("modelProperties: null or empty");
+ }
+ return new IdModelContainer(modelProperties);
+ }
+
+ private static class IdModelContainer implements ModelContainer {
+
+ private String id;
+
+ private List<ModelProperty> properties;
+
+ private IdModelContainer(List<ModelProperty> properties) {
+ this.properties = new ArrayList<ModelProperty>(properties);
+ this.properties = Collections.unmodifiableList(this.properties);
+
+ for (ModelProperty mp : properties) {
+ if (mp.getUri().endsWith("id")) {
+ this.id = mp.getValue();
+ }
+ }
+
+ // if (id == null) {
+ // throw new IllegalArgumentException("properties does not contain id");
+ // }
+ }
+
+ public ModelContainerAction containerAction(ModelContainer modelContainer) {
+ if (modelContainer == null) {
+ throw new IllegalArgumentException("modelContainer: null");
+ }
+
+ if (!(modelContainer instanceof IdModelContainer)) {
+ throw new IllegalArgumentException("modelContainer: wrong type");
+ }
+
+ IdModelContainer c = (IdModelContainer) modelContainer;
+ if(c.id == null || id == null) {
+ return ModelContainerAction.NOP;
+ }
+ return (c.id.equals(id)) ? ModelContainerAction.JOIN : ModelContainerAction.NOP;
+ }
+
+ public ModelContainer createNewInstance(List<ModelProperty> modelProperties) {
+ return new IdModelContainer(modelProperties);
+ }
+
+ public void sort(List<ModelProperty> modelProperties) {
+
+ }
+
+ public List<ModelProperty> getProperties() {
+ return properties;
+ }
+
+ public String toString() {
+ return "ID = " + id;
+ }
+ }
+}
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,54 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.ArtifactStatus;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+
+import java.util.List;
+import java.util.Date;
+import java.io.IOException;
+import java.io.File;
+
+public class PomArtifactResolver {
+
+ private ArtifactRepository localRepository;
+
+ private List<ArtifactRepository> remoteRepositories;
+
+ private ArtifactResolver resolver;
+
+ public PomArtifactResolver(ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, ArtifactResolver resolver) {
+ this.localRepository = localRepository;
+ this.remoteRepositories = remoteRepositories;
+ this.resolver = resolver;
+ }
+
+ /**
+ * State change: sets file.
+ *
+ * @param artifact
+ */
+ public void resolve(Artifact artifact) throws IOException {
+ File artifactFile = new File(localRepository.getBasedir(), localRepository.pathOf(artifact));
+ artifact.setFile(artifactFile);
+
+ if (!artifact.isSnapshot() && (ArtifactStatus.NONE.compareTo(ArtifactStatus.DEPLOYED) < 0)) {
+ ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
+ policy.setUpdatePolicy(ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER);
+ try {
+ if (policy.checkOutOfDate(new Date(artifact.getFile().lastModified()))) {
+ artifact.setResolved(false);
+ resolver.resolveAlways(artifact, remoteRepositories, localRepository);
+ }
+ } catch (ArtifactNotFoundException e) {
+ throw new IOException("Parent pom not found: File = " + artifactFile.getAbsolutePath(), e);
+ } catch (ArtifactResolutionException e) {
+ throw new IOException("Parent pom not found: File = " + artifactFile.getAbsolutePath(), e);
+ }
+ }
+ }
+}
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,82 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.shared.model.InputStreamDomainModel;
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+
+import java.io.*;
+import java.util.Arrays;
+
+/**
+ * Provides a wrapper for the maven model.
+ */
+public final class PomClassicDomainModel implements InputStreamDomainModel {
+
+ private byte[] inputStream;
+
+ /**
+ * Constructor
+ *
+ * @param model maven model
+ */
+ public PomClassicDomainModel(Model model) throws IOException {
+ if (model == null) {
+ throw new IllegalArgumentException("model: null");
+ }
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ MavenXpp3Writer writer = new MavenXpp3Writer();
+ writer.write(new OutputStreamWriter(baos), model);
+ inputStream = removeIllegalCharacters(baos.toByteArray());
+ }
+
+ public PomClassicDomainModel(InputStream inputStream) throws IOException {
+ if (inputStream == null) {
+ throw new IllegalArgumentException("inputStream: null");
+ }
+ this.inputStream = removeIllegalCharacters(IOUtil.toByteArray(inputStream));
+ }
+
+ //TODO: Workaround
+ private byte[] removeIllegalCharacters(byte[] bytes) {
+ return new String(bytes).replaceAll("ø", "").getBytes();
+ }
+
+ public boolean matchesParent(Parent parent) {
+ Model model;
+ try {
+ model = getModel();
+ } catch (IOException e) {
+ return false;
+ }
+ return (parent.getGroupId().equals(model.getGroupId()) && parent.getArtifactId().equals(model.getArtifactId())
+ && parent.getVersion().equals(model.getVersion()));
+ }
+
+ public String asString() {
+ return new String(inputStream);
+ }
+
+ /**
+ * Returns maven model
+ *
+ * @return maven model
+ */
+ public Model getModel() throws IOException {
+ try {
+ return new MavenXpp3Reader().read(new StringReader(new String(inputStream)));
+ }
+ catch (XmlPullParserException e) {
+ throw new IOException(e);
+ }
+ }
+
+ public InputStream getInputStream() {
+ return new ByteArrayInputStream(Arrays.copyOf(inputStream, inputStream.length));
+ }
+}
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,176 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+
+import org.apache.maven.shared.model.*;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.*;
+
+/**
+ * Provides methods for transforming model properties into a domain model for the pom classic format and vice versa.
+ */
+public final class PomClassicTransformer implements ModelTransformer {
+
+ private Set<String> uris;
+
+ public PomClassicTransformer() {
+
+ }
+
+ public String getBaseUri() {
+ return ProjectUri.baseUri;
+ }
+
+ public PomClassicTransformer(Set<String> uris) {
+ this.uris = new HashSet<String>(Arrays.asList(
+ "http://apache.org/maven/project/build/resources#collection",
+ "http://apache.org/maven/project/build/plugins/plugin/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins#collection",
+ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/profiles/profile/reporting/plugins#collection",
+ "http://apache.org/maven/project/dependencyManagement/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/profiles/profile/build/testResources#collection",
+ "http://apache.org/maven/project/reporting/plugins/plugin/reportSets#collection",
+ "http://apache.org/maven/project/pluginRepositories#collection",
+ "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/dependencies#collection",
+ "http://apache.org/maven/project/profiles/profile/build/resources#collection",
+ "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/licenses#collection",
+ "http://apache.org/maven/project/build/plugins/plugin/dependencies#collection",
+ "http://apache.org/maven/project/profiles/profile/dependencyManagement/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/dependencies#collection",
+ "http://apache.org/maven/project/build/testResources#collection",
+ "http://apache.org/maven/project/profiles/profile/pluginRepositories#collection",
+ "http://apache.org/maven/project/build/pluginManagement/plugins#collection",
+ "http://apache.org/maven/project/profiles#collection",
+ "http://apache.org/maven/project/reporting/plugins#collection",
+ "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/executions#collection",
+ "http://apache.org/maven/project/profiles/profile/dependencies/dependency/exclusions#collection",
+ "http://apache.org/maven/project/dependencies#collection",
+ "http://apache.org/maven/project/contributors#collection",
+ "http://apache.org/maven/project/developers#collection",
+ "http://apache.org/maven/project/build/plugins#collection",
+ "http://apache.org/maven/project/profiles/profile/build/pluginManagement/plugins/plugin/executions#collection",
+ "http://apache.org/maven/project/profiles/profile/dependencies#collection",
+ "http://apache.org/maven/project/mailingLists#collection",
+ "http://apache.org/maven/project/profiles/profile/dependencyManagement/dependencies#collection",
+ "http://apache.org/maven/project/profiles/profile/repositories#collection",
+ "http://apache.org/maven/project/build/extensions#collection",
+ "http://apache.org/maven/project/build/plugins/plugin/executions#collection",
+ "http://apache.org/maven/project/repositories#collection",
+ "http://apache.org/maven/project/ciManagement/notifiers#collection",
+ "http://apache.org/maven/project/dependencyManagement/dependencies#collection",
+ "http://apache.org/maven/project/build/pluginManagement/plugins/plugin/dependencies#collection",
+ "http://apache.org/maven/project/profiles/profile/reporting/plugins/plugin/reportSets#collection",
+ "http://apache.org/maven/project/profiles/profile/build/plugins#collection",
+ "http://apache.org/maven/project/profiles/profile/build/plugins/plugin/executions#collection",
+ "http://apache.org/maven/project/modules#collection"
+ ));
+ }
+
+ public DomainModel transformToDomainModel(List<ModelProperty> properties) throws IOException {
+ if (properties == null) {
+ throw new IllegalArgumentException("properties: null");
+ }
+ String xml = null;
+ try {
+ xml = ModelMarshaller.unmarshalModelPropertiesToXml(properties, ProjectUri.baseUri);
+ return new PomClassicDomainModel(new MavenXpp3Reader().read(new StringReader(xml)));
+ } catch (XmlPullParserException e) {
+ StringBuffer sb = new StringBuffer("\r\n");
+ for (ModelProperty mp : properties) {
+ sb.append(mp).append("\r\n");
+ }
+ throw new IOException(e + ":\r\n" + xml + sb.toString());
+ }
+ }
+
+ public List<ModelProperty> transformToModelProperties(List<DomainModel> domainModels) throws IOException {
+ if (domainModels == null || domainModels.isEmpty()) {
+ throw new IllegalArgumentException("domainModels: null or empty");
+ }
+
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ List<String> projectNames = new ArrayList<String>();
+ StringBuffer scmUrl = new StringBuffer();
+
+ for (DomainModel domainModel : domainModels) {
+ if (!(domainModel instanceof PomClassicDomainModel)) {
+ throw new IllegalArgumentException("domainModels: Invalid domain model");
+ }
+
+ List<ModelProperty> tmp = ModelMarshaller.marshallXmlToModelProperties(
+ ((PomClassicDomainModel) domainModel).getInputStream(), ProjectUri.baseUri, uris);
+
+ //Missing Version Rule
+ if (getPropertyFor(ProjectUri.version, tmp) == null) {
+ ModelProperty parentVersion = getPropertyFor(ProjectUri.Parent.version, tmp);
+ tmp.add(new ModelProperty(ProjectUri.version, parentVersion.getValue()));
+ }
+
+ //Modules Not Inherited Rule
+ if (domainModels.indexOf(domainModel) != 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
+ if (getPropertyFor(ProjectUri.groupId, tmp) == null) {
+ ModelProperty parentGroupId = getPropertyFor(ProjectUri.Parent.groupId, tmp);
+ tmp.add(new ModelProperty(ProjectUri.groupId, parentGroupId.getValue()));
+ }
+
+
+ //SCM Rule
+ ModelProperty scmUrlProperty = getPropertyFor(ProjectUri.Scm.url, tmp);
+ if (scmUrl.length() == 0 && scmUrlProperty != null) {
+ scmUrl.append(scmUrlProperty.getValue());
+ for (String projectName : projectNames) {
+ scmUrl.append("/").append(projectName);
+ }
+ int index = tmp.indexOf(scmUrlProperty);
+ tmp.remove(index);
+ tmp.add(index, new ModelProperty(ProjectUri.Scm.url, scmUrl.toString()));
+ }
+ projectNames.add(0, getPropertyFor(ProjectUri.artifactId, tmp).getValue());
+
+ modelProperties.addAll(tmp);
+
+ //Remove Parent Info
+ for(ModelProperty mp : tmp) {
+ if(mp.getUri().startsWith(ProjectUri.Parent.xUri)) {
+ modelProperties.remove(mp);
+ }
+ }
+ }
+ return modelProperties;
+ }
+
+ private static List<ModelProperty> getPropertiesFor(String uri, List<ModelProperty> properties) {
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ for (ModelProperty mp : properties) {
+ if (uri.equals(mp.getUri())) {
+ modelProperties.add(mp);
+ }
+ }
+ return modelProperties;
+ }
+
+ private static ModelProperty getPropertyFor(String uri, List<ModelProperty> properties) {
+ for (ModelProperty mp : properties) {
+ if (uri.equals(mp.getUri())) {
+ return mp;
+ }
+ }
+ return null;
+ }
+}
+
Added: maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java?rev=673141&view=auto
==============================================================================
--- maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java (added)
+++ maven/sandbox/branches/maven-2.0.9/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java Tue Jul 1 10:06:57 2008
@@ -0,0 +1,24 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.shared.model.InterpolatorProperty;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.Artifact;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.File;
+import java.util.Collection;
+
+public interface ProjectBuilder {
+
+ String ROLE = ProjectBuilder.class.getName();
+
+ MavenProject buildFromArtifact(Artifact artifact, Collection<InterpolatorProperty> interpolatorProperties,
+ PomArtifactResolver resolver)
+ throws IOException;
+
+ MavenProject buildFromStream(InputStream pom, Collection<InterpolatorProperty> interpolatorProperties,
+ PomArtifactResolver resolver)
+ throws IOException;
+}