You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2018/11/23 06:19:45 UTC

[archiva-redback-core] 01/02: Changes for site git migration

This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch feature/site-git-migration
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git

commit 91c147513f3de7489d5ff924cf5eac8a96522237
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Sun Nov 11 10:02:27 2018 +0100

    Changes for site git migration
---
 addstage.sh                                        |  28 +++++
 checkoutSite.sh                                    | 135 +++++++++++++++++++++
 git-sparse-checkout-pattern                        |   1 +
 pom.xml                                            |  93 +++++++++++++-
 redback-authentication/pom.xml                     |   3 +
 .../redback-authentication-api/pom.xml             |   3 +
 .../redback-authentication-providers/pom.xml       |   3 +
 .../redback-authentication-ldap/pom.xml            |   1 +
 .../redback-authentication-memory/pom.xml          |   3 +
 .../redback-authentication-open/pom.xml            |   3 +
 .../redback-authentication-users/pom.xml           |   3 +
 redback-authorization/pom.xml                      |   3 +
 .../redback-authorization-api/pom.xml              |   3 +
 .../redback-authorization-providers/pom.xml        |   3 +
 .../redback-authorization-open/pom.xml             |   3 +
 .../redback-authorization-rbac/pom.xml             |   3 +
 redback-common/pom.xml                             |   3 +
 redback-common/redback-common-jpa/pom.xml          |   3 +
 redback-common/redback-common-ldap/pom.xml         |   3 +
 .../redback-common-test-resources/pom.xml          |   3 +
 redback-configuration/pom.xml                      |   3 +
 redback-data-management/pom.xml                    |   3 +
 redback-features/pom.xml                           |   1 +
 redback-integrations/pom.xml                       |   3 +
 .../redback-common-integrations/pom.xml            |   3 +
 .../redback-integrations-security/pom.xml          |   3 +
 redback-integrations/redback-rest/pom.xml          |   3 +
 .../redback-rest/redback-rest-api/pom.xml          |   1 +
 .../redback-rest/redback-rest-services/pom.xml     |   1 +
 redback-keys/pom.xml                               |   3 +
 redback-keys/redback-authentication-keys/pom.xml   |   3 +
 redback-keys/redback-keys-api/pom.xml              |   3 +
 redback-keys/redback-keys-providers/pom.xml        |   3 +
 .../redback-keys-cached/pom.xml                    |   3 +
 .../redback-keys-jpa/pom.xml                       |   3 +
 .../redback-keys-memory/pom.xml                    |   3 +
 redback-keys/redback-keys-tests/pom.xml            |   3 +
 redback-policy/pom.xml                             |   3 +
 redback-rbac/pom.xml                               |   3 +
 redback-rbac/redback-rbac-model/pom.xml            |   3 +
 redback-rbac/redback-rbac-providers/pom.xml        |   3 +
 .../redback-rbac-cached/pom.xml                    |   3 +
 .../redback-rbac-jpa/pom.xml                       |   3 +
 .../redback-rbac-ldap/pom.xml                      |   3 +
 .../redback-rbac-memory/pom.xml                    |   3 +
 redback-rbac/redback-rbac-role-manager/pom.xml     |   3 +
 redback-rbac/redback-rbac-tests/pom.xml            |   3 +
 redback-system/pom.xml                             |   3 +
 redback-users/pom.xml                              |   3 +
 redback-users/redback-users-api/pom.xml            |   3 +
 redback-users/redback-users-providers/pom.xml      |   3 +
 .../redback-users-cached/pom.xml                   |   3 +
 .../redback-users-configurable/pom.xml             |   3 +
 .../redback-users-jpa/pom.xml                      |   3 +
 .../redback-users-ldap/pom.xml                     |   3 +
 .../redback-users-memory/pom.xml                   |   3 +
 redback-users/redback-users-tests/pom.xml          |   3 +
 57 files changed, 402 insertions(+), 6 deletions(-)

diff --git a/addstage.sh b/addstage.sh
new file mode 100755
index 0000000..d88b5c4
--- /dev/null
+++ b/addstage.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+MP="$1"
+PL=$(echo "$MP" | sed -e 's#/# #g' -e 's/^\.//g')
+
+echo "$PL"
+STR="project"
+
+if [ -f "${MP}/pom.xml" ]; then
+  for DIR in $PL; do
+    STR="${STR}.parent"
+  done
+else
+  exit 0
+fi
+
+echo "$MP $PL"
+grep -q '<properties>' $MP/pom.xml
+if [ $? -eq 0 ]; then
+  sed -i -e 's#<properties>#<properties>\n    <site.staging.base>${'${STR}'.basedir}</site.staging.base>#g' $MP/pom.xml
+else
+  grep -q '<packaging>' $MP/pom.xml
+  if [ $? -eq 0 ]; then
+    sed -i -e 's#\(.*</packaging>.*\)#\1\n  <properties>\n    <site.staging.base>${'${STR}'.basedir}</site.staging.base>\n  </properties>#g' $MP/pom.xml
+  else
+    sed -i -e 's#\(.*</name>.*\)#\1\n  <properties>\n    <site.staging.base>${'${STR}'.basedir}</site.staging.base>\n  </properties>#g' $MP/pom.xml
+  fi
+fi
diff --git a/checkoutSite.sh b/checkoutSite.sh
new file mode 100755
index 0000000..5e582bd
--- /dev/null
+++ b/checkoutSite.sh
@@ -0,0 +1,135 @@
+#!/bin/bash
+#
+#  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.
+#
+#  Author: Martin Stockhammer <ma...@apache.org>
+#  Date:   2018-11-03
+#
+# This script runs a sparse git clone of a remote repository and
+# initializes the git configuration.
+#
+# It is mainly used for site content creation, because the main archiva-web-content repository
+# is rather large and we don't want to checkout the complete data.
+#
+
+SITE_DIR=".site-content"
+GIT_REMOTE=""
+
+GIT_USER=$(git config user.name)
+GIT_EMAIL=$(git config user.email)
+
+GIT_PATTERN_FILE="git-sparse-checkout-pattern"
+GIT_PATTERN_DEST=".git/info/sparse-checkout"
+
+MY_PWD=$(pwd)
+
+CLONE=1
+FORCE=1
+MODULE_DIR="${MY_PWD}"
+PATTERN=""
+while [ ! -z "$1" ]; do
+  case "$1" in
+    -f) 
+      FORCE=0
+      shift
+      ;;
+    -d)
+      shift
+      SITE_DIR="$1"
+      shift
+      ;;
+    -p)
+      shift
+      if [ -z "${PATTERN}" ]; then
+        PATTERN="${1}"
+      else
+        PATTERN="${PATTERN}\n${1}"
+      fi
+      shift
+      ;;
+    -m)
+      shift
+      MODULE_DIR="$1"
+      shift
+      ;;
+    *)
+      GIT_REMOTE="$1"
+      shift
+      ;; 
+  esac
+done
+
+print_usage() {
+  echo "checkoutRepo [-m MODULE_DIR] [-d SITE_DIR]  [-f] GIT_URL"
+  echo " -m: The module directory where the pattern file can be found and the site dir will be created."
+  echo " -d SITE_DIR: Use the given directory for checkout"
+  echo " -f: Force clone, even if directory exists"
+}
+
+if [ ! -f "${MODULE_DIR}/pom.xml" ]; then
+  echo "Looks like the working directory is not a valid dir. No pom.xml found."
+  exit 1
+fi
+
+cd "${MODULE_DIR}" || { echo "Could not change to module directory ${MODULE_DIR}"; exit 1; }
+
+if [ -z "$GIT_REMOTE" ]; then
+  print_usage
+  exit 1
+fi
+
+if [ "${GIT_REMOTE:0:8}" == "scm:git:" ]; then
+  GIT_REMOTE="${GIT_REMOTE:8}"
+fi
+
+
+if [ -d "${SITE_DIR}" ]; then
+  if [ ! -d "${SITE_DIR}/.git" ]; then
+    echo "Directory ${SITE_DIR} exist already, but is not a git clone. Aborting."
+    exit 1
+  elif [ "$FORCE" -eq 0 ]; then
+    CLONE=0
+  fi
+else
+  CLONE=0
+fi
+
+if [ $CLONE -eq 0 ]; then
+  git clone "${GIT_REMOTE}" "${SITE_DIR}" --no-checkout
+  if [ $? -ne 0 ]; then
+    echo "Git clone failed"
+    exit 1
+  fi
+fi
+
+cd "${SITE_DIR}" || { echo "Could not change to site dir ${SITE_DIR}"; exit 1; }
+
+git config core.sparsecheckout true
+git config user.name "${GIT_USER}"
+git config user.email "${GIT_EMAIL}"
+
+if [ ! -z "${PATTERN}" ]; then
+    echo -e "${PATTERN}" >"${GIT_PATTERN_DEST}"
+elif [ -f "../${GIT_PATTERN_FILE}" ]; then
+  cp "../${GIT_PATTERN_FILE}" "${GIT_PATTERN_DEST}"
+fi
+
+git checkout --
+
+cd "${MY_PWD}"
+
diff --git a/git-sparse-checkout-pattern b/git-sparse-checkout-pattern
new file mode 100644
index 0000000..405f944
--- /dev/null
+++ b/git-sparse-checkout-pattern
@@ -0,0 +1 @@
+/redback/core
diff --git a/pom.xml b/pom.xml
index aef3c43..7e6c46f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,11 +66,12 @@
   <distributionManagement>
     <site>
       <id>apache.website</id>
-      <url>file://${siteDeployDirectory}</url>
+      <url>${siteRepositoryUrl}</url>
     </site>
   </distributionManagement>
 
   <properties>
+    <site.staging.base>${project.basedir}</site.staging.base>
     <springVersion>4.3.10.RELEASE</springVersion>
     <slf4jVersion>1.7.25</slf4jVersion>
     <log4j2Version>2.8.2</log4j2Version>
@@ -87,10 +88,15 @@
      -->
     <redbackTestJdbcUrl>jdbc:hsqldb:mem:redback-test</redbackTestJdbcUrl>
     <redbackTestJdbcDriver>org.hsqldb.jdbcDriver</redbackTestJdbcDriver>
-    <siteDeployDirectory>${user.home}/archiva-sites/redback-core-site-deploy</siteDeployDirectory>
-    <scmPubCheckoutDirectory>${basedir}/.site-content</scmPubCheckoutDirectory>
-    
+
     <openjpa.Log>DefaultLevel=INFO,Runtime=ERROR,Tool=ERROR,SQL=ERROR,Schema=ERROR,MetaData=ERROR</openjpa.Log>
+
+    <scmPubCheckoutDirectory>${basedir}/.site-content</scmPubCheckoutDirectory>
+    <!-- The git repository, where the site content is placed -->
+    <siteRepositoryUrl>scm:git:https://gitbox.apache.org/repos/asf/archiva-web-content-INVALID.git</siteRepositoryUrl>
+
+    <site.staging.base>${project.basedir}</site.staging.base>
+
   </properties>
 
   <repositories>
@@ -659,7 +665,7 @@
             <useJava5>false</useJava5>
           </configuration>
         </plugin>
-        <plugin>
+<!--        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-scm-publish-plugin</artifactId>
           <configuration>
@@ -668,7 +674,7 @@
             <tryUpdate>true</tryUpdate>
             <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/archiva/site-content/redback/core</pubScmUrl>
           </configuration>
-        </plugin>
+        </plugin>-->
         <plugin>
           <groupId>org.apache.openjpa</groupId>
           <artifactId>openjpa-maven-plugin</artifactId>
@@ -679,6 +685,67 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-scm-publish-plugin</artifactId>
+        <inherited>false</inherited>
+        <configuration>
+          <checkinComment>Apache Archiva versioned module docs for ${project.version}</checkinComment>
+          <skipDeletedFiles>true</skipDeletedFiles>
+          <content>${project.build.directory}/staging/</content>
+          <tryUpdate>true</tryUpdate>
+          <!--
+                    <ignorePathsToDelete>
+                      <path>%regex[^(?!docs/).*$]</path>
+                    </ignorePathsToDelete>
+          -->
+        </configuration>
+        <executions>
+          <execution>
+            <id>scm-publish</id>
+            <phase>site-deploy</phase>
+            <goals>
+              <goal>publish-scm</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <inherited>false</inherited>
+        <configuration>
+          <skipDeploy>true</skipDeploy>
+          <stagingDirectory>${site.staging.base}/target/staging/redback/core/</stagingDirectory>
+        </configuration>
+        <executions>
+          <execution>
+            <id>attach-descriptor</id>
+            <goals>
+              <goal>attach-descriptor</goal>
+            </goals>
+          </execution>
+          <!--
+          <execution>
+            <id>site-generate-resources</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>site</goal>
+            </goals>
+          </execution>
+          -->
+          <execution>
+            <id>stage-for-scm-publish</id>
+            <phase>post-site</phase>
+            <goals>
+              <goal>stage</goal>
+            </goals>
+            <configuration>
+              <skipDeploy>false</skipDeploy>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
           <archive>
@@ -789,7 +856,17 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
         <version>${maven-project-info-reports-plugin.version}</version>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>index</report>
+              <report>team</report>
+              <report>licenses</report>
+            </reports>
+          </reportSet>
+        </reportSets>
       </plugin>
+      <!--
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-report-plugin</artifactId>
@@ -826,6 +903,7 @@
           </reportSet>
         </reportSets>
       </plugin>
+            -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
@@ -839,12 +917,15 @@
         <reportSets>
           <reportSet>
             <id>aggregate</id>
+            <inherited>false</inherited>
             <reports>
               <report>aggregate</report>
             </reports>
           </reportSet>
         </reportSets>
+
       </plugin>
+
     </plugins>
   </reporting>
 
diff --git a/redback-authentication/pom.xml b/redback-authentication/pom.xml
index f6e36ac..fd8f51f 100644
--- a/redback-authentication/pom.xml
+++ b/redback-authentication/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-authentication</artifactId>
   <name>Redback :: Authentication</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
diff --git a/redback-authentication/redback-authentication-api/pom.xml b/redback-authentication/redback-authentication-api/pom.xml
index ee2b53d..92efe61 100644
--- a/redback-authentication/redback-authentication-api/pom.xml
+++ b/redback-authentication/redback-authentication-api/pom.xml
@@ -28,6 +28,9 @@
 
   <artifactId>redback-authentication-api</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authentication API</name>
 
   <dependencies>
diff --git a/redback-authentication/redback-authentication-providers/pom.xml b/redback-authentication/redback-authentication-providers/pom.xml
index 50daae1..588ce28 100644
--- a/redback-authentication/redback-authentication-providers/pom.xml
+++ b/redback-authentication/redback-authentication-providers/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-authentication-providers</artifactId>
   <name>Redback :: Authentication Providers</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-authentication-open</module>
     <module>redback-authentication-memory</module>    
diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/pom.xml b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/pom.xml
index b7799ba..430f90b 100644
--- a/redback-authentication/redback-authentication-providers/redback-authentication-ldap/pom.xml
+++ b/redback-authentication/redback-authentication-providers/redback-authentication-ldap/pom.xml
@@ -32,6 +32,7 @@
   <name>Redback :: Authentication Provider :: Ldap</name>
 
   <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
     <apacheds.version>1.5.1</apacheds.version>
   </properties>
 
diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-memory/pom.xml b/redback-authentication/redback-authentication-providers/redback-authentication-memory/pom.xml
index f426bda..ba23789 100644
--- a/redback-authentication/redback-authentication-providers/redback-authentication-memory/pom.xml
+++ b/redback-authentication/redback-authentication-providers/redback-authentication-memory/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authentication-memory</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authentication Provider :: Memory</name>
 
   <dependencies>
diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-open/pom.xml b/redback-authentication/redback-authentication-providers/redback-authentication-open/pom.xml
index 9562fcd..7fb4678 100644
--- a/redback-authentication/redback-authentication-providers/redback-authentication-open/pom.xml
+++ b/redback-authentication/redback-authentication-providers/redback-authentication-open/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authentication-open</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authentication Provider :: Open</name>
 
   <dependencies>
diff --git a/redback-authentication/redback-authentication-providers/redback-authentication-users/pom.xml b/redback-authentication/redback-authentication-providers/redback-authentication-users/pom.xml
index cbcfedb..f2bc002 100644
--- a/redback-authentication/redback-authentication-providers/redback-authentication-users/pom.xml
+++ b/redback-authentication/redback-authentication-providers/redback-authentication-users/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authentication-users</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authentication Provider :: Users</name>
 
   <dependencies>
diff --git a/redback-authorization/pom.xml b/redback-authorization/pom.xml
index 3e57d12..395b4d3 100644
--- a/redback-authorization/pom.xml
+++ b/redback-authorization/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-authorization</artifactId>
   <name>Redback :: Authorization</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
diff --git a/redback-authorization/redback-authorization-api/pom.xml b/redback-authorization/redback-authorization-api/pom.xml
index 8678113..da79ffc 100644
--- a/redback-authorization/redback-authorization-api/pom.xml
+++ b/redback-authorization/redback-authorization-api/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authorization-api</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authorization API</name>
 
   <build>
diff --git a/redback-authorization/redback-authorization-providers/pom.xml b/redback-authorization/redback-authorization-providers/pom.xml
index a8c9a1a..9e7666c 100644
--- a/redback-authorization/redback-authorization-providers/pom.xml
+++ b/redback-authorization/redback-authorization-providers/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-authorization-providers</artifactId>
   <name>Redback :: Authorization Providers</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-authorization-rbac</module>
     <module>redback-authorization-open</module>
diff --git a/redback-authorization/redback-authorization-providers/redback-authorization-open/pom.xml b/redback-authorization/redback-authorization-providers/redback-authorization-open/pom.xml
index 29e96a0..f158e03 100644
--- a/redback-authorization/redback-authorization-providers/redback-authorization-open/pom.xml
+++ b/redback-authorization/redback-authorization-providers/redback-authorization-open/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authorization-open</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authorization Provider :: Open</name>
 
   <dependencies>
diff --git a/redback-authorization/redback-authorization-providers/redback-authorization-rbac/pom.xml b/redback-authorization/redback-authorization-providers/redback-authorization-rbac/pom.xml
index 6e95101..0d8b390 100644
--- a/redback-authorization/redback-authorization-providers/redback-authorization-rbac/pom.xml
+++ b/redback-authorization/redback-authorization-providers/redback-authorization-rbac/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-authorization-rbac</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authorization Provider :: RBAC</name>
 
   <dependencies>
diff --git a/redback-common/pom.xml b/redback-common/pom.xml
index 54df63b..11391a9 100644
--- a/redback-common/pom.xml
+++ b/redback-common/pom.xml
@@ -28,6 +28,9 @@
   <artifactId>redback-common</artifactId>
   <name>Redback :: Commons</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-common-ldap</module>
     <module>redback-common-test-resources</module>
diff --git a/redback-common/redback-common-jpa/pom.xml b/redback-common/redback-common-jpa/pom.xml
index a6aeb38..630b1d1 100644
--- a/redback-common/redback-common-jpa/pom.xml
+++ b/redback-common/redback-common-jpa/pom.xml
@@ -29,6 +29,9 @@
 
     <artifactId>redback-common-jpa</artifactId>
     <packaging>jar</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
     <name>Redback :: JPA Common Package</name>
 
     <dependencies>
diff --git a/redback-common/redback-common-ldap/pom.xml b/redback-common/redback-common-ldap/pom.xml
index 19ab65d..1872837 100644
--- a/redback-common/redback-common-ldap/pom.xml
+++ b/redback-common/redback-common-ldap/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-common-ldap</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Ldap Common API</name>
 
   <dependencies>
diff --git a/redback-common/redback-common-test-resources/pom.xml b/redback-common/redback-common-test-resources/pom.xml
index 8c136f7..02d3d11 100644
--- a/redback-common/redback-common-test-resources/pom.xml
+++ b/redback-common/redback-common-test-resources/pom.xml
@@ -27,5 +27,8 @@
 
   <artifactId>redback-common-test-resources</artifactId>
   <name>Redback :: Common TestResources</name>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
 
 </project>
diff --git a/redback-configuration/pom.xml b/redback-configuration/pom.xml
index f4f917f..b8e9332 100644
--- a/redback-configuration/pom.xml
+++ b/redback-configuration/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-configuration</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Configuration</name>
 
   <dependencies>
diff --git a/redback-data-management/pom.xml b/redback-data-management/pom.xml
index ac43d15..ec17c49 100644
--- a/redback-data-management/pom.xml
+++ b/redback-data-management/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-data-management</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Data Management Utilities</name>
   <description>Back up, restore and upgrade utilities for JDO databases using XML</description>
 
diff --git a/redback-features/pom.xml b/redback-features/pom.xml
index 2ec3457..7cf5d55 100644
--- a/redback-features/pom.xml
+++ b/redback-features/pom.xml
@@ -32,6 +32,7 @@
   <name>Redback :: Karaf Features</name>
 
   <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
     <javax-inject.bundle.version>1_2</javax-inject.bundle.version>
   </properties>
 
diff --git a/redback-integrations/pom.xml b/redback-integrations/pom.xml
index 0c6d9c5..69b351a 100644
--- a/redback-integrations/pom.xml
+++ b/redback-integrations/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-integrations</artifactId>
   <name>Redback :: Integrations</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <dependencyManagement>
     <dependencies>
       <dependency>
diff --git a/redback-integrations/redback-common-integrations/pom.xml b/redback-integrations/redback-common-integrations/pom.xml
index 391da8a..c32e6b5 100644
--- a/redback-integrations/redback-common-integrations/pom.xml
+++ b/redback-integrations/redback-common-integrations/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-common-integrations</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Integration :: Common</name>
 
   <dependencies> 
diff --git a/redback-integrations/redback-integrations-security/pom.xml b/redback-integrations/redback-integrations-security/pom.xml
index 68d6368..90c75a1 100644
--- a/redback-integrations/redback-integrations-security/pom.xml
+++ b/redback-integrations/redback-integrations-security/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-integrations-security</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Integration :: Security</name>
 
   <build>
diff --git a/redback-integrations/redback-rest/pom.xml b/redback-integrations/redback-rest/pom.xml
index 9027a98..5671e12 100644
--- a/redback-integrations/redback-rest/pom.xml
+++ b/redback-integrations/redback-rest/pom.xml
@@ -28,6 +28,9 @@
   <groupId>org.apache.archiva.redback</groupId>
   <artifactId>redback-rest</artifactId>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Integration :: REST</name>
   
   <modules>
diff --git a/redback-integrations/redback-rest/redback-rest-api/pom.xml b/redback-integrations/redback-rest/redback-rest-api/pom.xml
index 54fce0d..c98678d 100644
--- a/redback-integrations/redback-rest/redback-rest-api/pom.xml
+++ b/redback-integrations/redback-rest/redback-rest-api/pom.xml
@@ -33,6 +33,7 @@
   <name>Redback :: Integration :: REST :: Api</name>
 
   <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
     <enunciate.docsDir>${project.build.outputDirectory}/rest-docs-redback-rest-api</enunciate.docsDir>
   </properties>
 
diff --git a/redback-integrations/redback-rest/redback-rest-services/pom.xml b/redback-integrations/redback-rest/redback-rest-services/pom.xml
index b2e7dff..47f20f8 100644
--- a/redback-integrations/redback-rest/redback-rest-services/pom.xml
+++ b/redback-integrations/redback-rest/redback-rest-services/pom.xml
@@ -32,6 +32,7 @@
   <name>Redback :: Integration :: REST :: Services</name>
 
   <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
     <jetty.version>9.4.5.v20170502</jetty.version>
     <rest.test.timeout>1000000</rest.test.timeout>
   </properties>
diff --git a/redback-keys/pom.xml b/redback-keys/pom.xml
index d11289b..844a437 100644
--- a/redback-keys/pom.xml
+++ b/redback-keys/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-keys</artifactId>
   <name>Redback :: Key Management</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-keys-api</module>
     <module>redback-keys-providers</module>
diff --git a/redback-keys/redback-authentication-keys/pom.xml b/redback-keys/redback-authentication-keys/pom.xml
index 060f0e8..adeec60 100644
--- a/redback-keys/redback-authentication-keys/pom.xml
+++ b/redback-keys/redback-authentication-keys/pom.xml
@@ -30,6 +30,9 @@
 
   <artifactId>redback-authentication-keys</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Authentication Provider :: Keys</name>
 
   <dependencies>
diff --git a/redback-keys/redback-keys-api/pom.xml b/redback-keys/redback-keys-api/pom.xml
index 996fb62..90210ca 100644
--- a/redback-keys/redback-keys-api/pom.xml
+++ b/redback-keys/redback-keys-api/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-keys-api</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Key Management API</name>
 
   <dependencies>
diff --git a/redback-keys/redback-keys-providers/pom.xml b/redback-keys/redback-keys-providers/pom.xml
index 87d8131..9fabd2e 100644
--- a/redback-keys/redback-keys-providers/pom.xml
+++ b/redback-keys/redback-keys-providers/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-keys-providers</artifactId>
   <name>Redback :: Key Management Providers</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <modules>    
     <module>redback-keys-jpa</module>
     <module>redback-keys-memory</module>
diff --git a/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml b/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
index 70d0c43..78963b1 100644
--- a/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
+++ b/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-keys-cached</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Key Management Provider :: Cached</name>
 
   <dependencies>
diff --git a/redback-keys/redback-keys-providers/redback-keys-jpa/pom.xml b/redback-keys/redback-keys-providers/redback-keys-jpa/pom.xml
index 0e86fc2..d75c3c4 100644
--- a/redback-keys/redback-keys-providers/redback-keys-jpa/pom.xml
+++ b/redback-keys/redback-keys-providers/redback-keys-jpa/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-keys-jpa</artifactId>
   <packaging>jar</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Key Management Provider :: JPA</name>
 
   <dependencies>
diff --git a/redback-keys/redback-keys-providers/redback-keys-memory/pom.xml b/redback-keys/redback-keys-providers/redback-keys-memory/pom.xml
index 60e18c3..f79ab83 100644
--- a/redback-keys/redback-keys-providers/redback-keys-memory/pom.xml
+++ b/redback-keys/redback-keys-providers/redback-keys-memory/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-keys-memory</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Key Management Provider :: Memory</name>
 
   <dependencies>
diff --git a/redback-keys/redback-keys-tests/pom.xml b/redback-keys/redback-keys-tests/pom.xml
index 8bd2059..0734666 100644
--- a/redback-keys/redback-keys-tests/pom.xml
+++ b/redback-keys/redback-keys-tests/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-keys-tests</artifactId>
   <name>Redback :: Key Management Test Harness</name>
   <packaging>jar</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
diff --git a/redback-policy/pom.xml b/redback-policy/pom.xml
index cf6381f..a5098e9 100644
--- a/redback-policy/pom.xml
+++ b/redback-policy/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-policy</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Policy</name>
 
   <dependencies>
diff --git a/redback-rbac/pom.xml b/redback-rbac/pom.xml
index 54e7a1d..8696e38 100644
--- a/redback-rbac/pom.xml
+++ b/redback-rbac/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-rbac</artifactId>
   <name>Redback :: Role Based Access Control</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-rbac-model</module>
     <module>redback-rbac-providers</module>
diff --git a/redback-rbac/redback-rbac-model/pom.xml b/redback-rbac/redback-rbac-model/pom.xml
index ed6219a..bbdf94c 100644
--- a/redback-rbac/redback-rbac-model/pom.xml
+++ b/redback-rbac/redback-rbac-model/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-model</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Model</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-providers/pom.xml b/redback-rbac/redback-rbac-providers/pom.xml
index 53a34ab..a73baf0 100644
--- a/redback-rbac/redback-rbac-providers/pom.xml
+++ b/redback-rbac/redback-rbac-providers/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-rbac-providers</artifactId>
   <name>Redback :: RBAC Providers</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-rbac-jpa</module>
     <module>redback-rbac-memory</module>
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml b/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
index bbec63a..d773471 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-cached</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Provider :: Cached</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
index 41b689a..78c07f9 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-jpa</artifactId>
   <packaging>jar</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Provider :: JPA</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
index 1f8982d..86ce8ea 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-ldap</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Provider :: Ldap</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-memory/pom.xml b/redback-rbac/redback-rbac-providers/redback-rbac-memory/pom.xml
index 9649dd9..3c53250 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-memory/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-memory/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-memory</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Provider :: Memory</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-role-manager/pom.xml b/redback-rbac/redback-rbac-role-manager/pom.xml
index 26efd16..a320ed8 100644
--- a/redback-rbac/redback-rbac-role-manager/pom.xml
+++ b/redback-rbac/redback-rbac-role-manager/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-rbac-role-manager</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: RBAC Role Manager</name>
 
   <dependencies>
diff --git a/redback-rbac/redback-rbac-tests/pom.xml b/redback-rbac/redback-rbac-tests/pom.xml
index 1919292..81225fd 100644
--- a/redback-rbac/redback-rbac-tests/pom.xml
+++ b/redback-rbac/redback-rbac-tests/pom.xml
@@ -26,6 +26,9 @@
   </parent>
   <artifactId>redback-rbac-tests</artifactId>
   <name>Redback :: RBAC Test Framework</name>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
diff --git a/redback-system/pom.xml b/redback-system/pom.xml
index ef5a3f4..ee87391 100644
--- a/redback-system/pom.xml
+++ b/redback-system/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-system</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Core System</name>
 
   <dependencies>
diff --git a/redback-users/pom.xml b/redback-users/pom.xml
index 246f4fa..b854f53 100644
--- a/redback-users/pom.xml
+++ b/redback-users/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-users</artifactId>
   <name>Redback :: User Management</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.basedir}</site.staging.base>
+  </properties>
   <modules>
     <module>redback-users-api</module>
     <module>redback-users-providers</module>
diff --git a/redback-users/redback-users-api/pom.xml b/redback-users/redback-users-api/pom.xml
index d7e6d61..e304a36 100644
--- a/redback-users/redback-users-api/pom.xml
+++ b/redback-users/redback-users-api/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-users-api</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: User Management API</name>
 
   <dependencies>
diff --git a/redback-users/redback-users-providers/pom.xml b/redback-users/redback-users-providers/pom.xml
index d101c95..7889413 100644
--- a/redback-users/redback-users-providers/pom.xml
+++ b/redback-users/redback-users-providers/pom.xml
@@ -27,6 +27,9 @@
   <artifactId>redback-users-providers</artifactId>
   <name>Redback :: Users Providers</name>
   <packaging>pom</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.archiva.redback</groupId>
diff --git a/redback-users/redback-users-providers/redback-users-cached/pom.xml b/redback-users/redback-users-providers/redback-users-cached/pom.xml
index c099951..b1fbbd1 100644
--- a/redback-users/redback-users-providers/redback-users-cached/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-cached/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-users-cached</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Users Provider :: Cached</name>
 
   <dependencies>
diff --git a/redback-users/redback-users-providers/redback-users-configurable/pom.xml b/redback-users/redback-users-providers/redback-users-configurable/pom.xml
index e58ef72..475c869 100644
--- a/redback-users/redback-users-providers/redback-users-configurable/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-configurable/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-users-configurable</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Users Provider :: Configurable</name>
 
   <dependencies>
diff --git a/redback-users/redback-users-providers/redback-users-jpa/pom.xml b/redback-users/redback-users-providers/redback-users-jpa/pom.xml
index 2db35bb..239267d 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-jpa/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-users-jpa</artifactId>
   <packaging>jar</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Users Provider :: JPA</name>
 
   <dependencies>
diff --git a/redback-users/redback-users-providers/redback-users-ldap/pom.xml b/redback-users/redback-users-providers/redback-users-ldap/pom.xml
index 86d66c7..a59d78e 100644
--- a/redback-users/redback-users-providers/redback-users-ldap/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-ldap/pom.xml
@@ -29,6 +29,9 @@
   
   <artifactId>redback-users-ldap</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Users Provider :: LDAP</name>
   
   <dependencies>
diff --git a/redback-users/redback-users-providers/redback-users-memory/pom.xml b/redback-users/redback-users-providers/redback-users-memory/pom.xml
index 52f9ded..f854ce0 100644
--- a/redback-users/redback-users-providers/redback-users-memory/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-memory/pom.xml
@@ -29,6 +29,9 @@
 
   <artifactId>redback-users-memory</artifactId>
   <packaging>bundle</packaging>
+  <properties>
+    <site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base>
+  </properties>
   <name>Redback :: Users Provider :: Memory</name>
 
   <dependencies>
diff --git a/redback-users/redback-users-tests/pom.xml b/redback-users/redback-users-tests/pom.xml
index bc01f7e..5aecc23 100644
--- a/redback-users/redback-users-tests/pom.xml
+++ b/redback-users/redback-users-tests/pom.xml
@@ -26,6 +26,9 @@
   </parent>
   <artifactId>redback-users-tests</artifactId>
   <name>Redback :: User Tests</name>
+  <properties>
+    <site.staging.base>${project.parent.parent.basedir}</site.staging.base>
+  </properties>
 
   <dependencies>
     <dependency>