diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml
index ca71b12d8..3d51bed4e 100644
--- a/archiva-modules/archiva-web/archiva-webapp/pom.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml
@@ -273,27 +273,6 @@
archiva-metadata-consumer
runtime
-
- org.apache.archiva
- archiva-lucene-consumers
-
-
- org.apache.lucene
- lucene-core
-
-
- org.apache.lucene
- lucene-queries
-
-
- org.apache.lucene
- lucene-memory
-
-
- org.apache.lucene
- lucene-highlighter
-
-
org.apache.archiva
stage-repository-merge
diff --git a/archiva-modules/plugins/metadata-store-cassandra/pom.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml
similarity index 98%
rename from archiva-modules/plugins/metadata-store-cassandra/pom.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml
index 07e066b26..77beb3547 100644
--- a/archiva-modules/plugins/metadata-store-cassandra/pom.xml
+++ b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/pom.xml
@@ -21,12 +21,13 @@
4.0.0
- plugins
+ metadata-store-provider
org.apache.archiva
3.0.0-SNAPSHOT
metadata-store-cassandra
- Archiva Core Plugins :: Cassandra Storage for Metadata
+ Archiva Metadata :: Store Provider :: Cassandra
+ Metadata Provider using Cassandra as backend
${project.parent.parent.basedir}
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraArchivaManager.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraRepositorySessionFactory.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraRepositorySessionFactory.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraRepositorySessionFactory.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraRepositorySessionFactory.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraArchivaManager.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ArtifactMetadataModel.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ColumnNames.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ColumnNames.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ColumnNames.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ColumnNames.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/MetadataFacetModel.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Namespace.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Namespace.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Namespace.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Namespace.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Project.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/ProjectVersionMetadataModel.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Repository.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Repository.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Repository.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/model/Repository.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/resources/META-INF/spring-context.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/resources/META-INF/spring-context.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/resources/META-INF/spring-context.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/resources/META-INF/spring-context.xml
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/resources/default-archiva-cassandra.properties b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/resources/default-archiva-cassandra.properties
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/main/resources/default-archiva-cassandra.properties
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/main/resources/default-archiva-cassandra.properties
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/test/filtered-resources/META-INF/spring-context.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/filtered-resources/META-INF/spring-context.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/test/filtered-resources/META-INF/spring-context.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/filtered-resources/META-INF/spring-context.xml
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepositoryTest.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/MockRepositoryStorage.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/MockRepositoryStorage.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/MockRepositoryStorage.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/MockRepositoryStorage.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/RepositoriesNamespaceTest.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/RepositoriesNamespaceTest.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/RepositoriesNamespaceTest.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/java/org/apache/archiva/metadata/repository/cassandra/RepositoriesNamespaceTest.java
diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/test/resources/log4j2-test.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/resources/log4j2-test.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-cassandra/src/test/resources/log4j2-test.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-cassandra/src/test/resources/log4j2-test.xml
diff --git a/archiva-modules/plugins/metadata-store-file/pom.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/pom.xml
similarity index 95%
rename from archiva-modules/plugins/metadata-store-file/pom.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-file/pom.xml
index 04ca69f9d..573b7d320 100644
--- a/archiva-modules/plugins/metadata-store-file/pom.xml
+++ b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/pom.xml
@@ -20,12 +20,13 @@
4.0.0
- plugins
+ metadata-store-provider
org.apache.archiva
3.0.0-SNAPSHOT
metadata-store-file
- Archiva Core Plugins :: File System Backed Metadata Repository
+ Archiva Metadata :: Store Provider :: File System
+ Metadata Provider based on file system
${project.parent.parent.basedir}
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileRepositorySessionFactory.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileRepositorySessionFactory.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileRepositorySessionFactory.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileRepositorySessionFactory.java
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/resources/META-INF/spring-context.xml b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/resources/META-INF/spring-context.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-file/src/main/resources/META-INF/spring-context.xml
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/main/resources/META-INF/spring-context.xml
diff --git a/archiva-modules/plugins/metadata-store-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
rename to archiva-modules/metadata/metadata-store-provider/metadata-store-file/src/test/java/org/apache/archiva/metadata/repository/file/FileMetadataRepositoryTest.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/pom.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/pom.xml
similarity index 97%
rename from archiva-modules/plugins/metadata-store-jcr/pom.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/pom.xml
index 20e3a895a..b764a33aa 100644
--- a/archiva-modules/plugins/metadata-store-jcr/pom.xml
+++ b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/pom.xml
@@ -21,12 +21,13 @@
4.0.0
- plugins
+ oak-jcr
org.apache.archiva
3.0.0-SNAPSHOT
metadata-store-jcr
- Archiva Core Plugins :: JCR Storage for Metadata
+ Archiva Metadata :: Store Provider :: JCR :: OAK
+ Metadata provider that uses JCR Oak as backend
${project.parent.parent.basedir}
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrConstants.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrConstants.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrConstants.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrConstants.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySession.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySession.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySession.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySession.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrRepositorySessionFactory.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/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/OakRepositoryFactory.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/OakRepositoryFactory.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/OakRepositoryFactory.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/OakRepositoryFactory.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/resources/META-INF/spring-context.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/META-INF/spring-context.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/resources/META-INF/spring-context.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/META-INF/spring-context.xml
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/jcr-schema.cnd b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/jcr-schema.cnd
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/jcr-schema.cnd
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/jcr-schema.cnd
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/repository.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/repository.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/repository.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/main/resources/org/apache/archiva/metadata/repository/jcr/repository.xml
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/filtered-resources/META-INF/spring-context.xml
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepositoryTest.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepositoryTest.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepositoryTest.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/stats/JcrRepositoryStatisticsGatheringTest.java b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/stats/JcrRepositoryStatisticsGatheringTest.java
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/stats/JcrRepositoryStatisticsGatheringTest.java
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/java/org/apache/archiva/metadata/repository/stats/JcrRepositoryStatisticsGatheringTest.java
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/repository.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/repository.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/repository.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/repository.xml
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/resources/artifacts.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/resources/artifacts.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/resources/artifacts.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/resources/artifacts.xml
diff --git a/archiva-modules/plugins/metadata-store-jcr/src/test/resources/log4j2-test.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/resources/log4j2-test.xml
similarity index 100%
rename from archiva-modules/plugins/metadata-store-jcr/src/test/resources/log4j2-test.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/metadata-store-jcr/src/test/resources/log4j2-test.xml
diff --git a/archiva-modules/plugins/oak-jcr-lucene/.gitignore b/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/.gitignore
similarity index 100%
rename from archiva-modules/plugins/oak-jcr-lucene/.gitignore
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/.gitignore
diff --git a/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/README.md b/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/README.md
new file mode 100644
index 000000000..360e87ffd
--- /dev/null
+++ b/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/README.md
@@ -0,0 +1,14 @@
+oak-jcr-lucene
+==============
+
+
+This module is only to provide the oak-lucene dependency with lucene shaded into a different
+java package.
+Jackrabbit Oak has dependencies to Apache Lucene 4, which is very old and merely out of support.
+
+We move the lucene dependencies to the package shaded_oak.org.apache.lucene to allow using
+a more recent version for Archiva.
+
+For some reason the oak-lucene (1.22.3) package is a fat jar that contains the lucene classes itself,
+therefore we are excluding the lucene dependencies in the pom.
+
diff --git a/archiva-modules/plugins/oak-jcr-lucene/pom.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/pom.xml
similarity index 93%
rename from archiva-modules/plugins/oak-jcr-lucene/pom.xml
rename to archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/pom.xml
index 63be95aff..7b96010f0 100644
--- a/archiva-modules/plugins/oak-jcr-lucene/pom.xml
+++ b/archiva-modules/metadata/metadata-store-provider/oak-jcr/oak-jcr-lucene/pom.xml
@@ -21,19 +21,22 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- plugins
+ oak-jcr
org.apache.archiva
3.0.0-SNAPSHOT
4.0.0
oak-jcr-lucene
+ Archiva Metadata :: Store Provider :: JCR :: Shaded OAK Lucene
+ This module shades the lucene dependencies of jcr oak to avoid version conflicts
org.apache.jackrabbit
oak-lucene
${jcr-oak.version}
+
org.apache.lucene
@@ -69,6 +72,8 @@
+
+
org.apache.jackrabbit
oak-api
@@ -110,6 +115,7 @@
dependency-reduced-pom.xml
+ README.md
diff --git a/archiva-modules/metadata/metadata-store-provider/oak-jcr/pom.xml b/archiva-modules/metadata/metadata-store-provider/oak-jcr/pom.xml
new file mode 100644
index 000000000..60c52c55b
--- /dev/null
+++ b/archiva-modules/metadata/metadata-store-provider/oak-jcr/pom.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+ metadata-store-provider
+ org.apache.archiva
+ 3.0.0-SNAPSHOT
+
+ 4.0.0
+
+ oak-jcr
+ Archiva Metadata :: Store Provider :: JCR :: Parent
+ Parent module for the JCR Provider
+ pom
+
+
+ oak-jcr-lucene
+ metadata-store-jcr
+
+
+
+
\ No newline at end of file
diff --git a/archiva-modules/metadata/metadata-store-provider/pom.xml b/archiva-modules/metadata/metadata-store-provider/pom.xml
new file mode 100644
index 000000000..fb174148d
--- /dev/null
+++ b/archiva-modules/metadata/metadata-store-provider/pom.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+ metadata
+ org.apache.archiva
+ 3.0.0-SNAPSHOT
+
+ 4.0.0
+
+ metadata-store-provider
+ pom
+ Archiva Metadata :: Store Provider
+
+
+ metadata-store-file
+ metadata-store-cassandra
+ oak-jcr
+
+
+
+
\ No newline at end of file
diff --git a/archiva-modules/metadata/pom.xml b/archiva-modules/metadata/pom.xml
index 10735d432..90eda551b 100644
--- a/archiva-modules/metadata/pom.xml
+++ b/archiva-modules/metadata/pom.xml
@@ -37,5 +37,6 @@
metadata-repository-api
metadata-statistics-api
test-repository
+ metadata-store-provider
\ No newline at end of file
diff --git a/archiva-modules/plugins/pom.xml b/archiva-modules/plugins/pom.xml
index b5d0712a6..a44a5117e 100644
--- a/archiva-modules/plugins/pom.xml
+++ b/archiva-modules/plugins/pom.xml
@@ -33,15 +33,11 @@
- metadata-store-file
repository-statistics
problem-reports
audit
stage-repository-merge
generic-metadata-support
- metadata-store-jcr
- metadata-store-cassandra
- oak-jcr-lucene