aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/pom.xml1
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/appserver-base/conf/repository.xml48
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/startup/ArchivaJcrRepositoryConfig.java55
-rwxr-xr-xarchiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml2
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/resources/org/apache/archiva/repository.xml (renamed from archiva-jetty/src/main/conf/repository.xml)0
5 files changed, 56 insertions, 50 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml
index bb1650e85..4926e8731 100644
--- a/archiva-modules/archiva-web/archiva-webapp/pom.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml
@@ -465,7 +465,6 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
- <scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/appserver-base/conf/repository.xml b/archiva-modules/archiva-web/archiva-webapp/src/appserver-base/conf/repository.xml
deleted file mode 100644
index 4cf264f3e..000000000
--- a/archiva-modules/archiva-web/archiva-webapp/src/appserver-base/conf/repository.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you 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.
- -->
-
-<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
- "http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
-
-<Repository>
- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
- <param name="path" value="${rep.home}/repository"/>
- </FileSystem>
- <Security appName="Jackrabbit">
- <SecurityManager class="org.apache.jackrabbit.core.security.simple.SimpleSecurityManager" workspaceName="security"/>
- <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"/>
- <LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule"/>
- </Security>
- <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
- <Workspace name="${wsp.name}">
- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
- <param name="path" value="${wsp.home}"/>
- </FileSystem>
- <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"/>
- <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
- <param name="path" value="${wsp.home}/index"/>
- </SearchIndex>
- </Workspace>
- <Versioning rootPath="${rep.home}/version">
- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
- <param name="path" value="${rep.home}/version"/>
- </FileSystem>
- <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.BundleFsPersistenceManager"/>
- </Versioning>
-</Repository>
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/startup/ArchivaJcrRepositoryConfig.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/startup/ArchivaJcrRepositoryConfig.java
new file mode 100644
index 000000000..9c414133a
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/archiva/web/startup/ArchivaJcrRepositoryConfig.java
@@ -0,0 +1,55 @@
+package org.apache.archiva.web.startup;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+import org.apache.jackrabbit.core.config.ConfigurationException;
+import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+
+/**
+ * @author Olivier Lamy
+ */
+public class ArchivaJcrRepositoryConfig
+{
+ public static RepositoryConfig create( String file, String home )
+ throws ConfigurationException
+ {
+ File homeFile = new File( home );
+ if ( !homeFile.exists( ) )
+ {
+ homeFile.mkdirs( );
+
+ }
+
+ File configurationFile = new File( file );
+ if ( !configurationFile.exists( ) )
+ {
+ String resourcePath = "org/apache/archiva/repository.xml";
+ LoggerFactory.getLogger( ArchivaJcrRepositoryConfig.class ).info(
+ "now repository.xml file in path {} so use default from resources path {}", file, resourcePath );
+ // use bundled repository.xml
+ return RepositoryConfig.create(
+ Thread.currentThread( ).getContextClassLoader( ).getResourceAsStream( resourcePath ), home );
+ }
+
+ return RepositoryConfig.create( file, home );
+ }
+}
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml
index 034abf343..13ffc0015 100755
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/META-INF/spring-context.xml
@@ -38,7 +38,7 @@
<bean id="jcr-repository" class="org.apache.jackrabbit.core.RepositoryImpl" destroy-method="shutdown" lazy-init="true">
<constructor-arg ref="jcr-config"/>
</bean>
- <bean id="jcr-config" class="org.apache.jackrabbit.core.config.RepositoryConfig" factory-method="create">
+ <bean id="jcr-config" class="org.apache.archiva.web.startup.ArchivaJcrRepositoryConfig" factory-method="create">
<constructor-arg value="${appserver.base}/conf/repository.xml"/>
<constructor-arg value="${appserver.base}/jcr"/>
</bean>
diff --git a/archiva-jetty/src/main/conf/repository.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/org/apache/archiva/repository.xml
index 4cf264f3e..4cf264f3e 100644
--- a/archiva-jetty/src/main/conf/repository.xml
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/org/apache/archiva/repository.xml