Add new night build scripts
This commit is contained in:
parent
97e2cee178
commit
d250880799
7 changed files with 148 additions and 0 deletions
4
build-scripts/.gitignore
vendored
Normal file
4
build-scripts/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
builds/
|
||||
logs/
|
||||
osmand-git/
|
||||
osmand-hg/
|
44
build-scripts/build_branches.sh
Executable file
44
build-scripts/build_branches.sh
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/bin/sh
|
||||
DIRECTORY=$(cd `dirname $0` && pwd)
|
||||
|
||||
GIT_DIR="$DIRECTORY"/osmand-git
|
||||
GIT_ORIGIN_NAME=origin
|
||||
BUILD_DIR="$DIRECTORY"/builds
|
||||
VERSION_FILE=./DataExtractionOSM/src/net/osmand/Version.java
|
||||
DATE=$(date +%d-%m-%y)
|
||||
|
||||
# clean all files in build directory
|
||||
rm -r "$BUILD_DIR"
|
||||
mkdir "$BUILD_DIR"
|
||||
cd "${GIT_DIR}"
|
||||
|
||||
git branch -r | while read i
|
||||
do
|
||||
cd "${GIT_DIR}"
|
||||
ch=$(expr index "$i" ">")
|
||||
if [ $ch = 0 ]; then
|
||||
BRANCH=${i#"$GIT_ORIGIN_NAME/"}
|
||||
echo "Checkouting branch and create build for $BRANCH"
|
||||
## reset all previous changes in working tree
|
||||
git checkout .
|
||||
git checkout $BRANCH
|
||||
sed -e "s/\(APP_DESCRIPTION.*=.*\"\).*\(\".*\)/\1$DATE $BRANCH\2/g" $VERSION_FILE > ${VERSION_FILE}.bak
|
||||
mv ${VERSION_FILE}.bak ${VERSION_FILE}
|
||||
|
||||
## build map creator
|
||||
cd ./DataExtractionOSM/
|
||||
ant clean compile build
|
||||
mv build.zip "$BUILD_DIR/OsmAndMapCreator-$BRANCH-nb-$DATE.zip"
|
||||
|
||||
## build osmand app
|
||||
cd ../OsmAnd/
|
||||
cp "$DIRECTORY"/local.properties local.properties
|
||||
rm -r bin
|
||||
mkdir bin
|
||||
if [ ! -d assets ]; then
|
||||
mkdir assets
|
||||
fi
|
||||
ant clean debug
|
||||
mv bin/OsmAnd-debug.apk "$BUILD_DIR/OsmAnd-$BRANCH-nb-$DATE.apk"
|
||||
fi
|
||||
done
|
31
build-scripts/daily_build.sh
Executable file
31
build-scripts/daily_build.sh
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
DIRECTORY=$(cd `dirname $0` && pwd)
|
||||
|
||||
## VARIABLES ###
|
||||
LOG_DIR="$DIRECTORY"/logs
|
||||
DATE=$(date +%d-%m-%y)
|
||||
LOG_FILE="$LOG_DIR/${DATE}.log"
|
||||
|
||||
|
||||
mkdir $LOG_DIR
|
||||
# check build already run today
|
||||
if [ -e "$LOG_FILE" ]; then
|
||||
echo "Build already ran today"
|
||||
# exit
|
||||
fi
|
||||
touch $LOG_FILE
|
||||
|
||||
|
||||
# 1. Update git directory
|
||||
"${DIRECTORY}/update_git.sh" &> $LOG_FILE
|
||||
|
||||
# 2. Go through branches and generates builds
|
||||
"${DIRECTORY}/build_branches.sh" &> $LOG_FILE
|
||||
|
||||
# 3. upload to ftp server
|
||||
#"${DIRECTORY}/upload_ftp.sh" &> $LOG_FILE
|
||||
|
||||
# 4. Synchronize github with googlecode mercurial
|
||||
"${DIRECTORY}/sync_git_hg.sh" &> $LOG_FILE
|
||||
|
||||
|
12
build-scripts/local.properties
Normal file
12
build-scripts/local.properties
Normal file
|
@ -0,0 +1,12 @@
|
|||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must *NOT* be checked in Version Control Systems,
|
||||
# as it contains information specific to your local configuration.
|
||||
|
||||
# location of the SDK. This is only used by Ant
|
||||
# For customization when using a Version Control System, please read the
|
||||
# header note.
|
||||
sdk.dir=/home/victor/Projects/android-sdk-linux_86
|
||||
FTP_USER=osmand
|
||||
FTP_PWD=
|
19
build-scripts/sync_git_hg.sh
Executable file
19
build-scripts/sync_git_hg.sh
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
DIRECTORY=$(cd `dirname $0` && pwd)
|
||||
|
||||
GIT_DIR="$DIRECTORY"/osmand-git
|
||||
GIT_URL=git://github.com/osmandapp/Osmand.git
|
||||
GIT_ORIGIN_NAME=origin
|
||||
HG_DIR="$DIRECTORY"/osmand-hg
|
||||
HG_URL=https://osmand.googlecode.com/hg
|
||||
BUILD_DIR="$DIRECTORY"/builds
|
||||
|
||||
if [ ! -d "$HG_DIR" ]; then
|
||||
hg clone ${GIT_URL} "${HG_DIR}"
|
||||
fi
|
||||
cd "${HG_DIR}"
|
||||
hg pull "${GIT_URL}"
|
||||
hg push "${HG_URL}"
|
||||
|
||||
echo "Synchronization is ok"
|
||||
|
16
build-scripts/update_git.sh
Executable file
16
build-scripts/update_git.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
DIRECTORY=$(cd `dirname $0` && pwd)
|
||||
|
||||
GIT_DIR="$DIRECTORY"/osmand-git
|
||||
GIT_URL=git://github.com/osmandapp/Osmand.git
|
||||
GIT_ORIGIN_NAME=origin
|
||||
|
||||
# initialize git if it is not present (clone it)
|
||||
if [ ! -d "$GIT_DIR" ]; then
|
||||
git clone ${GIT_URL} "${GIT_DIR}"
|
||||
fi
|
||||
# update git
|
||||
cd "${GIT_DIR}"
|
||||
git checkout master
|
||||
git pull ${GIT_ORIGIN_NAME}
|
||||
|
22
build-scripts/upload_ftp.sh
Executable file
22
build-scripts/upload_ftp.sh
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
DIRECTORY=$(cd `dirname $0` && pwd)
|
||||
|
||||
FTP_SITE=download.osmand.net
|
||||
FTP_FOLDER=night-builds
|
||||
# FTP_USER in local.properties
|
||||
# FTP_PWD= in local.properties
|
||||
BUILD_DIR="$DIRECTORY"/builds
|
||||
|
||||
. "$DIRECTORY"/local.properties
|
||||
# 3. upload to ftp server
|
||||
lftp -c open $FTP_USER,$FTP_PWD $FTP_SITE || ls $FTP_FOLDER || mirror -R $FTP_FOLDER $BUILD_DIR
|
||||
|
||||
ftp -n -v $FTP_SITE <<SCRIPT 2>&1
|
||||
quote USER $FTP_USER
|
||||
quote PASS $FTP_PWD
|
||||
cd $FTP_FOLDER
|
||||
ls
|
||||
quit
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue