diff options
-rw-r--r-- | android-chromium-gcc-armv7.yaml | 28 | ||||
-rwxr-xr-x | android-chromium/chromium-build.sh | 74 |
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 "$@" |