1 BUILDTHREADS=${BUILDTHREADS:-1}
2 SDK_VERSION=${SDK_VERSION:-"Default"}
3 Configuration=${Configuration:-"Default"}
4 XBMC_DEPENDS_ROOT=${XBMC_DEPENDS_ROOT:-"Default"}
5 PATH_CHANGE_REV_FILENAME=".last_success_revision"
6 #TARBALLS ENV-VAR is only used by android scripts atm
7 TARBALLS=${TARBALLS:-"/opt/xbmc-tarballs"}
10 #$XBMC_PLATFORM_DIR matches the platform subdirs!
11 case $XBMC_PLATFORM_DIR in
13 DEFAULT_SDK_VERSION=4.2
14 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
15 DEFAULT_CONFIGURATION="Debug"
19 DEFAULT_SDK_VERSION=4.2
20 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
21 DEFAULT_CONFIGURATION="Debug"
25 DEFAULT_SDK_VERSION=10.8
26 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
27 DEFAULT_CONFIGURATION="Debug"
31 DEFAULT_SDK_VERSION=10.8
32 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
33 DEFAULT_CONFIGURATION="Debug"
37 DEFAULT_SDK_VERSION="Default"
38 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
39 DEFAULT_CONFIGURATION="Debug"
43 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
44 DEFAULT_CONFIGURATION="Debug"
48 JENKINS_RBPI_DEVENV=/home/jenkins/rbpi-dev
49 DEFAULT_XBMC_DEPENDS_ROOT=$WORKSPACE/tools/depends/xbmc-depends
50 DEFAULT_CONFIGURATION="Debug"
54 if [ "$SDK_VERSION" == "Default" ]
56 SDK_VERSION=$DEFAULT_SDK_VERSION
59 if [ "$XBMC_DEPENDS_ROOT" == "Default" ]
61 XBMC_DEPENDS_ROOT=$DEFAULT_XBMC_DEPENDS_ROOT
64 if [ "$Configuration" == "Default" ]
66 Configuration=$DEFAULT_CONFIGURATION
69 #clamp release builds to 1 thread only
70 if [ "$Configuration" == "Release" ]
77 #hash a dir based on the git revision, SDK_PATH, NDK_PATH, SDK_VERSION, TOOLCHAIN TOOLCHAIN_X86 (for droidx86) and XBMC_DEPENDS_ROOT
78 function getBuildHash ()
83 hashStr="$(git rev-list HEAD --max-count=1 -- $checkPath)"
84 hashStr="$hashStr $SDK_PATH $NDK_PATH $SDK_VERSION $TOOLCHAIN $TOOLCHAIN_X86 $XBMC_DEPENDS_ROOT"
88 function pathChanged ()
93 #no optims in release builds!
94 if [ "$Configuration" == "Release" ]
101 if [ -e $checkPath/$PATH_CHANGE_REV_FILENAME ]
103 if [ "$(cat $checkPath/$PATH_CHANGE_REV_FILENAME)" != "$(getBuildHash $WORKSPACE/tools/depends)" ]
114 function tagSuccessFulBuild ()
118 echo "$(getBuildHash $checkPath)" > $checkPath/$PATH_CHANGE_REV_FILENAME
121 function getBranchName ()
124 branchName=`git symbolic-ref HEAD 2>/dev/null || echo detached`
126 if [ "$branchName" != "detached" ] # if we are not detached
128 #we are attached - use the branchname then
129 if echo $branchName | grep pr 2>&1 > /dev/null
131 #if this is a pull request branch - fetch the pr number and prefix with "PR"
132 #refs/heads/number/head
133 echo PR$(echo $branchName | awk '{gsub(".*/pr/","");print $1}' | awk '{gsub("/.*","");print $1}')
135 #if we are on a normal branch - fetch branchname
136 #refs/heads/branchname
137 echo $branchName | awk '{gsub(".*/","");print $1}'
140 #if we are in detached head state
141 #fetch the first non-pullrequest branch we can find with HEAD
142 git branch -r --contains HEAD | sed "/origin\/pr\//d" | head -n1 | awk '{gsub(".*/","");print $1}'
146 function getBuildRevDateStr ()
150 revStr=`git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}' 2>/dev/null`
153 #fetch the first branch containing head
154 revStr=$revStr"-"$(getBranchName)