Author: brett Date: Mon Sep 19 22:43:03 2005 New Revision: 290364 URL: http://svn.apache.org/viewcvs?rev=290364&view=rev Log: avoid failure when there is a bad path in the repository
Modified: maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java Modified: maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java?rev=290364&r1=290363&r2=290364&view=diff ============================================================================== --- maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java (original) +++ maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java Mon Sep 19 22:43:03 2005 @@ -17,6 +17,7 @@ */ import org.apache.maven.tools.repoclean.report.PathLister; +import org.apache.maven.tools.repoclean.report.ReportWriteException; import org.apache.maven.tools.repoclean.report.Reporter; import java.io.File; @@ -35,6 +36,6 @@ List discoverArtifacts( File repositoryBase, Reporter reporter, String blacklistedPatterns, PathLister excludeLister, PathLister kickoutLister, boolean includeSnapshots ) - throws Exception; + throws ReportWriteException; } Modified: maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java?rev=290364&r1=290363&r2=290364&view=diff ============================================================================== --- maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java (original) +++ maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java Mon Sep 19 22:43:03 2005 @@ -19,6 +19,7 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.factory.ArtifactFactory; import org.apache.maven.tools.repoclean.report.PathLister; +import org.apache.maven.tools.repoclean.report.ReportWriteException; import org.apache.maven.tools.repoclean.report.Reporter; import java.io.File; @@ -39,7 +40,7 @@ public List discoverArtifacts( File repositoryBase, Reporter reporter, String blacklistedPatterns, PathLister excludeLister, PathLister kickoutLister, boolean convertSnapshots ) - throws Exception + throws ReportWriteException { List artifacts = new ArrayList(); @@ -49,7 +50,7 @@ { String path = artifactPaths[i]; - Artifact artifact = buildArtifact( path ); + Artifact artifact = buildArtifact( path, reporter ); if ( artifact != null ) { @@ -63,8 +64,8 @@ return artifacts; } - private Artifact buildArtifact( String path ) - throws Exception + private Artifact buildArtifact( String path, Reporter reporter ) + throws ReportWriteException { Artifact result; @@ -77,7 +78,11 @@ Collections.reverse( pathParts ); - int currentPart = 0; + if ( pathParts.size() < 4 ) + { + reporter.error( "Not enough parts (4) in path " + path ); + return null; + } //discard the actual artifact filename. pathParts.remove( 0 ); Modified: maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java URL: http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java?rev=290364&r1=290363&r2=290364&view=diff ============================================================================== --- maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java (original) +++ maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java Mon Sep 19 22:43:03 2005 @@ -19,6 +19,7 @@ import org.apache.maven.tools.repoclean.RepositoryCleanerConfiguration; import org.apache.maven.tools.repoclean.discover.ArtifactDiscoverer; import org.apache.maven.tools.repoclean.report.PathLister; +import org.apache.maven.tools.repoclean.report.ReportWriteException; import org.apache.maven.tools.repoclean.report.Reporter; import org.codehaus.plexus.PlexusConstants; import org.codehaus.plexus.PlexusContainer; @@ -54,8 +55,8 @@ try { - artifactDiscoverer = (ArtifactDiscoverer) container.lookup( ArtifactDiscoverer.ROLE, configuration - .getSourceRepositoryLayout() ); + artifactDiscoverer = (ArtifactDiscoverer) container.lookup( ArtifactDiscoverer.ROLE, + configuration.getSourceRepositoryLayout() ); if ( logger.isDebugEnabled() ) { @@ -74,7 +75,7 @@ configuration.getBlacklistedPatterns(), excludeLister, kickoutLister, configuration.isConvertSnapshots() ); } - catch ( Exception e ) + catch ( ReportWriteException e ) { repoReporter.error( "Error discovering artifacts in source repository.", e ); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]