Author: brett Date: Wed Nov 23 20:37:41 2005 New Revision: 348649 URL: http://svn.apache.org/viewcvs?rev=348649&view=rev Log: convert m1 expression PR: MRM-26
Added: maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/ maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java (with props) Modified: maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriter.java Modified: maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriter.java URL: http://svn.apache.org/viewcvs/maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriter.java?rev=348649&r1=348648&r2=348649&view=diff ============================================================================== --- maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriter.java (original) +++ maven/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriter.java Wed Nov 23 20:37:41 2005 @@ -22,9 +22,12 @@ import org.apache.maven.model.v3_0_0.io.xpp3.MavenXpp3Reader; import org.apache.maven.tools.repoclean.report.Reporter; import org.apache.maven.tools.repoclean.translate.PomV3ToV4Translator; +import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; import java.io.Reader; +import java.io.StringReader; +import java.io.StringWriter; import java.io.Writer; /** @@ -44,7 +47,11 @@ { MavenXpp3Reader v3Reader = new MavenXpp3Reader(); - org.apache.maven.model.v3_0_0.Model v3Model = v3Reader.read( from ); + StringWriter w = new StringWriter(); + IOUtil.copy( from, w ); + String content = StringUtils.replace( w.toString(), "${pom.currentVersion}", "${project.version}" ); + + org.apache.maven.model.v3_0_0.Model v3Model = v3Reader.read( new StringReader( content ) ); v4Model = translator.translate( v3Model, reporter ); } else Added: maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java URL: http://svn.apache.org/viewcvs/maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java?rev=348649&view=auto ============================================================================== --- maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java (added) +++ maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java Wed Nov 23 20:37:41 2005 @@ -0,0 +1,72 @@ +package org.apache.maven.tools.repoclean.rewrite; + +/* + * Copyright 2005-2005 The Apache Software Foundation. + * + * Licensed 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.artifact.Artifact; +import org.apache.maven.artifact.DefaultArtifact; +import org.apache.maven.artifact.handler.ArtifactHandler; +import org.apache.maven.artifact.handler.DefaultArtifactHandler; +import org.apache.maven.artifact.versioning.VersionRange; +import org.apache.maven.tools.repoclean.report.DummyReporter; +import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.util.xml.Xpp3Dom; +import org.codehaus.plexus.util.xml.Xpp3DomBuilder; + +import java.io.StringReader; +import java.io.StringWriter; +import java.io.Writer; + +/** + * Test rewriter. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a> + * @version $Id$ + */ +public class V3PomRewriterTest + extends PlexusTestCase +{ + private V3PomRewriter rewriter; + + private ArtifactHandler handler = new DefaultArtifactHandler( "jar" ); + + private Artifact artifact = new DefaultArtifact( "testGroupId", "testArtifactId", + VersionRange.createFromVersion( "1.0-SNAPSHOT" ), null, "jar", + null, handler ); + + protected void setUp() + throws Exception + { + super.setUp(); + + rewriter = (V3PomRewriter) lookup( V3PomRewriter.ROLE ); + } + + public void testCurrentVersionExpressionConversion() + throws Exception + { + String pom = + "<project><dependencies><dependency><groupId>g</groupId><artifactId>a</artifactId><version>${pom.currentVersion}</version></dependency></dependencies></project>"; + + Writer to = new StringWriter(); + rewriter.rewrite( artifact, new StringReader( pom ), to, new DummyReporter(), false ); + + Xpp3Dom dom = Xpp3DomBuilder.build( new StringReader( to.toString() ) ); + String version = dom.getChild( "dependencies" ).getChild( "dependency" ).getChild( "version" ).getValue(); + assertEquals( "check new version expression", "${project.version}", version ); + } + +} Propchange: maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/sandbox/repoclean/src/test/java/org/apache/maven/tools/repoclean/rewrite/V3PomRewriterTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision