changeset 49:666a1c41ce51

Package up binaries
author Chris Cannam
date Thu, 07 Aug 2014 19:17:03 +0100
parents 8d8d532400b8
children fdc60bb03d1b
files SCRIPTS/process.sh
diffstat 1 files changed, 52 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/SCRIPTS/process.sh	Thu Aug 07 16:29:01 2014 +0100
+++ b/SCRIPTS/process.sh	Thu Aug 07 19:17:03 2014 +0100
@@ -137,12 +137,15 @@
 fi
 
 reportdir="REPORTS/$platform$bits"
-mkdir -p "$reportdir" || exit 1
+packagedir="PACKAGES/$platform$bits"
+
+mkdir -p "$reportdir" "$packagedir" || exit 1
 
 built="/tmp/built.$$.txt"
 testfailed="/tmp/testfailed.$$.txt"
 envcheckfailed="/tmp/envcheckfailed.$$.txt"
 notbuilt="/tmp/notbuilt.$$.txt"
+
 trap 'rm -f "$built" "$envcheckfailed" "$testfailed" "$notbuilt"' 0
 touch "$built" "$envcheckfailed" "$testfailed" "$notbuilt"
 
@@ -475,6 +478,49 @@
     fi
 }
 
+vcs_id() {
+    dir="$1"
+    ( cd "$dir" ;
+	if [ -d .hg ]; then
+	    hg id | awk '{ print $1; }'
+	elif [ -d .git ]; then
+	    git rev-parse --short HEAD
+	elif [ -d .svn ]; then
+	    svn info | grep ^Revision | awk '{ print $2; }'
+	else
+	    echo "unknown"
+	fi
+    )
+}
+
+package() {
+    dir="$1"
+    id=$(vcs_id "$dir")
+    pdir="$packagedir/$dir-$platform$bits-$id"
+    mkdir -p "$pdir"
+    ( cd "$dir" ; 
+	cp -av \
+	    *"$pluginext" \
+	    *.cat \
+	    *.n3 \
+	    *.ttl \
+	    [Rr][Ee][Aa][Dd][Mm][Ee]* \
+	    [Cc][Oo][Pp][Yy][Ii][Nn][Gg]* \
+	    [Ll][Ii][Cc][Ee][Nn][CcSs][Ee]* \
+	    [Cc][Ii][Tt][Aa][Tt][Ii][Oo][Nn]* \
+	    [Cc][Hh][Aa][Nn][Gg][Ee][Ll][Oo][Gg]* \
+	    ../"$pdir"/
+	)
+    ( cd "$packagedir";
+	if [ "$platform" = "mingw" ]; then
+	    zip "$dir-$id".zip "$dir-$id"
+	else
+	    tar cvjf "$dir-$id".tar.bz2 "$dir-$id"
+	fi;
+	rm -rf "$dir-$id"
+    )
+}
+
 if ! build_or_rebuild "vamp-plugin-sdk"; then 
     echo "Failed to build Vamp plugin SDK!"
     exit 1
@@ -517,8 +563,12 @@
     cat /dev/null > "$slog"
 done
 
+cat "$built" | while read dir; do
+    package "$dir"
+done
+
 echo
-echo "** Successfully built, tested, and checked:"
+echo "** Built, tested, checked, and packaged:"
 cat "$built" | while read dir; do
     slog=$(logfile_for summary "$dir")
     if ! grep -q "^$dir\$" "$testfailed"; then