You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2015/04/24 16:27:08 UTC
svn commit: r1675868 - /sling/trunk/tooling/release/sync_obr_with_dist.sh
Author: rombert
Date: Fri Apr 24 14:27:08 2015
New Revision: 1675868
URL: http://svn.apache.org/r1675868
Log:
SLING-2387 - OBR at http://sling.apache.org/obr/repository.xml is totally out of date
Added tooling/release/sync_obr_with_dist.sh
Added:
sling/trunk/tooling/release/sync_obr_with_dist.sh (with props)
Added: sling/trunk/tooling/release/sync_obr_with_dist.sh
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/release/sync_obr_with_dist.sh?rev=1675868&view=auto
==============================================================================
--- sling/trunk/tooling/release/sync_obr_with_dist.sh (added)
+++ sling/trunk/tooling/release/sync_obr_with_dist.sh Fri Apr 24 14:27:08 2015
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+if [ $# -ne 0 ]; then
+ echo "Usage: DIST_CHECKOUT=... SITE_CHECKOUT=... $0";
+ echo ""
+ echo "The DIST_CHECKOUT and SITE_CHECKOUT can also pe placed ~/.config/sling/checkouts.conf"
+ exit -1;
+fi
+
+if [ -f ~/.config/sling/checkouts.conf ]; then
+ . ~/.config/sling/checkouts.conf
+fi
+
+if [ -z $DIST_CHECKOUT ]; then
+ echo "DIST_CHECKOUT not set";
+ exit 1;
+fi
+
+if [ ! -d $DIST_CHECKOUT ]; then
+ echo "DIST_CHECKOUT ( $DIST_CHECKOUT ) is not a directory";
+ exit 1;
+fi
+
+if [ -z $SITE_CHECKOUT ]; then
+ echo "SITE_CHECKOUT not set";
+ exit 1;
+fi
+
+if [ ! -d $SITE_CHECKOUT ]; then
+ echo "SITE_CHECKOUT ( $SITE_CHECKOUT ) is not a directory";
+ exit 1;
+fi
+
+OBR_FILE=$SITE_CHECKOUT/trunk/content/obr/sling.xml
+
+if [ ! -f $OBR_FILE ]; then
+ echo "Did not find OBR repository file at ${OBR_FILE}";
+ exit 1;
+fi
+
+echo "Looking for bundles in $DIST_CHECKOUT";
+
+for POM_FILE in $(ls -1 $DIST_CHECKOUT/*.pom); do
+ # extract PACKAGING from pom ; not perfect
+ POM_FILE=$(basename $POM_FILE)
+ PACKAGING=$(cat $DIST_CHECKOUT/$POM_FILE | sed -rn 's/<(\/)?packaging>//pg' | tr -d ' \n');
+ # default to jar if not present
+ if [ "x$PACKAGING" = "x" ] ; then
+ PACKAGING=jar
+ fi
+
+ # OBR only makes sense for bundles
+ if [ $PACKAGING != "bundle" ]; then
+ continue;
+ fi
+
+ # get artifact base name, without extension
+ BASENAME=${POM_FILE%.pom}
+ JAR_FILE="${BASENAME}.jar"
+
+ # find dash which precedes the version
+ #VERSION_IDX=$(expr index $BASENAME '-[123456789]')
+ # extract version as 'the first dash followed by a digit'
+ VERSION=$(echo $BASENAME | grep -Eo "\-[0-9].*")
+ # clean version to remove the dash
+ VERSION=${VERSION:1}
+
+ VERSION_IDX=$(expr ${#BASENAME} - ${#VERSION})
+ ARTIFACT_ID="${BASENAME:0:($VERSION_IDX - 1)}"
+
+ # check for artifact presence in sling.xml
+ OBR_KEY="$ARTIFACT_ID/$VERSION"
+ ALREADY_EXISTS=$(grep -c $OBR_KEY $OBR_FILE)
+ if [ $ALREADY_EXISTS = 1 ]; then
+ # no need to process files already included
+ continue
+ fi
+
+ echo "Adding $OBR_KEY to $OBR_FILE"
+ mvn -q org.apache.felix:maven-bundle-plugin:deploy-file -Dfile=$DIST_CHECKOUT/$JAR_FILE -DpomFile=$DIST_CHECKOUT/$POM_FILE -DbundleUrl=http://repo1.maven.org/maven2/org/apache/sling/$ARTIFACT_ID-$VERSION.jar -Durl=file://$SITE_CHECKOUT/trunk/content/obr -DprefixUrl=http://repo1.maven.org/maven2 -DremoteOBR=sling.xml
+done
Propchange: sling/trunk/tooling/release/sync_obr_with_dist.sh
------------------------------------------------------------------------------
svn:executable = *