You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/02/11 07:01:39 UTC
svn commit: r620422 [3/3] - in /maven/components/branches/maven-2.0.x-terse:
./ maven-core/src/main/java/org/apache/maven/lifecycle/ maven-model/
maven-model/src/main/mdo/ maven-plugin-descriptor/
maven-plugin-parameter-documenter/ maven-plugin-registr...
Modified: maven/components/branches/maven-2.0.x-terse/maven-profile/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-profile/pom.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-profile/pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-profile/pom.xml Sun Feb 10 22:01:36 2008
@@ -37,6 +37,16 @@
<version>1.0.0</version>
<model>src/main/mdo/profiles.mdo</model>
</configuration>
+ <executions>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/pom.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/pom.xml Sun Feb 10 22:01:36 2008
@@ -69,5 +69,18 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</dependency>
+ <!-- chosen StAX implementation -->
+ <dependency>
+ <groupId>stax</groupId>
+ <artifactId>stax</artifactId>
+ <version>1.1.1-dev</version>
+ <scope>runtime</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>xmlbeans</groupId>
+ <artifactId>xmlbeans-jsr173-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
</project>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Sun Feb 10 22:01:36 2008
@@ -49,7 +49,8 @@
import org.apache.maven.model.Profile;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.Repository;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.model.io.stax.MavenStaxReaderDelegate;
+import org.apache.maven.model.io.stax.MavenStaxReader;
import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.MavenProfilesBuilder;
import org.apache.maven.profiles.ProfileManager;
@@ -79,6 +80,7 @@
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import javax.xml.stream.XMLStreamException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -137,7 +139,7 @@
*/
public class DefaultMavenProjectBuilder
extends AbstractLogEnabled
- implements MavenProjectBuilder, Initializable, Contextualizable
+ implements MavenProjectBuilder, Contextualizable
{
// TODO: remove
private PlexusContainer container;
@@ -160,8 +162,7 @@
private Map processedProjectCache = new HashMap();
- // TODO: make it a component
- private MavenXpp3Reader modelReader;
+ private ModelReader modelReader = new ModelReader();
private PathTranslator pathTranslator;
@@ -179,12 +180,7 @@
private WagonManager wagonManager;
- public static final String MAVEN_MODEL_VERSION = "4.0.0";
-
- public void initialize()
- {
- modelReader = new MavenXpp3Reader();
- }
+ public static final String DEFAULT_SUPER_MODEL_VERSION = "4.1.0";
// ----------------------------------------------------------------------
// MavenProjectBuilder Implementation
@@ -256,7 +252,7 @@
ProfileManager profileManager )
throws ProjectBuildingException
{
- Model superModel = getSuperModel();
+ Model superModel = getSuperModel( DEFAULT_SUPER_MODEL_VERSION );
superModel.setGroupId( STANDALONE_SUPERPOM_GROUPID );
@@ -475,7 +471,7 @@
Model model = readModel( "unknown", projectDescriptor, true );
MavenProject project = buildInternal( projectDescriptor.getAbsolutePath(), model, localRepository,
- buildArtifactRepositories( getSuperModel() ), projectDescriptor,
+ buildArtifactRepositories( getSuperModel( model.getModelVersion() ) ), projectDescriptor,
profileManager, true );
if ( checkDistributionManagementStatus )
@@ -711,7 +707,7 @@
projectDir = projectDescriptor.getAbsoluteFile().getParentFile();
}
- Model superModel = getSuperModel();
+ Model superModel = getSuperModel( model.getModelVersion() );
//TODO mkleint - use the (Container, Properties) constructor to make system properties embeddable
// shall the ProfileManager intefrace expose the properties?
@@ -1514,18 +1510,11 @@
{
String modelSource = IOUtil.toString( reader );
- if ( modelSource.indexOf( "<modelVersion>" + MAVEN_MODEL_VERSION ) < 0 )
- {
- throw new InvalidProjectModelException( projectId, pomLocation, "Not a v" + MAVEN_MODEL_VERSION + " POM." );
- }
-
- StringReader sReader = new StringReader( modelSource );
-
try
{
- return modelReader.read( sReader, strict );
+ return modelReader.readModel( modelSource, strict );
}
- catch ( XmlPullParserException e )
+ catch ( XMLStreamException e )
{
throw new InvalidProjectModelException( projectId, pomLocation,
"Parse error reading POM. Reason: " + e.getMessage(), e );
@@ -1700,10 +1689,10 @@
//
// ----------------------------------------------------------------------
- private Model getSuperModel()
+ private Model getSuperModel( String mavenModelVersion )
throws ProjectBuildingException
{
- URL url = DefaultMavenProjectBuilder.class.getResource( "pom-" + MAVEN_MODEL_VERSION + ".xml" );
+ URL url = DefaultMavenProjectBuilder.class.getResource( "pom-" + mavenModelVersion + ".xml" );
String projectId = safeVersionlessKey( STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_ARTIFACTID );
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Sun Feb 10 22:01:36 2008
@@ -82,11 +82,11 @@
public class MavenProject
{
public static final String EMPTY_PROJECT_GROUP_ID = "unknown";
-
+
public static final String EMPTY_PROJECT_ARTIFACT_ID = "empty-project";
-
+
public static final String EMPTY_PROJECT_VERSION = "0";
-
+
private Model model;
private MavenProject parent;
@@ -147,17 +147,17 @@
private Build buildOverlay;
private boolean executionRoot;
-
+
private Map moduleAdjustments;
public MavenProject()
{
Model model = new Model();
-
+
model.setGroupId( EMPTY_PROJECT_GROUP_ID );
model.setArtifactId( EMPTY_PROJECT_ARTIFACT_ID );
model.setVersion( EMPTY_PROJECT_VERSION );
-
+
this.model = model;
}
@@ -178,71 +178,71 @@
{
this.dependencyArtifacts = Collections.unmodifiableSet( project.dependencyArtifacts );
}
-
+
if ( project.artifacts != null )
{
this.artifacts = Collections.unmodifiableSet( project.artifacts );
}
-
+
if ( project.pluginArtifacts != null )
{
this.pluginArtifacts = Collections.unmodifiableSet( project.pluginArtifacts );
}
-
+
if ( project.reportArtifacts != null )
{
this.reportArtifacts = Collections.unmodifiableSet( project.reportArtifacts );
- }
-
+ }
+
if ( project.extensionArtifacts != null )
{
this.extensionArtifacts = Collections.unmodifiableSet( project.extensionArtifacts );
- }
-
+ }
+
this.parentArtifact = project.parentArtifact;
if ( project.remoteArtifactRepositories != null )
{
this.remoteArtifactRepositories = Collections.unmodifiableList( project.remoteArtifactRepositories );
- }
-
+ }
+
if ( project.pluginArtifactRepositories != null )
{
this.pluginArtifactRepositories = Collections.unmodifiableList( project.pluginArtifactRepositories );
- }
-
+ }
+
if ( project.collectedProjects != null )
{
this.collectedProjects = Collections.unmodifiableList( project.collectedProjects );
- }
-
+ }
+
if ( project.activeProfiles != null )
{
this.activeProfiles = Collections.unmodifiableList( project.activeProfiles );
- }
-
+ }
+
if ( project.getAttachedArtifacts() != null )
{
// clone properties modifyable by plugins in a forked lifecycle
this.attachedArtifacts = new ArrayList( project.getAttachedArtifacts() );
- }
-
+ }
+
if ( project.compileSourceRoots != null )
{
// clone source roots
this.compileSourceRoots = new ArrayList( project.compileSourceRoots );
- }
-
+ }
+
if ( project.testCompileSourceRoots != null )
{
this.testCompileSourceRoots = new ArrayList( project.testCompileSourceRoots );
- }
-
+ }
+
if ( project.scriptSourceRoots != null )
{
this.scriptSourceRoots = new ArrayList( project.scriptSourceRoots );
- }
-
+ }
+
this.model = ModelUtils.cloneModel( project.model );
if ( project.originalModel != null )
@@ -261,42 +261,42 @@
{
setManagedVersionMap( new ManagedVersionMap( project.getManagedVersionMap() ) );
}
-
+
if ( project.releaseArtifactRepository != null )
{
releaseArtifactRepository = project.releaseArtifactRepository;
}
-
+
if ( project.snapshotArtifactRepository != null )
{
snapshotArtifactRepository = project.snapshotArtifactRepository;
}
}
-
+
public String getModulePathAdjustment( MavenProject moduleProject ) throws IOException
{
// FIXME: This is hacky. What if module directory doesn't match artifactid, and parent
// is coming from the repository??
-
+
// FIXME: If there is a hierarchy of three projects, with the url specified at the top,
// and the top two projects are referenced from copies that are in the repository, the
// middle-level POM doesn't have a File associated with it (or the file's directory is
// of an unexpected name), and module path adjustments fail.
String module = moduleProject.getArtifactId();
-
+
File moduleFile = moduleProject.getFile();
-
+
if ( moduleFile != null )
{
File moduleDir = moduleFile.getCanonicalFile().getParentFile();
-
+
module = moduleDir.getName();
}
-
+
if ( moduleAdjustments == null )
{
moduleAdjustments = new HashMap();
-
+
List modules = getModules();
if ( modules != null )
{
@@ -304,21 +304,21 @@
{
String modulePath = (String) it.next();
String moduleName = modulePath;
-
+
if ( moduleName.endsWith( "/" ) || moduleName.endsWith( "\\" ) )
{
moduleName = moduleName.substring( 0, moduleName.length() - 1 );
}
-
+
int lastSlash = moduleName.lastIndexOf( '/' );
-
+
if ( lastSlash < 0 )
{
lastSlash = moduleName.lastIndexOf( '\\' );
}
-
+
String adjustment = null;
-
+
if ( lastSlash > -1 )
{
moduleName = moduleName.substring( lastSlash + 1 );
@@ -329,7 +329,7 @@
}
}
}
-
+
return (String) moduleAdjustments.get( module );
}
@@ -568,7 +568,7 @@
list.add( getBuild().getTestOutputDirectory() );
list.add( getBuild().getOutputDirectory() );
-
+
for ( Iterator i = getArtifacts().iterator(); i.hasNext(); )
{
Artifact a = (Artifact) i.next();
@@ -842,12 +842,12 @@
public String getGroupId()
{
String groupId = model.getGroupId();
-
+
if ( groupId == null && model.getParent() != null )
{
groupId = model.getParent().getGroupId();
}
-
+
return groupId;
}
@@ -887,12 +887,12 @@
public String getVersion()
{
String version = model.getVersion();
-
+
if ( version == null && model.getParent() != null )
{
version = model.getParent().getVersion();
}
-
+
return version;
}
@@ -1109,7 +1109,7 @@
/**
* All dependencies that this project has, including transitive ones.
* Contents are lazily populated, so depending on what phases have run dependencies in some scopes won't be included.
- * eg. if only compile phase has run, dependencies with scope test won't be included.
+ * eg. if only compile phase has run, dependencies with scope test won't be included.
* @return {@link Set} < {@link Artifact} >
* @see #getDependencyArtifacts() to get only direct dependencies
*/
@@ -1249,7 +1249,7 @@
return pluginMgmt;
}
-
+
private Build getModelBuild()
{
Build build = model.getBuild();
@@ -1260,7 +1260,7 @@
model.setBuild( build );
}
-
+
return build;
}
@@ -1276,7 +1276,7 @@
build.flushPluginMap();
}
}
-
+
public void injectPluginManagementInfo( Plugin plugin )
{
PluginManagement pm = getModelBuild().getPluginManagement();
@@ -1684,12 +1684,12 @@
}
return pluginArtifact;
}
-
+
private void addArtifactPath(Artifact a, List list) throws DependencyResolutionRequiredException
{
String refId = getProjectReferenceId( a.getGroupId(), a.getArtifactId(), a.getVersion() );
MavenProject project = (MavenProject) projectReferences.get( refId );
-
+
boolean projectDirFound = false;
if ( project != null )
{
@@ -1718,7 +1718,7 @@
list.add( file.getPath() );
}
}
-
+
/**
* Default toString
*/
@@ -1745,4 +1745,12 @@
return sb.toString();
}
+ public String getOriginalModelVersion()
+ {
+ if ( model.getOriginalModelVersion() == null )
+ {
+ return model.getModelVersion();
+ }
+ return model.getOriginalModelVersion();
+ }
}
Added: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelReader.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelReader.java?rev=620422&view=auto
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelReader.java (added)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelReader.java Sun Feb 10 22:01:36 2008
@@ -0,0 +1,106 @@
+package org.apache.maven.project;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.stax.MavenStaxReader;
+import org.apache.maven.model.io.stax.MavenStaxReaderDelegate;
+import org.codehaus.plexus.util.IOUtil;
+
+import javax.xml.stream.XMLStreamException;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.FilterReader;
+
+/**
+ * Read a model, selecting the correct version based on the input.
+ *
+ * @todo make it a component
+ */
+public class ModelReader
+{
+ /**
+ * The StAX reader delegate to use to read it.
+ */
+ private MavenStaxReaderDelegate modelReader;
+
+ public ModelReader()
+ {
+ modelReader = new MavenStaxReaderDelegate();
+ }
+
+ public Model readModel( String modelSource, boolean strict )
+ throws IOException, XMLStreamException
+ {
+ // TODO: should be able to use the delegate's reader but it has two limitations:
+ // 1) it only takes files, not readers, for input
+ // 2) it will return v4_1_0 for v4.1.0 which will require an arbitrary conversion instead of the short cut
+ // reading straight into the right model
+
+// return modelReader.read( reader, strict );
+
+ StringReader sReader = new StringReader( modelSource );
+
+ String modelVersion;
+ try
+ {
+ modelVersion = modelReader.determineVersion( sReader );
+ }
+ finally
+ {
+ IOUtil.close( sReader );
+ }
+
+ sReader = new StringReader( modelSource );
+
+ Model result;
+ try
+ {
+ if ( "4.0.0".equals( modelVersion ) )
+ {
+ // TODO: hack - handle common entity we shouldn't really be using
+ modelSource = modelSource.replaceAll( "ø", "\u00f8" );
+ sReader = new StringReader( modelSource );
+
+ org.apache.maven.model.v4_0_0.Model model40 =
+ new org.apache.maven.model.v4_0_0.io.stax.MavenStaxReader().read( sReader, strict );
+
+ org.apache.maven.model.v4_1_0.Model model41 =
+ new org.apache.maven.model.v4_0_0.convert.BasicVersionConverter().convertModel( model40 );
+
+ result = new org.apache.maven.model.v4_1_0.convert.BasicVersionConverter().convertModel( model41 );
+ result.setOriginalModelVersion( "4.0.0" );
+ }
+ else if ( "4.1.0".equals( modelVersion ) )
+ {
+ result = new MavenStaxReader().read( sReader, strict );
+ }
+ else
+ {
+ throw new XMLStreamException( "Document version '" + modelVersion + "' has no corresponding reader." );
+ }
+ }
+ finally
+ {
+ IOUtil.close( sReader );
+ }
+ return result;
+ }
+}
Propchange: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java Sun Feb 10 22:01:36 2008
@@ -635,7 +635,7 @@
newProfile.setReporting( cloneProfileReporting( profile.getReporting() ) );
- newProfile.setReports( profile.getReports() );
+ // no need to convert reports, it's deprecated
newProfile.setRepositories( cloneProfileRepositories( profile.getRepositories() ) );
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/java/org/apache/maven/project/interpolation/RegexBasedModelInterpolator.java Sun Feb 10 22:01:36 2008
@@ -20,8 +20,8 @@
*/
import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.model.io.stax.MavenStaxReader;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.StringUtils;
@@ -29,6 +29,7 @@
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import javax.xml.stream.XMLStreamException;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
@@ -99,7 +100,8 @@
StringReader sReader = new StringReader( serializedModel );
- MavenXpp3Reader modelReader = new MavenXpp3Reader();
+ // no need for conversion tools, we are always reading the latest version
+ MavenStaxReader modelReader = new MavenStaxReader();
try
{
model = modelReader.read( sReader );
@@ -109,7 +111,7 @@
throw new ModelInterpolationException(
"Cannot read project model from interpolating filter of serialized version.", e );
}
- catch ( XmlPullParserException e )
+ catch ( XMLStreamException e )
{
throw new ModelInterpolationException(
"Cannot read project model from interpolating filter of serialized version.", e );
Copied: maven/components/branches/maven-2.0.x-terse/maven-project/src/main/resources/org/apache/maven/project/pom-4.1.0.xml (from r620315, maven/components/branches/maven-2.0.x/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/main/resources/org/apache/maven/project/pom-4.1.0.xml?p2=maven/components/branches/maven-2.0.x-terse/maven-project/src/main/resources/org/apache/maven/project/pom-4.1.0.xml&p1=maven/components/branches/maven-2.0.x/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml&r1=620315&r2=620422&rev=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/main/resources/org/apache/maven/project/pom-4.1.0.xml Sun Feb 10 22:01:36 2008
@@ -18,113 +18,69 @@
-->
<!-- START SNIPPET: superpom -->
-<project>
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.1.0 http://maven.apache.org/maven-4.1.0.xsd">
+ <!-- TODO: shouldn't be needed if Modello used the namespace -->
+ <modelVersion>4.1.0</modelVersion>
<name>Maven Default Project</name>
<repositories>
- <repository>
- <id>central</id>
- <name>Maven Repository Switchboard</name>
- <layout>default</layout>
- <!--
- <url>http://www.ibiblio.org/maven2</url>
- -->
- <url>http://repo1.maven.org/maven2</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
+ <repository id="central" name="Maven Central Repository" layout="default" url="http://repo1.maven.org/maven2">
+ <snapshots enabled="false"/>
</repository>
</repositories>
<pluginRepositories>
- <pluginRepository>
- <id>central</id>
- <name>Maven Plugin Repository</name>
- <!--
- <url>http://www.ibiblio.org/maven2</url>
- -->
- <url>http://repo1.maven.org/maven2</url>
- <layout>default</layout>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- <releases>
- <updatePolicy>never</updatePolicy>
- </releases>
+ <pluginRepository id="central" name="Maven Plugin Repository" layout="default" url="http://repo1.maven.org/maven2">
+ <snapshots enabled="false"/>
+ <releases updatePolicy="never"/>
</pluginRepository>
</pluginRepositories>
- <build>
- <directory>target</directory>
- <outputDirectory>target/classes</outputDirectory>
- <finalName>${artifactId}-${version}</finalName>
- <testOutputDirectory>target/test-classes</testOutputDirectory>
- <sourceDirectory>src/main/java</sourceDirectory>
- <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
- <testSourceDirectory>src/test/java</testSourceDirectory>
+ <build directory="target"
+ outputDirectory="target/classes"
+ finalName="${artifactId}-${version}"
+ testOutputDirectory="target/test-classes"
+ sourceDirectory="src/main/java"
+ scriptSourceDirectory="src/main/scripts"
+ testSourceDirectory="src/test/java">
<resources>
- <resource>
- <directory>src/main/resources</directory>
- </resource>
+ <resource directory="src/main/resources"/>
</resources>
<testResources>
- <testResource>
- <directory>src/test/resources</directory>
- </testResource>
+ <testResource directory="src/test/resources" />
</testResources>
</build>
- <reporting>
- <outputDirectory>target/site</outputDirectory>
- </reporting>
+ <reporting outputDirectory="target/site" />
<profiles>
- <profile>
- <id>release-profile</id>
-
+ <profile id="release-profile">
<activation>
- <property>
- <name>performRelease</name>
- <value>true</value>
- </property>
+ <property name="performRelease" value="true" />
</activation>
<build>
<plugins>
- <plugin>
- <inherited>true</inherited>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
-
+ <plugin inherited="true" groupId="org.apache.maven.plugins" artifactId="maven-source-plugin">
<executions>
- <execution>
- <id>attach-sources</id>
+ <execution id="attach-sources">
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
- <plugin>
- <inherited>true</inherited>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
-
+ <plugin inherited="true" groupId="org.apache.maven.plugins" artifactId="maven-javadoc-plugin">
<executions>
- <execution>
- <id>attach-javadocs</id>
+ <execution id="attach-javadocs">
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
- <plugin>
- <inherited>true</inherited>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
-
+ <plugin inherited="true" groupId="org.apache.maven.plugins" artifactId="maven-deploy-plugin">
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
@@ -133,6 +89,5 @@
</build>
</profile>
</profiles>
-
</project>
<!-- END SNIPPET: superpom -->
Added: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/ModelReaderTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/ModelReaderTest.java?rev=620422&view=auto
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/ModelReaderTest.java (added)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/ModelReaderTest.java Sun Feb 10 22:01:36 2008
@@ -0,0 +1,43 @@
+package org.apache.maven.project;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.TestCase;
+import org.apache.maven.model.Developer;
+import org.apache.maven.model.Model;
+import org.codehaus.plexus.util.IOUtil;
+
+import javax.xml.stream.XMLStreamException;
+import java.io.IOException;
+
+public class ModelReaderTest
+ extends TestCase
+{
+ public void testOldEntity()
+ throws IOException, XMLStreamException
+ {
+ String content = IOUtil.toString( getClass().getResourceAsStream( "/old-entity.xml" ));
+
+ ModelReader reader = new ModelReader();
+ Model model = reader.readModel( content, true );
+ Developer dev = (Developer) model.getDevelopers().get( 0 );
+ assertEquals( "Trygve Laugst\u00f8l", dev.getName() );
+ }
+}
Propchange: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/ModelReaderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java Sun Feb 10 22:01:36 2008
@@ -36,7 +36,7 @@
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.model.io.stax.MavenStaxReader;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.context.Context;
@@ -46,6 +46,7 @@
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import javax.xml.stream.XMLStreamException;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -94,8 +95,8 @@
{
String name = "/projects/scope/transitive-" + scope + "-dep.xml";
r = new InputStreamReader( getClass().getResourceAsStream( name ) );
- MavenXpp3Reader reader = new MavenXpp3Reader();
- model = reader.read( r );
+ ModelReader reader = new ModelReader();
+ model = reader.readModel( IOUtil.toString( r ), true );
}
else
{
@@ -108,7 +109,7 @@
{
throw new ArtifactMetadataRetrievalException( e );
}
- catch ( XmlPullParserException e )
+ catch ( XMLStreamException e )
{
throw new ArtifactMetadataRetrievalException( e );
}
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java Sun Feb 10 22:01:36 2008
@@ -39,6 +39,7 @@
public void testProjectBuilder()
throws Exception
{
+ // TODO: test for 4.1.0
File f = getFileForClasspathResource( "canonical-pom.xml" );
MavenProject project = getProject( f );
@@ -47,7 +48,8 @@
// Top-level elements
// ----------------------------------------------------------------------
- assertEquals( "4.0.0", project.getModelVersion() );
+ assertEquals( "4.0.0", project.getOriginalModelVersion() );
+ assertEquals( "4.1.0", project.getModelVersion() );
// ----------------------------------------------------------------------
// Plugins
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java Sun Feb 10 22:01:36 2008
@@ -87,8 +87,7 @@
// Value taken from super model
// ----------------------------------------------------------------------
- assertEquals( "4.0.0", p4.getModelVersion() );
-
- assertEquals( "4.0.0", p4.getModelVersion() );
+ assertEquals( "4.0.0", p4.getOriginalModelVersion() );
+ assertEquals( "4.1.0", p4.getModelVersion() );
}
}
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java Sun Feb 10 22:01:36 2008
@@ -115,8 +115,9 @@
// Value taken from super model
// ----------------------------------------------------------------------
- assertEquals( "4.0.0", project4.getModelVersion() );
-
+ assertEquals( "4.1.0", project4.getModelVersion() );
+ assertEquals( "4.0.0", project4.getOriginalModelVersion() );
+
Build build = project4.getBuild();
List plugins = build.getPlugins();
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java Sun Feb 10 22:01:36 2008
@@ -20,10 +20,13 @@
*/
import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.model.io.stax.MavenStaxReader;
import org.apache.maven.project.AbstractMavenProjectTestCase;
+import org.apache.maven.project.ModelReader;
import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.IOUtil;
+import javax.xml.stream.XMLStreamException;
import java.io.Reader;
import java.util.List;
@@ -41,11 +44,16 @@
public void testMissingModelVersion()
throws Exception
{
- ModelValidationResult result = validate( "missing-modelVersion-pom.xml" );
-
- assertEquals( 1, result.getMessageCount() );
-
- assertEquals( "'modelVersion' is missing.", result.getMessage( 0 ) );
+ try
+ {
+ validate( "missing-modelVersion-pom.xml" );
+
+ fail( "Should have failed to parse missing model version" );
+ }
+ catch ( XMLStreamException e )
+ {
+ assertTrue( true );
+ }
}
public void testMissingArtifactId()
@@ -165,17 +173,16 @@
public void testMissingAll()
throws Exception
{
- ModelValidationResult result = validate( "missing-1-pom.xml" );
-
- assertEquals( 4, result.getMessageCount() );
-
- List messages = result.getMessages();
-
- assertTrue( messages.contains( "\'modelVersion\' is missing." ) );
- assertTrue( messages.contains( "\'groupId\' is missing." ) );
- assertTrue( messages.contains( "\'artifactId\' is missing." ) );
- assertTrue( messages.contains( "\'version\' is missing." ) );
- // type is inherited from the super pom
+ try
+ {
+ validate( "missing-1-pom.xml" );
+
+ fail( "Should have failed to parse missing model version" );
+ }
+ catch ( XMLStreamException e )
+ {
+ assertTrue( true );
+ }
}
public void testMissingPluginArtifactId()
@@ -221,11 +228,13 @@
{
Reader input = ReaderFactory.newXmlReader( getFileForClasspathResource( "validation/" + testName ) );
- MavenXpp3Reader reader = new MavenXpp3Reader();
+ ModelReader reader = new ModelReader();
validator = (ModelValidator) lookup( ModelValidator.ROLE );
- model = reader.read( input );
+ String modelSource = IOUtil.toString( input );
+
+ model = reader.readModel( modelSource, true );
ModelValidationResult result = validator.validate( model );
Copied: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/old-entity.xml (from r620315, maven/components/branches/maven-2.0.x/maven-project/src/test/resources/canonical-pom.xml)
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/old-entity.xml?p2=maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/old-entity.xml&p1=maven/components/branches/maven-2.0.x/maven-project/src/test/resources/canonical-pom.xml&r1=620315&r2=620422&rev=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/test/resources/canonical-pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/old-entity.xml Sun Feb 10 22:01:36 2008
@@ -25,27 +25,10 @@
<artifactId>maven-core</artifactId>
<name>Maven</name>
<version>2.0-SNAPSHOT</version>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-plexus-plugin</artifactId>
- <version>1.0</version>
- <configuration>
- <plexusConfiguration>src/conf/plexus.conf</plexusConfiguration>
- <plexusConfigurationPropertiesFile>src/conf/plexus.properties</plexusConfigurationPropertiesFile>
- <plexusApplicationName>Continuum</plexusApplicationName>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>plexus:runtime</goal>
- </goals>
- <configuration>
- <plexusApplicationName>ContinuumPro</plexusApplicationName>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+ <developers>
+ <developer>
+ <id>trygvis</id>
+ <name>Trygve Laugstøl</name>
+ </developer>
+ </developers>
</project>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-compile-dep.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-compile-dep.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-compile-dep.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-compile-dep.xml Sun Feb 10 22:01:36 2008
@@ -20,6 +20,7 @@
-->
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>scope-compile</artifactId>
<version>1.0</version>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-default-dep.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-default-dep.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-default-dep.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-default-dep.xml Sun Feb 10 22:01:36 2008
@@ -20,6 +20,7 @@
-->
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>scope-default</artifactId>
<version>1.0</version>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-provided-dep.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-provided-dep.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-provided-dep.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-provided-dep.xml Sun Feb 10 22:01:36 2008
@@ -20,6 +20,7 @@
-->
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>scope-provided</artifactId>
<version>1.0</version>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-runtime-dep.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-runtime-dep.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-runtime-dep.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-runtime-dep.xml Sun Feb 10 22:01:36 2008
@@ -20,6 +20,7 @@
-->
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>scope-runtime</artifactId>
<version>1.0</version>
Modified: maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-test-dep.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-test-dep.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-test-dep.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-project/src/test/resources/projects/scope/transitive-test-dep.xml Sun Feb 10 22:01:36 2008
@@ -20,6 +20,7 @@
-->
<project>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>scope-test</artifactId>
<version>1.0</version>
Modified: maven/components/branches/maven-2.0.x-terse/maven-repository-metadata/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-repository-metadata/pom.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-repository-metadata/pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-repository-metadata/pom.xml Sun Feb 10 22:01:36 2008
@@ -34,11 +34,20 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-8</version>
<configuration>
<version>1.0.0</version>
<model>src/main/mdo/metadata.mdo</model>
</configuration>
+ <executions>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
Modified: maven/components/branches/maven-2.0.x-terse/maven-settings/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/maven-settings/pom.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/maven-settings/pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/maven-settings/pom.xml Sun Feb 10 22:01:36 2008
@@ -37,6 +37,16 @@
<version>1.0.0</version>
<model>src/main/mdo/settings.mdo</model>
</configuration>
+ <executions>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
</plugins>
</build>
Modified: maven/components/branches/maven-2.0.x-terse/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x-terse/pom.xml?rev=620422&r1=620421&r2=620422&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x-terse/pom.xml (original)
+++ maven/components/branches/maven-2.0.x-terse/pom.xml Sun Feb 10 22:01:36 2008
@@ -117,7 +117,7 @@
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
- <version>1.0-alpha-13</version>
+ <version>1.0-alpha-19-SNAPSHOT</version>
<executions>
<execution>
<id>site-docs</id>
@@ -125,14 +125,6 @@
<goals>
<goal>xdoc</goal>
<goal>xsd</goal>
- </goals>
- </execution>
- <execution>
- <id>standard</id>
- <goals>
- <goal>java</goal>
- <goal>xpp3-reader</goal>
- <goal>xpp3-writer</goal>
</goals>
</execution>
</executions>