jdcasey 2005/04/07 14:26:21
Modified: sandbox/repoclean/src/main/resources/META-INF/plexus
components.xml
sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean
RepositoryCleaner.java
Added:
sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/index
ArtifactIndexer.java
Log:
Added the ability to generate an index file under .index.txt for the
repository as we convert it.
Revision Changes Path
1.1
maven-components/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/index/ArtifactIndexer.java
Index: ArtifactIndexer.java
===================================================================
package org.apache.maven.tools.repoclean.index;
import org.apache.maven.artifact.Artifact;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.IOUtil;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed 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.
*/
/**
* @author jdcasey
*/
public class ArtifactIndexer
extends AbstractLogEnabled
{
public static final String ROLE = ArtifactIndexer.class.getName();
public void writeAritfactIndex( List artifacts, File targetRepositoryBase
)
{
List sortedArtifacts = new ArrayList( artifacts );
Collections.sort( sortedArtifacts, new ArtifactIdComparator() );
File indexFile = new File( targetRepositoryBase, ".index.txt" );
FileWriter indexWriter = null;
try
{
indexWriter = new FileWriter( indexFile );
for ( Iterator it = sortedArtifacts.iterator(); it.hasNext(); )
{
Artifact artifact = (Artifact) it.next();
indexWriter.write( artifact.getId() + "\n" );
}
}
catch ( IOException e )
{
getLogger().error( "Error writing artifact index file.", e );
}
finally
{
IOUtil.close( indexWriter );
}
}
private static final class ArtifactIdComparator
implements Comparator
{
public int compare( Object first, Object second )
{
Artifact firstArtifact = (Artifact) first;
Artifact secondArtifact = (Artifact) second;
return firstArtifact.getConflictId().compareTo(
secondArtifact.getConflictId() );
}
}
}
1.7 +12 -0
maven-components/sandbox/repoclean/src/main/resources/META-INF/plexus/components.xml
Index: components.xml
===================================================================
RCS file:
/home/cvs/maven-components/sandbox/repoclean/src/main/resources/META-INF/plexus/components.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- components.xml 7 Apr 2005 16:37:18 -0000 1.6
+++ components.xml 7 Apr 2005 21:26:21 -0000 1.7
@@ -103,6 +103,9 @@
<role>org.apache.maven.tools.repoclean.digest.ArtifactDigestVerifier</role>
</requirement>
<requirement>
+ <role>org.apache.maven.tools.repoclean.index.ArtifactIndexer</role>
+ </requirement>
+ <requirement>
<role>org.codehaus.plexus.mailsender.MailSender</role>
</requirement>
</requirements>
@@ -112,6 +115,15 @@
|
|
-->
+ <component>
+ <role>org.apache.maven.tools.repoclean.index.ArtifactIndexer</role>
+
<implementation>org.apache.maven.tools.repoclean.index.ArtifactIndexer</implementation>
+ </component>
+ <!--
+ |
+ |
+ |
+ -->
<component>
<role>org.apache.maven.tools.repoclean.discover.ArtifactDiscoverer</role>
<role-hint>legacy</role-hint>
1.12 +6 -1
maven-components/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/RepositoryCleaner.java
Index: RepositoryCleaner.java
===================================================================
RCS file:
/home/cvs/maven-components/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/RepositoryCleaner.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- RepositoryCleaner.java 7 Apr 2005 16:37:18 -0000 1.11
+++ RepositoryCleaner.java 7 Apr 2005 21:26:21 -0000 1.12
@@ -23,6 +23,7 @@
import org.apache.maven.tools.repoclean.artifact.metadata.ProjectMetadata;
import org.apache.maven.tools.repoclean.digest.ArtifactDigestVerifier;
import org.apache.maven.tools.repoclean.discover.ArtifactDiscoverer;
+import org.apache.maven.tools.repoclean.index.ArtifactIndexer;
import org.apache.maven.tools.repoclean.report.Reporter;
import org.apache.maven.tools.repoclean.rewrite.ArtifactPomRewriter;
import org.codehaus.plexus.PlexusConstants;
@@ -61,7 +62,9 @@
private ArtifactDigestVerifier artifactDigestVerifier;
private MailSender mailSender;
-
+
+ private ArtifactIndexer artifactIndexer;
+
private ArtifactConstructionSupport artifactConstructionSupport = new
ArtifactConstructionSupport();
private PlexusContainer container;
@@ -145,6 +148,8 @@
logger.info( "Rewriting POMs and artifact
files." );
}
+ artifactIndexer.writeAritfactIndex( artifacts,
targetRepositoryBase );
+
rewriteArtifactsAndPoms( artifacts, sourceRepo,
targetRepo, configuration, reportsBase,
sourceRepositoryBase,
targetRepositoryBase, repoReporter );
}