Author: bentmann Date: Thu Jul 30 10:17:29 2009 New Revision: 799225 URL: http://svn.apache.org/viewvc?rev=799225&view=rev Log: [MNG-4266] Missing method ArtifactUtils.isSnapshot used in the release plugin
Added: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java (with props) Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactUtils.java Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactUtils.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactUtils.java?rev=799225&r1=799224&r2=799225&view=diff ============================================================================== --- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactUtils.java (original) +++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactUtils.java Thu Jul 30 10:17:29 2009 @@ -30,13 +30,31 @@ public final class ArtifactUtils { + + public static boolean isSnapshot( String version ) + { + if ( version != null ) + { + if ( version.regionMatches( true, version.length() - Artifact.SNAPSHOT_VERSION.length(), + Artifact.SNAPSHOT_VERSION, 0, Artifact.SNAPSHOT_VERSION.length() ) ) + { + return true; + } + else if ( Artifact.VERSION_FILE_PATTERN.matcher( version ).matches() ) + { + return true; + } + } + return false; + } + public static String toSnapshotVersion( String version ) { - if(version == null) - { - throw new IllegalArgumentException("version: null"); - } - + if ( version == null ) + { + throw new IllegalArgumentException( "version: null" ); + } + Matcher m = Artifact.VERSION_FILE_PATTERN.matcher( version ); if ( m.matches() ) { @@ -47,7 +65,7 @@ return version; } } - + public static String versionlessKey( Artifact artifact ) { return versionlessKey( artifact.getGroupId(), artifact.getArtifactId() ); Added: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java?rev=799225&view=auto ============================================================================== --- maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java (added) +++ maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java Thu Jul 30 10:17:29 2009 @@ -0,0 +1,79 @@ +package org.apache.maven.artifact; + +/* + * 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 java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.maven.artifact.versioning.VersionRange; + +import junit.framework.TestCase; + +/** + * Tests {...@link ArtifactUtils}. + * + * @author Benjamin Bentmann + */ +public class ArtifactUtilsTest + extends TestCase +{ + + private Artifact newArtifact( String aid ) + { + return new DefaultArtifact( "group", aid, VersionRange.createFromVersion( "1.0" ), "test", "jar", "tests", null ); + } + + public void testIsSnapshot() + { + assertEquals( false, ArtifactUtils.isSnapshot( null ) ); + assertEquals( false, ArtifactUtils.isSnapshot( "" ) ); + assertEquals( false, ArtifactUtils.isSnapshot( "1.2.3" ) ); + assertEquals( true, ArtifactUtils.isSnapshot( "1.2.3-SNAPSHOT" ) ); + assertEquals( true, ArtifactUtils.isSnapshot( "1.2.3-snapshot" ) ); + assertEquals( true, ArtifactUtils.isSnapshot( "1.2.3-20090413.094722-2" ) ); + } + + public void testToSnapshotVersion() + { + assertEquals( "1.2.3", ArtifactUtils.toSnapshotVersion( "1.2.3" ) ); + assertEquals( "1.2.3-SNAPSHOT", ArtifactUtils.toSnapshotVersion( "1.2.3-SNAPSHOT" ) ); + assertEquals( "1.2.3-SNAPSHOT", ArtifactUtils.toSnapshotVersion( "1.2.3-20090413.094722-2" ) ); + } + + /** + * Tests that the ordering of the map resembles the ordering of the input collection of artifacts. + */ + public void testArtifactMapByVersionlessIdOrdering() + throws Exception + { + List<Artifact> list = new ArrayList<Artifact>(); + list.add( newArtifact( "b" ) ); + list.add( newArtifact( "a" ) ); + list.add( newArtifact( "c" ) ); + list.add( newArtifact( "e" ) ); + list.add( newArtifact( "d" ) ); + + Map<String, Artifact> map = ArtifactUtils.artifactMapByVersionlessId( list ); + assertNotNull( map ); + assertEquals( list, new ArrayList<Artifact>( map.values() ) ); + } + +} Propchange: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/ArtifactUtilsTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision