* Add a path to the list of files that were kicked out due to being invalid.
*
* @param path the path to add
+ * @todo add a reason
*/
protected void addKickedOutPath( String path )
{
return null;
}
- //discard the actual artifact filename.
- pathParts.remove( 0 );
+ // the actual artifact filename.
+ String filename = (String) pathParts.remove( 0 );
// the next one is the version.
- String version = (String) pathParts.get( 0 );
- pathParts.remove( 0 );
+ String version = (String) pathParts.remove( 0 );
// the next one is the artifactId.
- String artifactId = (String) pathParts.get( 0 );
- pathParts.remove( 0 );
+ String artifactId = (String) pathParts.remove( 0 );
// the remaining are the groupId.
Collections.reverse( pathParts );
String groupId = StringUtils.join( pathParts.iterator(), "." );
+ if ( !filename.startsWith( artifactId + "-" ) )
+ {
+ addKickedOutPath( path );
+
+ return null;
+ }
+
result = artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "jar" );
result.setFile( new File( path ) );
}
}
- result.setFile( new File( path ) );
+ if ( result != null )
+ {
+ result.setFile( new File( path ) );
+ }
return result;
}
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
+ * @todo other tests for kickouts to do here, along the lines of wrong artifactId, parse classifiers, locate poms
*/
public class DefaultArtifactDiscovererTest
extends PlexusTestCase
found = path.replace( '\\', '/' ).equals( "invalid/invalid-1.0.jar" );
}
- assertTrue( "Check exclusion was found", found );
+ assertTrue( "Check kickout was found", found );
for ( Iterator i = artifacts.iterator(); i.hasNext(); )
{
}
}
+ public void testKickoutWithWrongArtifactId()
+ {
+ List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false );
+ assertNotNull( "Check artifacts not null", artifacts );
+ boolean found = false;
+ for ( Iterator i = discoverer.getKickedOutPathsIterator(); i.hasNext() && !found; )
+ {
+ String path = (String) i.next();
+
+ found = path.replace( '\\', '/' ).equals(
+ "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar" );
+ }
+ assertTrue( "Check kickout was found", found );
+
+ for ( Iterator i = artifacts.iterator(); i.hasNext(); )
+ {
+ Artifact a = (Artifact) i.next();
+ assertFalse( "Check not wrong jar",
+ a.getFile().getName().equals( "wrong-artifactId-1.0-20050611.112233-1.jar" ) );
+ }
+ }
+
public void testSnapshotInclusion()
{
List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, true );
assertFalse( "Check jdbc not included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) );
}
-/*
public void testKickoutWithShortPath()
{
List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false );
}
}
+ public void testKickoutWithLongPath()
+ {
+ List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, false );
+ assertNotNull( "Check artifacts not null", artifacts );
+ boolean found = false;
+ for ( Iterator i = discoverer.getKickedOutPathsIterator(); i.hasNext() && !found; )
+ {
+ String path = (String) i.next();
+
+ found = path.replace( '\\', '/' ).equals( "invalid/jars/1.0/invalid-1.0.jar" );
+ }
+ assertTrue( "Check exclusion was found", found );
+
+ for ( Iterator i = artifacts.iterator(); i.hasNext(); )
+ {
+ Artifact a = (Artifact) i.next();
+ assertFalse( "Check not invalid-1.0.jar", a.getFile().getName().equals( "invalid-1.0.jar" ) );
+ }
+ }
+
public void testSnapshotInclusion()
{
List artifacts = discoverer.discoverArtifacts( repositoryLocation, null, true );
assertTrue( "Check normal included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) );
assertTrue( "Check snapshot included",
- artifacts.contains( createArtifact( "org.apache.maven", "test", "1.0-SNAPSHOT" ) ) );
+ artifacts.contains( createArtifact( "org.apache.maven", "testing", "1.0-20050611.112233-1" ) ) );
}
public void testSnapshotExclusion()
assertTrue( "Check normal included", artifacts.contains( createArtifact( "javax.sql", "jdbc", "2.0" ) ) );
assertFalse( "Check snapshot included",
- artifacts.contains( createArtifact( "org.apache.maven", "test", "1.0-SNAPSHOT" ) ) );
+ artifacts.contains( createArtifact( "org.apache.maven", "testing", "1.0-20050611.112233-1" ) ) );
}
-*/
private Artifact createArtifact( String groupId, String artifactId, String version )
{