mirror of https://github.com/apache/archiva.git
[MRM-1360] move type population into Maven 2 plugin
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@921224 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
989f143a5f
commit
780176f7f5
|
@ -19,6 +19,9 @@ package org.apache.maven.archiva.repository.content;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider;
|
||||||
|
import org.apache.archiva.metadata.repository.storage.maven2.DefaultArtifactMappingProvider;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
@ -40,21 +43,28 @@ public class ArtifactExtensionMapping
|
||||||
|
|
||||||
private static final Pattern mavenPluginPattern = Pattern.compile( "^(maven-.*-plugin)|(.*-maven-plugin)$" );
|
private static final Pattern mavenPluginPattern = Pattern.compile( "^(maven-.*-plugin)|(.*-maven-plugin)$" );
|
||||||
|
|
||||||
|
// TODO: won't support extensions - need to refactor away this class
|
||||||
|
private static final ArtifactMappingProvider mapping = new DefaultArtifactMappingProvider();
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
typeToExtensionMap = new HashMap<String, String>();
|
typeToExtensionMap = new HashMap<String, String>();
|
||||||
typeToExtensionMap.put( "ejb-client", "jar" );
|
typeToExtensionMap.put( "ejb-client", "jar" );
|
||||||
typeToExtensionMap.put( "ejb", "jar" );
|
typeToExtensionMap.put( "ejb", "jar" );
|
||||||
|
typeToExtensionMap.put( "java-source", "jar" );
|
||||||
|
typeToExtensionMap.put( "javadoc", "jar" );
|
||||||
|
typeToExtensionMap.put( "test-jar", "jar" );
|
||||||
|
typeToExtensionMap.put( MAVEN_PLUGIN, "jar" );
|
||||||
|
|
||||||
|
typeToExtensionMap.put( MAVEN_ARCHETYPE, "jar" );
|
||||||
|
|
||||||
|
// TODO: move to maven 1 plugin
|
||||||
|
typeToExtensionMap.put( MAVEN_ONE_PLUGIN, "jar" );
|
||||||
|
typeToExtensionMap.put( "javadoc.jar", "jar" );
|
||||||
|
typeToExtensionMap.put( "uberjar", "jar" );
|
||||||
typeToExtensionMap.put( "distribution-tgz", "tar.gz" );
|
typeToExtensionMap.put( "distribution-tgz", "tar.gz" );
|
||||||
typeToExtensionMap.put( "distribution-zip", "zip" );
|
typeToExtensionMap.put( "distribution-zip", "zip" );
|
||||||
typeToExtensionMap.put( "java-source", "jar" );
|
|
||||||
typeToExtensionMap.put( "javadoc.jar", "jar" );
|
|
||||||
typeToExtensionMap.put( "javadoc", "jar" );
|
|
||||||
typeToExtensionMap.put( "aspect", "jar" );
|
typeToExtensionMap.put( "aspect", "jar" );
|
||||||
typeToExtensionMap.put( "uberjar", "jar" );
|
|
||||||
typeToExtensionMap.put( MAVEN_PLUGIN, "jar" );
|
|
||||||
typeToExtensionMap.put( MAVEN_ONE_PLUGIN, "jar" );
|
|
||||||
typeToExtensionMap.put( MAVEN_ARCHETYPE, "jar" );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getExtension( String type )
|
public static String getExtension( String type )
|
||||||
|
@ -62,7 +72,7 @@ public class ArtifactExtensionMapping
|
||||||
// Try specialized types first.
|
// Try specialized types first.
|
||||||
if ( typeToExtensionMap.containsKey( type ) )
|
if ( typeToExtensionMap.containsKey( type ) )
|
||||||
{
|
{
|
||||||
return (String) typeToExtensionMap.get( type );
|
return typeToExtensionMap.get( type );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return type
|
// Return type
|
||||||
|
@ -88,36 +98,37 @@ public class ArtifactExtensionMapping
|
||||||
public static String mapExtensionAndClassifierToType( String classifier, String extension,
|
public static String mapExtensionAndClassifierToType( String classifier, String extension,
|
||||||
String defaultExtension )
|
String defaultExtension )
|
||||||
{
|
{
|
||||||
if ( "sources".equals( classifier ) )
|
String value = mapping.mapClassifierAndExtensionToType( classifier, extension );
|
||||||
|
if ( value == null )
|
||||||
{
|
{
|
||||||
return "java-source";
|
value = mapToMaven1Type( extension );
|
||||||
}
|
}
|
||||||
else if ( "javadoc".equals( classifier ) )
|
return value != null ? value : defaultExtension;
|
||||||
{
|
|
||||||
return "javadoc";
|
|
||||||
}
|
|
||||||
return mapExtensionToType( extension, defaultExtension );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String mapExtensionToType( String extension )
|
public static String mapExtensionToType( String extension )
|
||||||
{
|
{
|
||||||
return mapExtensionToType( extension, extension );
|
String value = mapToMaven1Type( extension );
|
||||||
|
|
||||||
|
return value != null ? value : extension;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String mapExtensionToType( String extension, String defaultExtension )
|
private static String mapToMaven1Type( String extension )
|
||||||
{
|
{
|
||||||
|
// TODO: Maven 1 plugin
|
||||||
|
String value = null;
|
||||||
if ( "tar.gz".equals( extension ) )
|
if ( "tar.gz".equals( extension ) )
|
||||||
{
|
{
|
||||||
return "distribution-tgz";
|
value = "distribution-tgz";
|
||||||
}
|
}
|
||||||
else if ( "tar.bz2".equals( extension ) )
|
else if ( "tar.bz2".equals( extension ) )
|
||||||
{
|
{
|
||||||
return "distribution-bzip";
|
value = "distribution-bzip";
|
||||||
}
|
}
|
||||||
else if ( "zip".equals( extension ) )
|
else if ( "zip".equals( extension ) )
|
||||||
{
|
{
|
||||||
return "distribution-zip";
|
value = "distribution-zip";
|
||||||
}
|
}
|
||||||
return defaultExtension;
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
<versioning>
|
<versioning>
|
||||||
<snapshot>
|
<snapshot>
|
||||||
<timestamp>20100308.230825</timestamp>
|
<timestamp>20100310.014828</timestamp>
|
||||||
<buildNumber>1</buildNumber>
|
<buildNumber>2</buildNumber>
|
||||||
</snapshot>
|
</snapshot>
|
||||||
<lastUpdated>20100308230825</lastUpdated>
|
<lastUpdated>20100310014828</lastUpdated>
|
||||||
</versioning>
|
</versioning>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
7210867ac16cd955db89cfca699e7c96
|
aad6835e3e7a4a9de5318ce9183eab54
|
|
@ -1 +1 @@
|
||||||
271faeb2039d026ee6a3c937375b5ff7d4b1d605
|
73669371dc2fdae2fa9a129932ed0932d62d9e6b
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
e034e44b0d9f3968ebfbc66c71b41ba0
|
|
@ -0,0 +1 @@
|
||||||
|
ca8d1408b05d125d0307dbd23063e5aa04235d35
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
a47f0edab0271fc55a3db38098f5f78a
|
|
@ -0,0 +1 @@
|
||||||
|
af4c914ef8f80be2a8241fb4d40cff11f4348c0f
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
37786de9e272ed6db8541855e0e2d5dc
|
|
@ -0,0 +1 @@
|
||||||
|
bb1ca7834422926d0cb79ef303b715bc17f41661
|
|
@ -0,0 +1,24 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>com.example.test</groupId>
|
||||||
|
<artifactId>test-artifact</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<name>test-artifact</name>
|
||||||
|
<url>http://maven.apache.org</url>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>3.8.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<distributionManagement>
|
||||||
|
<repository>
|
||||||
|
<id>test</id>
|
||||||
|
<url>file:${basedir}/repository</url>
|
||||||
|
</repository>
|
||||||
|
</distributionManagement>
|
||||||
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
0612c49b1ac80983bfda08616330a4b8
|
|
@ -0,0 +1 @@
|
||||||
|
156d6062060743bf28df306e067914d3d692b571
|
|
@ -4,9 +4,10 @@
|
||||||
<artifactId>test-artifact</artifactId>
|
<artifactId>test-artifact</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
<versioning>
|
<versioning>
|
||||||
|
<release>1.0-SNAPSHOT</release>
|
||||||
<versions>
|
<versions>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0-SNAPSHOT</version>
|
||||||
</versions>
|
</versions>
|
||||||
<lastUpdated>20100308230825</lastUpdated>
|
<lastUpdated>20100310014828</lastUpdated>
|
||||||
</versioning>
|
</versioning>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
93afaac7340faadc7efd097952d79fa4
|
4c0a7072d66cfe2deebd3eb998332ccb
|
|
@ -1 +1 @@
|
||||||
d59d588343d61fd7d838984a0daa4aaa2546bf9d
|
64c28127c4923ff352021bdfdad448d2d881ef3b
|
|
@ -0,0 +1,25 @@
|
||||||
|
package org.apache.archiva.metadata.repository.storage.maven2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface ArtifactMappingProvider
|
||||||
|
{
|
||||||
|
String mapClassifierAndExtensionToType( String classifier, String ext );
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
package org.apache.archiva.metadata.repository.storage.maven2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @plexus.component role="org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider" role-hint="default"
|
||||||
|
*/
|
||||||
|
public class DefaultArtifactMappingProvider
|
||||||
|
implements ArtifactMappingProvider
|
||||||
|
{
|
||||||
|
private final Map<String,String> classifierAndExtensionToTypeMap;
|
||||||
|
|
||||||
|
public DefaultArtifactMappingProvider()
|
||||||
|
{
|
||||||
|
classifierAndExtensionToTypeMap = new HashMap<String,String>();
|
||||||
|
|
||||||
|
// Maven 2.2.1 supplied types (excluding defaults where extension == type and no classifier)
|
||||||
|
classifierAndExtensionToTypeMap.put( "client:jar", "ejb-client" );
|
||||||
|
classifierAndExtensionToTypeMap.put( "sources:jar", "java-source" );
|
||||||
|
classifierAndExtensionToTypeMap.put( "javadoc:jar", "javadoc" );
|
||||||
|
classifierAndExtensionToTypeMap.put( "tests:jar", "test-jar" );
|
||||||
|
}
|
||||||
|
|
||||||
|
public String mapClassifierAndExtensionToType( String classifier, String ext )
|
||||||
|
{
|
||||||
|
classifier = classifier != null ? classifier : "";
|
||||||
|
ext = ext != null ? ext : "";
|
||||||
|
return classifierAndExtensionToTypeMap.get( classifier + ":" + ext );
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,13 +1,5 @@
|
||||||
package org.apache.archiva.metadata.repository.storage.maven2;
|
package org.apache.archiva.metadata.repository.storage.maven2;
|
||||||
|
|
||||||
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
|
||||||
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
|
|
||||||
import org.apache.maven.archiva.common.utils.VersionUtil;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -27,6 +19,15 @@ import java.util.regex.Pattern;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.apache.archiva.metadata.model.ArtifactMetadata;
|
||||||
|
import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
|
||||||
|
import org.apache.maven.archiva.common.utils.VersionUtil;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @plexus.component role="org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator" role-hint="maven2"
|
* @plexus.component role="org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator" role-hint="maven2"
|
||||||
*/
|
*/
|
||||||
|
@ -39,6 +40,11 @@ public class Maven2RepositoryPathTranslator
|
||||||
|
|
||||||
private static final Pattern TIMESTAMP_PATTERN = Pattern.compile( "([0-9]{8}.[0-9]{6})-([0-9]+).*" );
|
private static final Pattern TIMESTAMP_PATTERN = Pattern.compile( "([0-9]{8}.[0-9]{6})-([0-9]+).*" );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @plexus.requirement role="org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider"
|
||||||
|
*/
|
||||||
|
private List<ArtifactMappingProvider> artifactMappingProviders;
|
||||||
|
|
||||||
public File toFile( File basedir, String namespace, String projectId, String projectVersion, String filename )
|
public File toFile( File basedir, String namespace, String projectId, String projectVersion, String filename )
|
||||||
{
|
{
|
||||||
return new File( basedir, toPath( namespace, projectId, projectVersion, filename ) );
|
return new File( basedir, toPath( namespace, projectId, projectVersion, filename ) );
|
||||||
|
@ -180,6 +186,8 @@ public class Maven2RepositoryPathTranslator
|
||||||
m.matches();
|
m.matches();
|
||||||
String timestamp = m.group( 1 );
|
String timestamp = m.group( 1 );
|
||||||
String buildNumber = m.group( 2 );
|
String buildNumber = m.group( 2 );
|
||||||
|
facet.setTimestamp( timestamp );
|
||||||
|
facet.setBuildNumber( Integer.valueOf( buildNumber ) );
|
||||||
version = idSubStrFromVersion.substring( 0, mainVersionLength ) + timestamp + "-" + buildNumber;
|
version = idSubStrFromVersion.substring( 0, mainVersionLength ) + timestamp + "-" + buildNumber;
|
||||||
}
|
}
|
||||||
catch ( IllegalStateException e )
|
catch ( IllegalStateException e )
|
||||||
|
@ -246,8 +254,25 @@ public class Maven2RepositoryPathTranslator
|
||||||
metadata.setVersion( version );
|
metadata.setVersion( version );
|
||||||
|
|
||||||
facet.setClassifier( classifier );
|
facet.setClassifier( classifier );
|
||||||
// TODO: migrate here from ArtifactExtensionMapping and make extensible
|
|
||||||
// facet.setType( );
|
// we use our own provider here instead of directly accessing Maven's artifact handlers as it has no way
|
||||||
|
// to select the correct order to apply multiple extensions mappings to a preferred type
|
||||||
|
// TODO: this won't allow the user to decide order to apply them if there are conflicts or desired changes -
|
||||||
|
// perhaps the plugins could register missing entries in configuration, then we just use configuration
|
||||||
|
// here?
|
||||||
|
|
||||||
|
String type = null;
|
||||||
|
for ( ArtifactMappingProvider mapping : artifactMappingProviders )
|
||||||
|
{
|
||||||
|
type = mapping.mapClassifierAndExtensionToType( classifier, ext );
|
||||||
|
if ( type != null )
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// use extension as default
|
||||||
|
facet.setType( type != null ? type : ext );
|
||||||
metadata.addFacet( facet );
|
metadata.addFacet( facet );
|
||||||
|
|
||||||
return metadata;
|
return metadata;
|
||||||
|
|
|
@ -133,7 +133,6 @@ public class Maven2RepositoryMetadataResolverTest
|
||||||
assertDependency( dependencies.get( 9 ), "easymock", "easymockclassextension", "1.2", "test" );
|
assertDependency( dependencies.get( 9 ), "easymock", "easymockclassextension", "1.2", "test" );
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: test snapshot, rest of artifacts
|
|
||||||
public void testGetArtifactMetadata()
|
public void testGetArtifactMetadata()
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
|
@ -156,8 +155,7 @@ public class Maven2RepositoryMetadataResolverTest
|
||||||
assertEquals( 0, facet.getBuildNumber() );
|
assertEquals( 0, facet.getBuildNumber() );
|
||||||
assertNull( facet.getTimestamp() );
|
assertNull( facet.getTimestamp() );
|
||||||
assertEquals( "sources", facet.getClassifier() );
|
assertEquals( "sources", facet.getClassifier() );
|
||||||
// TODO
|
assertEquals( "java-source", facet.getType() );
|
||||||
// assertEquals( "java-source", facet.getType() );
|
|
||||||
|
|
||||||
artifactMetadata = artifacts.get( 1 );
|
artifactMetadata = artifacts.get( 1 );
|
||||||
assertEquals( "plexus-spring-1.2.jar", artifactMetadata.getId() );
|
assertEquals( "plexus-spring-1.2.jar", artifactMetadata.getId() );
|
||||||
|
@ -165,8 +163,7 @@ public class Maven2RepositoryMetadataResolverTest
|
||||||
assertEquals( 0, facet.getBuildNumber() );
|
assertEquals( 0, facet.getBuildNumber() );
|
||||||
assertNull( facet.getTimestamp() );
|
assertNull( facet.getTimestamp() );
|
||||||
assertNull( facet.getClassifier() );
|
assertNull( facet.getClassifier() );
|
||||||
// TODO
|
assertEquals( "jar", facet.getType() );
|
||||||
// assertEquals( "jar", facet.getType() );
|
|
||||||
|
|
||||||
artifactMetadata = artifacts.get( 2 );
|
artifactMetadata = artifacts.get( 2 );
|
||||||
assertEquals( "plexus-spring-1.2.pom", artifactMetadata.getId() );
|
assertEquals( "plexus-spring-1.2.pom", artifactMetadata.getId() );
|
||||||
|
@ -174,8 +171,72 @@ public class Maven2RepositoryMetadataResolverTest
|
||||||
assertEquals( 0, facet.getBuildNumber() );
|
assertEquals( 0, facet.getBuildNumber() );
|
||||||
assertNull( facet.getTimestamp() );
|
assertNull( facet.getTimestamp() );
|
||||||
assertNull( facet.getClassifier() );
|
assertNull( facet.getClassifier() );
|
||||||
// TODO
|
assertEquals( "pom", facet.getType() );
|
||||||
// assertEquals( "pom", facet.getType() );
|
}
|
||||||
|
|
||||||
|
public void testGetArtifactMetadataSnapshots()
|
||||||
|
throws Exception
|
||||||
|
{
|
||||||
|
Collection<ArtifactMetadata> testArtifacts = resolver.getArtifacts( TEST_REPO_ID, "com.example.test",
|
||||||
|
"test-artifact", "1.0-SNAPSHOT" );
|
||||||
|
List<ArtifactMetadata> artifacts = new ArrayList<ArtifactMetadata>( testArtifacts );
|
||||||
|
Collections.sort( artifacts, new Comparator<ArtifactMetadata>()
|
||||||
|
{
|
||||||
|
public int compare( ArtifactMetadata o1, ArtifactMetadata o2 )
|
||||||
|
{
|
||||||
|
return o1.getId().compareTo( o2.getId() );
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
|
assertEquals( 6, artifacts.size() );
|
||||||
|
|
||||||
|
ArtifactMetadata artifactMetadata = artifacts.get( 0 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100308.230825-1.jar", artifactMetadata.getId() );
|
||||||
|
MavenArtifactFacet facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 1, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100308.230825", facet.getTimestamp() );
|
||||||
|
assertNull( facet.getClassifier() );
|
||||||
|
assertEquals( "jar", facet.getType() );
|
||||||
|
|
||||||
|
artifactMetadata = artifacts.get( 1 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100308.230825-1.pom", artifactMetadata.getId() );
|
||||||
|
facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 1, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100308.230825", facet.getTimestamp() );
|
||||||
|
assertNull( facet.getClassifier() );
|
||||||
|
assertEquals( "pom", facet.getType() );
|
||||||
|
|
||||||
|
artifactMetadata = artifacts.get( 2 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100310.014828-2-javadoc.jar", artifactMetadata.getId() );
|
||||||
|
facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 2, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100310.014828", facet.getTimestamp() );
|
||||||
|
assertEquals( "javadoc", facet.getClassifier() );
|
||||||
|
assertEquals( "javadoc", facet.getType() );
|
||||||
|
|
||||||
|
artifactMetadata = artifacts.get( 3 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100310.014828-2-sources.jar", artifactMetadata.getId() );
|
||||||
|
facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 2, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100310.014828", facet.getTimestamp() );
|
||||||
|
assertEquals( "sources", facet.getClassifier() );
|
||||||
|
assertEquals( "java-source", facet.getType() );
|
||||||
|
|
||||||
|
artifactMetadata = artifacts.get( 4 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100310.014828-2.jar", artifactMetadata.getId() );
|
||||||
|
facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 2, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100310.014828", facet.getTimestamp() );
|
||||||
|
assertNull( facet.getClassifier() );
|
||||||
|
assertEquals( "jar", facet.getType() );
|
||||||
|
|
||||||
|
artifactMetadata = artifacts.get( 5 );
|
||||||
|
assertEquals( "test-artifact-1.0-20100310.014828-2.pom", artifactMetadata.getId() );
|
||||||
|
facet = (MavenArtifactFacet) artifactMetadata.getFacet( MavenArtifactFacet.FACET_ID );
|
||||||
|
assertEquals( 2, facet.getBuildNumber() );
|
||||||
|
assertEquals( "20100310.014828", facet.getTimestamp() );
|
||||||
|
assertNull( facet.getClassifier() );
|
||||||
|
assertEquals( "pom", facet.getType() );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertDependency( Dependency dependency, String groupId, String artifactId, String version )
|
private void assertDependency( Dependency dependency, String groupId, String artifactId, String version )
|
||||||
|
|
Loading…
Reference in New Issue