aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android-chromium-gcc-armv7.yaml28
-rwxr-xr-xandroid-chromium/chromium-build.sh74
2 files changed, 101 insertions, 1 deletions
diff --git a/android-chromium-gcc-armv7.yaml b/android-chromium-gcc-armv7.yaml
index 26d1c091d9..b955b11e85 100644
--- a/android-chromium-gcc-armv7.yaml
+++ b/android-chromium-gcc-armv7.yaml
@@ -15,6 +15,10 @@
days-to-keep: 60
num-to-keep: 60
artifact-num-to-keep: 1
+ parameters:
+ - string:
+ name: ARGS
+ default: 'gcc_arm'
disabled: false
node: docker-xenial-chromium
display-name: 'Chromium apk Built with gcc for ARMv7'
@@ -27,10 +31,32 @@
- shell: |
#!/bin/bash
+ if [ ! -d "/home/buildslave/srv/${JOB_NAME}" ]; then
+ sudo mkdir -p /home/buildslave/srv/${JOB_NAME}
+ sudo chmod 777 /home/buildslave/srv/${JOB_NAME}
+ fi
+ cd /home/buildslave/srv/${JOB_NAME}
+
+ rm -rf configs
+ git clone https://git.linaro.org/ci/job/configs.git
+ ./configs/android-chromium/chromium-build.sh
+
+ # Publish
+ test -d ${HOME}/bin || mkdir ${HOME}/bin
+ wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
+ time python ${HOME}/bin/linaro-cp.py \
+ --api_version 3 \
+ --link-latest \
+ chromium/src/out/Default/apks \
+ android/${JOB_NAME}/${BUILD_NUMBER} \
+ --include "^[^/]+[._](img[^/]*|tar[^/]*|xml|sh|apk)$" \
+ --include "^[BHi][^/]+txt$" \
+ --include "^(MANIFEST|MD5SUMS)$"
+
echo "Build finished"
publishers:
- archive:
- artifacts: '*.xml,*.json'
+ artifacts: '*.xml, *.json'
- logparser:
parse-rules: 'Android Build'
unstable-on-warning: false
diff --git a/android-chromium/chromium-build.sh b/android-chromium/chromium-build.sh
new file mode 100755
index 0000000000..629a37da88
--- /dev/null
+++ b/android-chromium/chromium-build.sh
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+setup_depottools() {
+ sudo apt-get update
+ rm -rf depot_tools
+ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
+ export PATH=${PWD}/depot_tools:${PATH}
+}
+
+setup_chromium() {
+ mkdir chromium
+ cd chromium
+ fetch --nohooks android
+}
+
+sync_source() {
+ yes | gclient sync
+}
+
+install_deps() {
+ ./src/build/install-build-deps.sh --no-syms --no-chromeos-fonts --no-prompt
+ ./src/build/install-build-deps-android.sh --no-prompt
+ sudo update-java-alternatives --set java-1.7.0-openjdk-amd64
+}
+
+setup_buildenv() {
+ rm -rf out
+ case "${ARGS}" in
+ gcc_arm)
+ gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm\" is_debug=true is_component_build=true is_clang=false symbol_level=1 enable_incremental_javac=true"
+ ;;
+ gcc_arm64)
+ gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm64\" is_debug=true is_component_build=true is_clang=false symbol_level=1 enable_incremental_javac=true"
+ ;;
+ clang_arm)
+ gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm\" is_debug=true is_component_build=true is_clang=true symbol_level=1 enable_incremental_javac=true"
+ ;;
+ clang_arm6)
+ gn gen out/Default --args="target_os=\"android\" target_cpu=\"arm64\" is_debug=true is_component_build=true is_clang=true symbol_level=1 enable_incremental_javac=true"
+ ;;
+ esac
+}
+
+build_chromium() {
+ . build/android/envsetup.sh
+ ninja -C out/Default chrome_public_apk
+}
+
+apply_patches() {
+ cd ..
+ git clone http://android-review.linaro.org/chromium-patchsets
+ cd chromium-patchsets
+ pw=${PWD}
+ export patches=$(find . -iname "*.patch" | sort)
+ for patch in ${patches}; do echo "applying $patch"; project=$(dirname "${patch}"); cd ../src/"${project}";rm -rf .git/rebase-apply; git am "${pw}"/"${patch}"; cd -; done
+ cd ../src/
+ rm -rf "${pw}"
+}
+
+main() {
+ set -x
+ setup_depottools
+ setup_chromium
+ sync_source
+ install_deps
+ cd src
+ sync_source
+ apply_patches
+ setup_buildenv
+ echo ${PWD}
+ build_chromium
+}
+
+main "$@"