am f2b70ed: Add a release packaging script
Merge commit 'f2b70edc0d208c8932d9769c39de1b286de7a7a8' * commit 'f2b70edc0d208c8932d9769c39de1b286de7a7a8': Add a release packaging script
This commit is contained in:
committed by
The Android Open Source Project
commit
6fc0e7c6d7
76
ndk/build/tools/make-release.sh
Executable file
76
ndk/build/tools/make-release.sh
Executable file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user