You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2017/08/19 11:40:49 UTC

[09/31] archiva git commit: more progress on new maven indexer version

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
index 1f07c52..044ed87 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
@@ -25,10 +25,6 @@ import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
 import org.apache.archiva.common.plexusbridge.MavenIndexerUtils;
 import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
-import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.TopDocs;
 import org.apache.maven.index.ArtifactInfo;
 import org.apache.maven.index.FlatSearchRequest;
 import org.apache.maven.index.FlatSearchResponse;
@@ -37,6 +33,12 @@ import org.apache.maven.index.NexusIndexer;
 import org.apache.maven.index.context.IndexingContext;
 import org.apache.maven.index.expr.SourcedSearchExpression;
 import org.apache.maven.index.expr.StringSearchExpression;
+import org.apache.maven.index.shaded.lucene.search.BooleanClause;
+import org.apache.maven.index.shaded.lucene.search.BooleanQuery;
+import org.apache.maven.index.shaded.lucene.search.IndexSearcher;
+import org.apache.maven.index.shaded.lucene.search.TopDocs;
+import org.apache.maven.index.updater.IndexUpdateRequest;
+import org.assertj.core.api.Assertions;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -54,6 +56,7 @@ import java.io.OutputStream;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.Set;
+import java.util.zip.GZIPInputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
@@ -70,10 +73,8 @@ public class ArchivaIndexingTaskExecutorTest
 
     private ManagedRepository repositoryConfig;
 
-    private NexusIndexer indexer;
-
     @Inject
-    PlexusSisuBridge plexusSisuBridge;
+    private NexusIndexer indexer;
 
     @Inject
     MavenIndexerUtils mavenIndexerUtils;
@@ -98,8 +99,6 @@ public class ArchivaIndexingTaskExecutorTest
         repositoryConfig.setSnapshots( false );
         repositoryConfig.setReleases( true );
 
-        indexer = plexusSisuBridge.lookup( NexusIndexer.class );
-
         managedRepositoryAdmin.createIndexContext( repositoryConfig );
     }
 
@@ -147,10 +146,10 @@ public class ArchivaIndexingTaskExecutorTest
 
         BooleanQuery q = new BooleanQuery();
         q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ),
-               Occur.SHOULD );
+               BooleanClause.Occur.SHOULD );
         q.add(
             indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ),
-            Occur.SHOULD );
+            BooleanClause.Occur.SHOULD );
 
         if ( !indexer.getIndexingContexts().containsKey( repositoryConfig.getId() ) )
         {
@@ -173,9 +172,9 @@ public class ArchivaIndexingTaskExecutorTest
         Set<ArtifactInfo> results = response.getResults();
 
         ArtifactInfo artifactInfo = results.iterator().next();
-        assertEquals( "org.apache.archiva", artifactInfo.groupId );
-        assertEquals( "archiva-index-methods-jar-test", artifactInfo.artifactId );
-        assertEquals( "test-repo", artifactInfo.repository );
+        assertEquals( "org.apache.archiva", artifactInfo.getGroupId() );
+        assertEquals( "archiva-index-methods-jar-test", artifactInfo.getArtifactId() );
+        assertEquals( "test-repo", artifactInfo.getRepository() );
 
     }
 
@@ -195,10 +194,10 @@ public class ArchivaIndexingTaskExecutorTest
 
         BooleanQuery q = new BooleanQuery();
         q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ),
-               Occur.SHOULD );
+               BooleanClause.Occur.SHOULD );
         q.add(
             indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ),
-            Occur.SHOULD );
+            BooleanClause.Occur.SHOULD );
 
         IndexingContext ctx = indexer.getIndexingContexts().get( repositoryConfig.getId() );
 
@@ -231,7 +230,7 @@ public class ArchivaIndexingTaskExecutorTest
 
         BooleanQuery q = new BooleanQuery();
         q.add( indexer.constructQuery( MAVEN.GROUP_ID, new SourcedSearchExpression( "org.apache.archiva" ) ),
-               Occur.SHOULD );
+               BooleanClause.Occur.SHOULD );
         //q.add(
         //    indexer.constructQuery( MAVEN.ARTIFACT_ID, new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ),
         //    Occur.SHOULD );
@@ -258,9 +257,10 @@ public class ArchivaIndexingTaskExecutorTest
 
         q = new BooleanQuery();
         q.add( indexer.constructQuery( MAVEN.GROUP_ID, new SourcedSearchExpression( "org.apache.archiva" ) ),
-               Occur.SHOULD );
+               BooleanClause.Occur.SHOULD );
         q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID,
-                                       new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ), Occur.SHOULD
+                                       new SourcedSearchExpression( "archiva-index-methods-jar-test" ) ),
+               BooleanClause.Occur.SHOULD
         );
 
         assertTrue( new File( repositoryConfig.getLocation(), ".indexer" ).exists() );
@@ -315,20 +315,26 @@ public class ArchivaIndexingTaskExecutorTest
         assertTrue( indexerDirectory.exists() );
 
         // test packed index file creation
-        assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.zip" ).exists() );
-        assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.properties" ).exists() );
-        assertTrue( new File( indexerDirectory, "nexus-maven-repository-index.gz" ).exists() );
+        //no more zip
+        //Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.zip" )).exists();
+        Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.properties" )).exists();
+        Assertions.assertThat(new File( indexerDirectory, "nexus-maven-repository-index.gz" )).exists();
 
         // unpack .zip index
         File destDir = new File( repositoryConfig.getLocation(), ".indexer/tmp" );
         unzipIndex( indexerDirectory.getPath(), destDir.getPath() );
 
+        TrackingFetcher fetcher = new TrackingFetcher( remoteRepo );
+        updateRequest = new IndexUpdateRequest( testContext, fetcher );
+        updateRequest.setLocalIndexCacheDir( localCacheDir );
+        updater.fetchAndUpdateIndex( updateRequest );
+
         BooleanQuery q = new BooleanQuery();
         q.add( indexer.constructQuery( MAVEN.GROUP_ID, new StringSearchExpression( "org.apache.archiva" ) ),
-               Occur.SHOULD );
+               BooleanClause.Occur.SHOULD );
         q.add(
             indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "archiva-index-methods-jar-test" ) ),
-            Occur.SHOULD );
+            BooleanClause.Occur.SHOULD );
 
         FlatSearchRequest request = new FlatSearchRequest( q, getIndexingContext() );
         FlatSearchResponse response = indexer.searchFlat( request );
@@ -336,42 +342,11 @@ public class ArchivaIndexingTaskExecutorTest
         Set<ArtifactInfo> results = response.getResults();
 
         ArtifactInfo artifactInfo = results.iterator().next();
-        assertEquals( "org.apache.archiva", artifactInfo.groupId );
-        assertEquals( "archiva-index-methods-jar-test", artifactInfo.artifactId );
-        assertEquals( "test-repo", artifactInfo.repository );
+        assertEquals( "org.apache.archiva", artifactInfo.getGroupId() );
+        assertEquals( "archiva-index-methods-jar-test", artifactInfo.getArtifactId() );
+        assertEquals( "test-repo", artifactInfo.getRepository() );
 
         assertEquals( 1, response.getTotalHits() );
     }
 
-    private void unzipIndex( String indexDir, String destDir )
-        throws IOException
-    {
-        final int buff = 2048;
-
-        Files.createDirectories( Paths.get( destDir ) );
-
-        try (InputStream fin = Files.newInputStream( Paths.get( indexDir, "nexus-maven-repository-index.zip" ) ))
-        {
-            ZipInputStream in = new ZipInputStream( new BufferedInputStream( fin ) );
-            ZipEntry entry;
-
-            while ( ( entry = in.getNextEntry() ) != null )
-            {
-                int count;
-                byte data[] = new byte[buff];
-                try (OutputStream fout = Files.newOutputStream( Paths.get( destDir, entry.getName() ) ))
-                {
-                    try (BufferedOutputStream out = new BufferedOutputStream( fout, buff ))
-                    {
-
-                        while ( ( count = in.read( data, 0, buff ) ) != -1 )
-                        {
-                            out.write( data, 0, count );
-                        }
-                    }
-                }
-            }
-
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
index 7e95b4f..c74c495 100644
--- a/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
+++ b/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/DownloadRemoteIndexTaskTest.java
@@ -23,13 +23,13 @@ import org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin;
 import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
 import org.apache.archiva.common.utils.FileUtil;
 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
 import org.apache.maven.index.FlatSearchRequest;
 import org.apache.maven.index.FlatSearchResponse;
 import org.apache.maven.index.MAVEN;
 import org.apache.maven.index.NexusIndexer;
 import org.apache.maven.index.expr.StringSearchExpression;
+import org.apache.maven.index.shaded.lucene.search.BooleanClause;
+import org.apache.maven.index.shaded.lucene.search.BooleanQuery;
 import org.eclipse.jetty.server.HttpConnectionFactory;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
@@ -75,8 +75,6 @@ public class DownloadRemoteIndexTaskTest
     DefaultDownloadRemoteIndexScheduler downloadRemoteIndexScheduler;
 
     @Inject
-    PlexusSisuBridge plexusSisuBridge;
-
     NexusIndexer nexusIndexer;
 
     @Before
@@ -90,7 +88,6 @@ public class DownloadRemoteIndexTaskTest
         this.server.start();
         this.port = serverConnector.getLocalPort();
         log.info( "start server on port {}", this.port );
-        nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.class );
     }
 
     protected void createContext( Server server, File repositoryDirectory )

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java
index f823042..1da71bc 100644
--- a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java
+++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/startup/ArchivaStartup.java
@@ -53,8 +53,6 @@ public class ArchivaStartup
 
     private DefaultRepositoryArchivaTaskScheduler repositoryTaskScheduler;
 
-    private PlexusSisuBridge plexusSisuBridge;
-
     private NexusIndexer nexusIndexer;
 
     @Override
@@ -74,18 +72,10 @@ public class ArchivaStartup
 
         tqeIndexing = wac.getBean( "taskQueueExecutor#indexing", ThreadedTaskQueueExecutor.class );
 
-        plexusSisuBridge = wac.getBean( PlexusSisuBridge.class );
+        nexusIndexer = wac.getBean( NexusIndexer.class );
 
         try
         {
-            nexusIndexer = plexusSisuBridge.lookup( NexusIndexer.class );
-        }
-        catch ( PlexusSisuBridgeException e )
-        {
-            throw new RuntimeException( "Unable to get NexusIndexer: " + e.getMessage(), e );
-        }
-        try
-        {
             securitySync.startup();
             repositoryTaskScheduler.startup();
             Banner.display( (String) archivaRuntimeProperties.get( "archiva.version" ) );

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/archiva-web/archiva-webdav/pom.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-webdav/pom.xml b/archiva-modules/archiva-web/archiva-webdav/pom.xml
index 044b964..1a28879 100644
--- a/archiva-modules/archiva-web/archiva-webdav/pom.xml
+++ b/archiva-modules/archiva-web/archiva-webdav/pom.xml
@@ -103,6 +103,10 @@
       <artifactId>spring-web</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.jackrabbit</groupId>
+      <artifactId>jackrabbit-webdav</artifactId>
+    </dependency>
+    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/maven2-repository/pom.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/maven2-repository/pom.xml b/archiva-modules/plugins/maven2-repository/pom.xml
index 4c97843..ab01552 100644
--- a/archiva-modules/plugins/maven2-repository/pom.xml
+++ b/archiva-modules/plugins/maven2-repository/pom.xml
@@ -277,7 +277,7 @@
         <executions>
           <execution>
             <id>test-repository</id>
-            <phase>generate-test-resources</phase>
+            <phase>process-test-classes</phase>
             <goals>
               <goal>unpack-dependencies</goal>
             </goals>

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/pom.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-jcr/pom.xml b/archiva-modules/plugins/metadata-store-jcr/pom.xml
index 94eba17..fc6976c 100644
--- a/archiva-modules/plugins/metadata-store-jcr/pom.xml
+++ b/archiva-modules/plugins/metadata-store-jcr/pom.xml
@@ -28,9 +28,6 @@
   <artifactId>metadata-store-jcr</artifactId>
   <packaging>bundle</packaging>
   <name>Archiva Core Plugins :: JCR Storage for Metadata</name>
-  <properties>
-    <jcr-oak.version>1.7.2</jcr-oak.version>
-  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva</groupId>
@@ -65,12 +62,10 @@
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-jcr</artifactId>
-      <version>${jcr-oak.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
       <artifactId>oak-segment-tar</artifactId>
-      <version>${jcr-oak.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
@@ -124,6 +119,7 @@
       <artifactId>xercesImpl</artifactId>
       <scope>test</scope>
     </dependency>
+
     <dependency>
       <groupId>org.apache.lucene</groupId>
       <artifactId>lucene-core</artifactId>
@@ -169,6 +165,7 @@
       <artifactId>lucene-analyzers-common</artifactId>
       <version>${lucene.version}</version>
     </dependency>
+
   </dependencies>
   <build>
     <testResources>

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
index 1c51dfc..ed86463 100644
--- a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
+++ b/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
@@ -36,6 +36,8 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -54,7 +56,6 @@ public class JcrRepositorySessionFactory
 
     private Map<String, MetadataFacetFactory> metadataFacetFactories;
 
-    @Inject
     private Repository repository;
 
     // Lazy evaluation to avoid problems with circular dependencies during initialization
@@ -123,6 +124,11 @@ public class JcrRepositorySessionFactory
         JcrMetadataRepository metadataRepository = null;
         try
         {
+            RepositoryFactory factory = new RepositoryFactory();
+            // FIXME this need to be configurable
+            Path directoryPath = Paths.get(System.getProperty( "appserver.base" ), "data/jcr");
+            factory.setRepositoryPath( directoryPath );
+            repository = factory.createRepository();
             metadataRepository = new JcrMetadataRepository( metadataFacetFactories, repository );
             JcrMetadataRepository.initialize( metadataRepository.getJcrSession() );
         }

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml b/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
index e3fa80b..c07cc52 100644
--- a/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
+++ b/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
@@ -19,8 +19,8 @@
   -->
 
 <beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
 
 </beans>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/archiva/blob/003d5794/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 48fbb9c..8d0e542 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,7 +77,9 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
     <lucene.version>4.10.4</lucene.version>
-    <jackrabbit.version>2.14.1</jackrabbit.version>
+
+    <jcr-oak.version>1.7.2</jcr-oak.version>
+    <jackrabbit.version>2.15.4</jackrabbit.version>
 
     <cxf.version>3.0.3</cxf.version>
     <derbyVersion>10.13.1.1</derbyVersion>
@@ -286,6 +288,36 @@
         <version>${project.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.jackrabbit</groupId>
+        <artifactId>oak-jcr</artifactId>
+        <version>${jcr-oak.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.jackrabbit</groupId>
+        <artifactId>oak-segment-tar</artifactId>
+        <version>${jcr-oak.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.jackrabbit</groupId>
+        <artifactId>oak-lucene</artifactId>
+        <version>${jcr-oak.version}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>org.apache.lucene</groupId>
+            <artifactId>lucene-misc</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.apache.lucene</groupId>
+            <artifactId>lucene-facet</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.jackrabbit</groupId>
+        <artifactId>jackrabbit-webdav</artifactId>
+        <version>${jackrabbit.version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.maven.indexer</groupId>
         <artifactId>indexer-reader</artifactId>
         <version>${maven.indexer.version}</version>