aboutsummaryrefslogtreecommitdiff
path: root/build/tools
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2009-05-07 21:58:22 +0200
committerDavid 'Digit' Turner <digit@google.com>2009-05-07 21:58:22 +0200
commitc8906b0ac264f8a5f07849c760b4d9fc60789c94 (patch)
tree90c7b683befaf73c48528a2eaa1d929b4ac5646e /build/tools
parent88ac246e9be90699ab2580c59ec825822c161608 (diff)
downloadndk-c8906b0ac264f8a5f07849c760b4d9fc60789c94.tar.gz
Add a release packaging script
Diffstat (limited to 'build/tools')
-rwxr-xr-xbuild/tools/make-release.sh76
1 files changed, 76 insertions, 0 deletions
diff --git a/build/tools/make-release.sh b/build/tools/make-release.sh
new file mode 100755
index 000000000..27753638f
--- /dev/null
+++ b/build/tools/make-release.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# This script is used to build complete Android NDK release packages
+# from the git repository and a set of prebuilt cross-toolchain tarballs
+#
+
+# location of the root ndk directory. we assume this script is under build/tools
+NDK_ROOT_DIR=`dirname $0`/../..
+NDK_ROOT_DIR=`cd $NDK_ROOT_DIR && pwd`
+
+# the release name
+RELEASE=1.5_r1
+
+# the directory containing the prebuilt toolchain tarballs
+PREBUILT_DIR=/home/digit/android/ndk
+
+# the prefix of prebuilt toolchain tarballs in $PREBUILT_DIR
+PREBUILT_PREFIX=android-ndk-prebuilt-20090323
+
+# the list of supported host development systems
+PREBUILT_SYSTEMS="linux-x86 linux-x86_64 darwin-x86 windows"
+
+# the list of git files to copy into the archives
+GIT_FILES=`cd $NDK_ROOT_DIR && git-ls-files`
+
+# temporary directory used for packaging
+TMPDIR=/tmp/ndk-release
+
+RELEASE_PREFIX=android-ndk-$RELEASE
+
+rm -rf $TMPDIR && mkdir -p $TMPDIR
+
+# first create the reference ndk directory from the git reference
+echo "Creating reference from git files"
+REFERENCE=$TMPDIR/reference &&
+mkdir -p $REFERENCE &&
+for ff in $GIT_FILES; do install -pD $ff $REFERENCE/$ff; done &&
+rm -f $REFERENCE/Android.mk
+if [ $? != 0 ] ; then
+ echo "Could not create git reference. Aborting."
+ exit 2
+fi
+
+# now, for each system, create a preview package
+#
+for SYSTEM in $PREBUILT_SYSTEMS; do
+ echo "Preparing package for system $SYSTEM."
+ BIN_RELEASE=$RELEASE_PREFIX-$SYSTEM
+ PREBUILT=$PREBUILT_DIR/$PREBUILT_PREFIX-$SYSTEM
+ DSTDIR=$TMPDIR/$RELEASE_PREFIX
+ rm -rf $DSTDIR && mkdir -p $DSTDIR &&
+ cp -rp $REFERENCE/* $DSTDIR
+ if [ $? != 0 ] ; then
+ echo "Could not copy reference. Aborting."
+ exit 2
+ fi
+ echo "Unpacking $PREBUILT.tar.bz2"
+ (cd $DSTDIR && tar xjf $PREBUILT.tar.bz2)
+ if [ $? != 0 ] ; then
+ echo "Could not unpack prebuilt for system $SYSTEM. Aborting."
+ exit 1
+ fi
+ echo "Creating $BIN_RELEASE.tar.bz2"
+ (cd $TMPDIR && tar cjf $BIN_RELEASE.tar.bz2 $RELEASE_PREFIX && rm -rf $DSTDIR)
+ if [ $? != 0 ] ; then
+ echo "Could not create archive. Aborting."
+ exit 1
+ fi
+done
+
+echo "Cleaning up."
+rm -rf $TMPDIR/reference
+
+echo "Done, please see packages in $TMPDIR:"
+ls -l $TMPDIR
+