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


Reply via email to