Statistics
| Branch: | Tag: | Revision:

orfox / jenkins-build @ f02187c1

History | View | Annotate | Download (2.34 KB)

1
#!/bin/sh
2
#
3
# this is the script run by the Jenkins server to run the build and tests.  Be
4
# sure to always run it in its dir, i.e. ./run-tests.sh, otherwise it might
5
# remove things that you don't want it to.
6

    
7
if [ `dirname $0` != "." ]; then
8
    echo "only run this script like ./`basename $0`"
9
    exit
10
fi
11

    
12
if [ -z $WORKSPACE ]; then
13
    WORKSPACE=`pwd`
14
fi
15

    
16
if [ -z $ANDROID_HOME ]; then
17
    if [ -e ~/.android/bashrc ]; then
18
        . ~/.android/bashrc
19
    else
20
        echo "ANDROID_HOME must be set!"
21
        exit
22
    fi
23
fi
24

    
25
if [ -z $ANDROID_NDK_HOME ]; then
26
    if which ndk-build 2>&1 /dev/null; then
27
        ANDROID_NDK_HOME=`which ndk-build |  sed 's,/ndk-build,,'`
28
    else
29
        echo "ANDROID_NDK_HOME not set and 'ndk-build' not in PATH"
30
        exit
31
    fi
32
fi
33

    
34
export NDK_BASE=${ANDROID_NDK_HOME}-r8e
35
if [ ! -e $NDK_BASE ]; then
36
    echo "Mozilla requires the use of Android NDK r8e only"
37
    echo "This script expects it at $NDK_BASE"
38
    exit 1
39
fi
40

    
41
set -e
42
set -x
43

    
44
# standardize timezone to reduce build differences
45
export TZ=UTC
46

    
47
# set the mozconfig to be used
48
cd $WORKSPACE
49
export MOZCONFIG="$WORKSPACE/external/tor-browser/.mozconfig-orfox"
50

    
51
# switch to gecko dev and build
52
cd external/tor-browser
53
./mach configure
54
./mach build
55

    
56
# Need to add in add-ons before the package step
57
mkdir -p obj-tbb-arm-linux-androideabi/dist/bin/distribution/extensions/
58
cp -r $WORKSPACE/external/orfox-addons/* obj-tbb-arm-linux-androideabi/dist/bin/distribution/extensions/
59

    
60

    
61
# reset version code/name to current date
62
versionCodeDate=`date '+%s'`
63
versionNameDate=`date +%Y-%m-%d_%H.%M.%S`
64

    
65
# THIS VERSIONING CAN BE USED FOR ALPHA, ANOTHER TYPE CAN BE USED FOR BETA AND RELEASE
66
cat $WORKSPACE/external/tor-browser/obj-tbb-arm-linux-androideabi/mobile/android/base/AndroidManifest.xml | sed \
67
    -e "s,android:versionCode=\"[0-9][0-9]*\",android:versionCode=\"$versionCodeDate\"," \
68
    -e "s,android:versionName=\"\([^\"][^\"]*\)\",android:versionName=\"\1-esr-Orfox-0.0.1-$versionNameDate\"," \
69
    > $WORKSPACE/external/tor-browser/tempManifest.xml
70
mv $WORKSPACE/external/tor-browser/tempManifest.xml $WORKSPACE/external/tor-browser/obj-tbb-arm-linux-androideabi/mobile/android/base/AndroidManifest.xml
71

    
72

    
73
./mach package
74
./mach build-backend -b AndroidEclipse
75

    
76
#------------------------------------------------------------------------------#
77
# run local tests
78
cd $WORKSPACE/tests
79
./run-tests.sh