You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/10/22 22:00:56 UTC
svn commit: r587224 - in
/maven/archiva/trunk/archiva-base/archiva-repository-layer/src:
main/java/org/apache/maven/archiva/repository/content/
test/java/org/apache/maven/archiva/repository/content/
Author: joakime
Date: Mon Oct 22 13:00:55 2007
New Revision: 587224
URL: http://svn.apache.org/viewvc?rev=587224&view=rev
Log:
[MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
Added ability in default and legacy layouts to detect the 'maven-plugin' type.
Added:
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java (with props)
Modified:
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java
maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContent.java Mon Oct 22 13:00:55 2007
@@ -47,6 +47,7 @@
{
typeToDirectoryMap = new HashMap<String, String>();
typeToDirectoryMap.put( "ejb-client", "ejb" );
+ typeToDirectoryMap.put( ArtifactExtensionMapping.MAVEN_PLUGIN, "plugin" );
typeToDirectoryMap.put( "distribution-tgz", "distribution" );
typeToDirectoryMap.put( "distribution-zip", "distribution" );
}
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMapping.java Mon Oct 22 13:00:55 2007
@@ -24,6 +24,7 @@
import java.io.File;
import java.util.HashMap;
import java.util.Map;
+import java.util.regex.Pattern;
/**
* ArtifactExtensionMapping
@@ -33,7 +34,13 @@
*/
public class ArtifactExtensionMapping
{
- protected static final Map<String, String> typeToExtensionMap;
+ public static final String MAVEN_ARCHETYPE = "maven-archetype";
+
+ public static final String MAVEN_PLUGIN = "maven-plugin";
+
+ private static final Map<String, String> typeToExtensionMap;
+
+ private static final Pattern mavenPluginPattern = Pattern.compile( "^(maven-.*-plugin)|(.*-maven-plugin)$" );
static
{
@@ -47,9 +54,8 @@
typeToExtensionMap.put( "javadoc", "jar" );
typeToExtensionMap.put( "aspect", "jar" );
typeToExtensionMap.put( "uberjar", "jar" );
- typeToExtensionMap.put( "plugin", "jar" );
- typeToExtensionMap.put( "maven-plugin", "jar" );
- typeToExtensionMap.put( "maven-archetype", "jar" );
+ typeToExtensionMap.put( MAVEN_PLUGIN, "jar" );
+ typeToExtensionMap.put( MAVEN_ARCHETYPE, "jar" );
}
public static String getExtension( String type )
@@ -108,5 +114,16 @@
{
return normalizedName.substring( idx + 1 );
}
+ }
+
+ /**
+ * Determine if a given artifact Id conforms to the naming scheme for a maven plugin.
+ *
+ * @param artifactId the artifactId to test.
+ * @return true if this artifactId conforms to the naming scheme for a maven plugin.
+ */
+ public static boolean isMavenPlugin( String artifactId )
+ {
+ return mavenPluginPattern.matcher( artifactId ).matches();
}
}
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/DefaultPathParser.java Mon Oct 22 13:00:55 2007
@@ -147,8 +147,13 @@
// Set the type.
artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
-
- artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
+
+ // Special case for maven plugins
+ if ( StringUtils.equals( "jar", artifact.getType() ) &&
+ ArtifactExtensionMapping.isMavenPlugin( artifact.getArtifactId() ) )
+ {
+ artifact.setType( ArtifactExtensionMapping.MAVEN_PLUGIN );
+ }
}
catch ( LayoutException e )
{
@@ -181,4 +186,5 @@
return artifact;
}
+
}
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/FilenameParser.java Mon Oct 22 13:00:55 2007
@@ -38,7 +38,7 @@
private int offset;
- private static final Pattern specialCases = Pattern.compile( "(maven-.*-plugin)|(maven-plugin)" );
+ private static final Pattern mavenPluginPattern = Pattern.compile( "(maven-.*-plugin)|(.*-maven-plugin)" );
private static final Pattern extensionPattern = Pattern.compile( "(.tar.gz$)|(.tar.bz2$)|(.[a-z0-9]{1,4}$)",
Pattern.CASE_INSENSITIVE );
@@ -143,7 +143,7 @@
StringBuffer ver = new StringBuffer();
// Any text upto the end of a special case is considered non-version.
- Matcher specialMat = specialCases.matcher( name );
+ Matcher specialMat = mavenPluginPattern.matcher( name );
if ( specialMat.find() )
{
ver.append( name.substring( offset, specialMat.end() ) );
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/LegacyPathParser.java Mon Oct 22 13:00:55 2007
@@ -127,25 +127,34 @@
}
}
+ // Set Type
artifact.setType( ArtifactExtensionMapping.guessTypeFromFilename( filename ) );
-
+
// Sanity Check: does it have an extension?
if ( StringUtils.isEmpty( artifact.getType() ) )
{
throw new LayoutException( INVALID_ARTIFACT_PATH + "no extension found." );
}
- String trimPathType = expectedType.substring( 0, expectedType.length() - 1 );
-
- // Sanity Check: does extension match pathType on path?
- String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType );
- String actualExtension = parser.getExtension();
-
- if ( !expectedExtension.equals( actualExtension ) )
+ // Special Case with Maven Plugins
+ if ( StringUtils.equals( "jar", artifact.getType() ) && StringUtils.equals( "plugins", expectedType ) )
+ {
+ artifact.setType( ArtifactExtensionMapping.MAVEN_PLUGIN );
+ }
+ else
{
- throw new LayoutException( INVALID_ARTIFACT_PATH + "mismatch on extension [" + actualExtension
- + "] and layout specified type [" + expectedType + "] (which maps to extension: [" + expectedExtension
- + "]) on path [" + path + "]" );
+ // Sanity Check: does extension match pathType on path?
+ String trimPathType = expectedType.substring( 0, expectedType.length() - 1 );
+
+ String expectedExtension = ArtifactExtensionMapping.getExtension( trimPathType );
+ String actualExtension = parser.getExtension();
+
+ if ( !expectedExtension.equals( actualExtension ) )
+ {
+ throw new LayoutException( INVALID_ARTIFACT_PATH + "mismatch on extension [" + actualExtension
+ + "] and layout specified type [" + expectedType + "] (which maps to extension: ["
+ + expectedExtension + "]) on path [" + path + "]" );
+ }
}
return artifact;
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractDefaultRepositoryContentTestCase.java Mon Oct 22 13:00:55 2007
@@ -257,6 +257,39 @@
assertLayout( path, groupId, artifactId, version, classifier, type );
}
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodDetectMavenTestPlugin()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String classifier = null;
+ String type = "maven-plugin";
+ String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectCoberturaMavenPlugin()
+ throws LayoutException
+ {
+ String groupId = "org.codehaus.mojo";
+ String artifactId = "cobertura-maven-plugin";
+ String version = "2.1";
+ String classifier = null;
+ String type = "maven-plugin";
+ String path = "org/codehaus/mojo/cobertura-maven-plugin/2.1/cobertura-maven-plugin-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
public void testToArtifactOnEmptyPath()
{
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/AbstractLegacyRepositoryContentTestCase.java Mon Oct 22 13:00:55 2007
@@ -252,9 +252,70 @@
String groupId = "maven";
String artifactId = "maven-test-plugin";
String version = "1.8.2";
- String type = "jar";
+ String type = "pom";
- String path = "maven/jars/maven-test-plugin-1.8.2.jar";
+ String path = "maven/poms/maven-test-plugin-1.8.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodDetectPluginMavenTest()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String type = "maven-plugin";
+ String path = "maven/plugins/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginAvalonMeta()
+ throws LayoutException
+ {
+ String groupId = "avalon-meta";
+ String artifactId = "avalon-meta-plugin";
+ String version = "1.1";
+ String type = "maven-plugin";
+ String path = "avalon-meta/plugins/avalon-meta-plugin-1.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginCactusMaven()
+ throws LayoutException
+ {
+ String groupId = "cactus";
+ String artifactId = "cactus-maven";
+ String version = "1.7dev-20040815";
+ String type = "maven-plugin";
+ String path = "cactus/plugins/cactus-maven-1.7dev-20040815.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginGeronimoPackaging()
+ throws LayoutException
+ {
+ String groupId = "geronimo";
+ String artifactId = "geronimo-packaging-plugin";
+ String version = "1.0.1";
+ String type = "maven-plugin";
+ String path = "geronimo/plugins/geronimo-packaging-plugin-1.0.1.jar";
assertLayout( path, groupId, artifactId, version, type );
}
Added: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java?rev=587224&view=auto
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java (added)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java Mon Oct 22 13:00:55 2007
@@ -0,0 +1,58 @@
+package org.apache.maven.archiva.repository.content;
+
+/*
+ * 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.archiva.repository.AbstractRepositoryLayerTestCase;
+
+/**
+ * ArtifactExtensionMappingTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ArtifactExtensionMappingTest
+extends AbstractRepositoryLayerTestCase
+{
+ public void testIsMavenPlugin()
+ {
+ assertMavenPlugin( "maven-test-plugin" );
+ assertMavenPlugin( "maven-clean-plugin" );
+ assertMavenPlugin( "cobertura-maven-plugin" );
+ assertMavenPlugin( "maven-project-info-reports-plugin" );
+ assertMavenPlugin( "silly-name-for-a-maven-plugin" );
+
+ assertNotMavenPlugin( "maven-plugin-api" );
+ assertNotMavenPlugin( "foo-lib" );
+ assertNotMavenPlugin( "another-maven-plugin-api" );
+ assertNotMavenPlugin( "secret-maven-plugin-2" );
+ }
+
+ private void assertMavenPlugin( String artifactId )
+ {
+ assertTrue( "Should be detected as maven plugin: <" + artifactId + ">",
+ ArtifactExtensionMapping.isMavenPlugin( artifactId ) );
+ }
+
+ private void assertNotMavenPlugin( String artifactId )
+ {
+ assertFalse( "Should NOT be detected as maven plugin: <" + artifactId + ">",
+ ArtifactExtensionMapping.isMavenPlugin( artifactId ) );
+ }
+}
Propchange: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/ArtifactExtensionMappingTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/DefaultPathParserTest.java Mon Oct 22 13:00:55 2007
@@ -258,6 +258,39 @@
assertLayout( path, groupId, artifactId, version, classifier, type );
}
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodDetectMavenTestPlugin()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String classifier = null;
+ String type = "maven-plugin";
+ String path = "maven/maven-test-plugin/1.8.2/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectCoberturaMavenPlugin()
+ throws LayoutException
+ {
+ String groupId = "org.codehaus.mojo";
+ String artifactId = "cobertura-maven-plugin";
+ String version = "2.1";
+ String classifier = null;
+ String type = "maven-plugin";
+ String path = "org/codehaus/mojo/cobertura-maven-plugin/2.1/cobertura-maven-plugin-2.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, classifier, type );
+ }
+
public void testToArtifactOnEmptyPath()
{
try
@@ -309,7 +342,7 @@
/* expected path */
}
}
-
+
/**
* Perform a path to artifact reference lookup, and verify the results.
*/
@@ -321,7 +354,7 @@
ArtifactReference testReference = DefaultPathParser.toArtifactReference( path );
assertArtifactReference( testReference, groupId, artifactId, version, classifier, type );
}
-
+
private void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
String version, String classifier, String type )
{
Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java?rev=587224&r1=587223&r2=587224&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/content/LegacyPathParserTest.java Mon Oct 22 13:00:55 2007
@@ -253,9 +253,70 @@
String groupId = "maven";
String artifactId = "maven-test-plugin";
String version = "1.8.2";
- String type = "jar";
+ String type = "pom";
- String path = "maven/jars/maven-test-plugin-1.8.2.jar";
+ String path = "maven/poms/maven-test-plugin-1.8.2.pom";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ * Example uses "test" in artifact Id, which is also part of the versionKeyword list.
+ */
+ public void testGoodDetectPluginMavenTest()
+ throws LayoutException
+ {
+ String groupId = "maven";
+ String artifactId = "maven-test-plugin";
+ String version = "1.8.2";
+ String type = "maven-plugin";
+ String path = "maven/plugins/maven-test-plugin-1.8.2.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginAvalonMeta()
+ throws LayoutException
+ {
+ String groupId = "avalon-meta";
+ String artifactId = "avalon-meta-plugin";
+ String version = "1.1";
+ String type = "maven-plugin";
+ String path = "avalon-meta/plugins/avalon-meta-plugin-1.1.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginCactusMaven()
+ throws LayoutException
+ {
+ String groupId = "cactus";
+ String artifactId = "cactus-maven";
+ String version = "1.7dev-20040815";
+ String type = "maven-plugin";
+ String path = "cactus/plugins/cactus-maven-1.7dev-20040815.jar";
+
+ assertLayout( path, groupId, artifactId, version, type );
+ }
+
+ /**
+ * [MRM-562] Artifact type "maven-plugin" is not detected correctly in .toArtifactReference() methods.
+ */
+ public void testGoodDetectPluginGeronimoPackaging()
+ throws LayoutException
+ {
+ String groupId = "geronimo";
+ String artifactId = "geronimo-packaging-plugin";
+ String version = "1.0.1";
+ String type = "maven-plugin";
+ String path = "geronimo/plugins/geronimo-packaging-plugin-1.0.1.jar";
assertLayout( path, groupId, artifactId, version, type );
}