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 [EMAIL PROTECTED] Set} < [EMAIL PROTECTED] 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>