Author: brett
Date: Sat Aug 26 06:39:54 2006
New Revision: 437165
URL: http://svn.apache.org/viewvc?rev=437165&view=rev
Log:
[MRM-151] index developers and dependencies
Modified:
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneStandardIndexRecordConverter.java
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecord.java
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardIndexRecordFields.java
maven/archiva/trunk/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java
maven/archiva/trunk/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-jar-and-pom/1.0-alpha-1/test-jar-and-pom-1.0-alpha-1.pom
Modified:
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneStandardIndexRecordConverter.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneStandardIndexRecordConverter.java?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneStandardIndexRecordConverter.java
(original)
+++
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneStandardIndexRecordConverter.java
Sat Aug 26 06:39:54 2006
@@ -73,9 +73,18 @@
addUntokenizedField( document,
StandardIndexRecordFields.INCEPTION_YEAR, rec.getInceptionYear() );
addTokenizedField( document, StandardIndexRecordFields.PROJECT_NAME,
rec.getProjectName() );
addTokenizedField( document,
StandardIndexRecordFields.PROJECT_DESCRIPTION, rec.getProjectDescription() );
+ if ( rec.getDependencies() != null )
+ {
+ addTokenizedField( document,
StandardIndexRecordFields.DEPENDENCIES,
+ StringUtils.join(
rec.getDependencies().iterator(), "\n" ) );
+ }
+ if ( rec.getDevelopers() != null )
+ {
+ addTokenizedField( document, StandardIndexRecordFields.DEVELOPERS,
+ StringUtils.join(
rec.getDevelopers().iterator(), "\n" ) );
+ }
/* TODO: add later
document.add( Field.Keyword(
StandardIndexRecordFields.FLD_LICENSE_URLS, "" ) );
- document.add( Field.Keyword(
StandardIndexRecordFields.FLD_DEPENDENCIES, "" ) );
document.add( Field.Keyword(
StandardIndexRecordFields.FLD_PLUGINS_REPORT, "" ) );
document.add( Field.Keyword(
StandardIndexRecordFields.FLD_PLUGINS_BUILD, "" ) );
*/
@@ -110,6 +119,16 @@
if ( files != null )
{
record.setFiles( Arrays.asList( files.split( "\n" ) ) );
+ }
+ String dependencies = document.get(
StandardIndexRecordFields.DEPENDENCIES );
+ if ( dependencies != null )
+ {
+ record.setDependencies( Arrays.asList( dependencies.split( "\n" )
) );
+ }
+ String developers = document.get( StandardIndexRecordFields.DEVELOPERS
);
+ if ( developers != null )
+ {
+ record.setDevelopers( Arrays.asList( developers.split( "\n" ) ) );
}
record.setPluginPrefix( document.get(
StandardIndexRecordFields.PLUGIN_PREFIX ) );
record.setInceptionYear( document.get(
StandardIndexRecordFields.INCEPTION_YEAR ) );
Modified:
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecord.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecord.java?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecord.java
(original)
+++
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecord.java
Sat Aug 26 06:39:54 2006
@@ -96,6 +96,16 @@
*/
private String baseVersion;
+ /**
+ * A list of dependencies for the artifact, each a string of the form
<code>groupId:artifactId:version</code>.
+ */
+ private List dependencies;
+
+ /**
+ * A list of developers in the POM, each a string of the form
<code>id:name:email</code>.
+ */
+ private List developers;
+
public void setSha1Checksum( String sha1Checksum )
{
this.sha1Checksum = sha1Checksum;
@@ -164,6 +174,14 @@
{
return false;
}
+ if ( dependencies != null ? !dependencies.equals( that.dependencies )
: that.dependencies != null )
+ {
+ return false;
+ }
+ if ( developers != null ? !developers.equals( that.developers ) :
that.developers != null )
+ {
+ return false;
+ }
if ( files != null ? !files.equals( that.files ) : that.files != null )
{
return false;
@@ -228,6 +246,8 @@
result = 31 * result + ( classifier != null ? classifier.hashCode() :
0 );
result = 31 * result + ( type != null ? type.hashCode() : 0 );
result = 31 * result + ( files != null ? files.hashCode() : 0 );
+ result = 31 * result + ( developers != null ? developers.hashCode() :
0 );
+ result = 31 * result + ( dependencies != null ?
dependencies.hashCode() : 0 );
result = 31 * result + ( repository != null ? repository.hashCode() :
0 );
result = 31 * result + ( packaging != null ? packaging.hashCode() : 0
);
result = 31 * result + ( pluginPrefix != null ?
pluginPrefix.hashCode() : 0 );
@@ -335,5 +355,25 @@
public String getBaseVersion()
{
return baseVersion;
+ }
+
+ public void setDependencies( List dependencies )
+ {
+ this.dependencies = dependencies;
+ }
+
+ public void setDevelopers( List developers )
+ {
+ this.developers = developers;
+ }
+
+ public List getDevelopers()
+ {
+ return developers;
+ }
+
+ public List getDependencies()
+ {
+ return dependencies;
}
}
Modified:
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
(original)
+++
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
Sat Aug 26 06:39:54 2006
@@ -21,6 +21,8 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Developer;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
@@ -136,6 +138,7 @@
record.setLastModified( file.lastModified() );
record.setSize( file.length() );
record.setRepository( artifact.getRepository().getId() );
+
if ( files != null )
{
populateArchiveEntries( files, record, artifact.getFile()
);
@@ -196,12 +199,51 @@
record.setProjectDescription( pom.getDescription() );
record.setInceptionYear( pom.getInceptionYear() );
+ List dependencies = populateDependencies( pom.getDependencies() );
+ if ( !dependencies.isEmpty() )
+ {
+ record.setDependencies( dependencies );
+ }
+ List developers = populateDevelopers( pom.getDevelopers() );
+ if ( !developers.isEmpty() )
+ {
+ record.setDevelopers( developers );
+ }
+
/* TODO: fields for later
indexPlugins( doc, FLD_PLUGINS_BUILD,
pom.getBuild().getPlugins().iterator() );
indexReportPlugins( doc, FLD_PLUGINS_REPORT,
pom.getReporting().getPlugins().iterator() );
- record.setDependencies( dependencies );
record.setLicenses( licenses );
*/
+ }
+
+ private List populateDependencies( List dependencies )
+ {
+ List convertedDependencies = new ArrayList();
+
+ for ( Iterator i = dependencies.iterator(); i.hasNext(); )
+ {
+ Dependency dependency = (Dependency) i.next();
+
+ convertedDependencies.add(
+ dependency.getGroupId() + ":" + dependency.getArtifactId() +
":" + dependency.getVersion() );
+ }
+
+ return convertedDependencies;
+ }
+
+ private List populateDevelopers( List developers )
+ {
+ List convertedDevelopers = new ArrayList();
+
+ for ( Iterator i = developers.iterator(); i.hasNext(); )
+ {
+ Developer developer = (Developer) i.next();
+
+ convertedDevelopers.add( developer.getId() + ":" +
developer.getName() + ":" + developer.getEmail() );
+ }
+
+ return convertedDevelopers;
}
private Model readPom( Artifact artifact, ArtifactRepository repository )
Modified:
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardIndexRecordFields.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardIndexRecordFields.java?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardIndexRecordFields.java
(original)
+++
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardIndexRecordFields.java
Sat Aug 26 06:39:54 2006
@@ -70,6 +70,10 @@
public static final String PROJECT_DESCRIPTION = "projectDesc";
+ public static final String DEVELOPERS = "developers";
+
+ public static final String DEPENDENCIES = "dependencies";
+
private StandardIndexRecordFields()
{
// No touchy!
Modified:
maven/archiva/trunk/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java
(original)
+++
maven/archiva/trunk/archiva-indexer/src/test/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactoryTest.java
Sat Aug 26 06:39:54 2006
@@ -28,7 +28,9 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
/**
@@ -52,6 +54,10 @@
private static final List JAR_FILE_LIST =
Arrays.asList( new String[]{"META-INF/MANIFEST.MF", "A.class",
"b/B.class", "b/c/C.class"} );
+ private static final String JUNIT_DEPENDENCY = "junit:junit:3.8.1";
+
+ private static final String PLUGIN_API_DEPENDENCY =
"org.apache.maven:maven-plugin-api:2.0";
+
protected void setUp()
throws Exception
{
@@ -145,6 +151,8 @@
expectedRecord.setRepository( "test" );
expectedRecord.setPackaging( "jar" );
expectedRecord.setProjectName( "Test JAR and POM" );
+ expectedRecord.setDependencies( createDependencies() );
+ expectedRecord.setDevelopers( createDevelopers() );
assertEquals( "check record", expectedRecord, record );
}
@@ -173,6 +181,8 @@
expectedRecord.setPackaging( "jar" );
expectedRecord.setProjectName( "Test JAR and POM" );
expectedRecord.setClassifier( "jdk14" );
+ expectedRecord.setDependencies( createDependencies() );
+ expectedRecord.setDevelopers( createDevelopers() );
assertEquals( "check record", expectedRecord, record );
}
@@ -202,6 +212,7 @@
expectedRecord.setProjectName( "Child Project" );
expectedRecord.setProjectDescription( "Description" );
expectedRecord.setInceptionYear( "2005" );
+ expectedRecord.setDependencies( Collections.singletonList(
JUNIT_DEPENDENCY ) );
assertEquals( "check record", expectedRecord, record );
}
@@ -289,6 +300,7 @@
expectedRecord.setPackaging( "maven-plugin" );
expectedRecord.setProjectName( "Maven Mojo Archetype" );
expectedRecord.setPluginPrefix( "test" );
+ expectedRecord.setDependencies( Arrays.asList( new
String[]{JUNIT_DEPENDENCY, PLUGIN_API_DEPENDENCY} ) );
assertEquals( "check record", expectedRecord, record );
}
@@ -412,5 +424,20 @@
artifact.setFile( new File( repository.getBasedir(),
repository.pathOf( artifact ) ) );
artifact.setRepository( repository );
return artifact;
+ }
+
+ private static List createDevelopers()
+ {
+ List developers = new ArrayList();
+ developers.add( "brett:Brett Porter:[EMAIL PROTECTED]" );
+ return developers;
+ }
+
+ private static List createDependencies()
+ {
+ List dependencies = new ArrayList();
+ dependencies.add( JUNIT_DEPENDENCY );
+ dependencies.add( "org.apache.maven:maven-project:2.0" );
+ return dependencies;
}
}
Modified:
maven/archiva/trunk/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-jar-and-pom/1.0-alpha-1/test-jar-and-pom-1.0-alpha-1.pom
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-jar-and-pom/1.0-alpha-1/test-jar-and-pom-1.0-alpha-1.pom?rev=437165&r1=437164&r2=437165&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-jar-and-pom/1.0-alpha-1/test-jar-and-pom-1.0-alpha-1.pom
(original)
+++
maven/archiva/trunk/archiva-indexer/src/test/managed-repository/org/apache/maven/archiva/record/test-jar-and-pom/1.0-alpha-1/test-jar-and-pom-1.0-alpha-1.pom
Sat Aug 26 06:39:54 2006
@@ -23,10 +23,25 @@
<name>Test JAR and POM</name>
<dependencies>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
+ <developers>
+ <developer>
+ <id>brett</id>
+ <name>Brett Porter</name>
+ <email>[EMAIL PROTECTED]</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
</project>