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:[EMAIL PROTECTED]">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 ); }