|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +# Copyright (C) 2018 Swift Navigation Inc. |
| 4 | +# Contact: Swift Navigation <dev@swiftnav.com> |
| 5 | +# |
| 6 | +# This source is subject to the license found in the file 'LICENSE' which must |
| 7 | +# be be distributed together with this source. All other rights reserved. |
| 8 | +# |
| 9 | +# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, |
| 10 | +# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED |
| 11 | +# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. |
| 12 | + |
| 13 | +set -euo pipefail |
| 14 | +IFS=$'\n\t' |
| 15 | + |
| 16 | +[[ -z "${DEBUG:-}" ]] || set -x |
| 17 | + |
| 18 | +DOCKER_NAMETAG=$(cat docker_nametag) |
| 19 | + |
| 20 | +while [[ $# -gt 0 ]]; do |
| 21 | + case $1 in |
| 22 | + |
| 23 | + --arch=x86) ARCH="X86"; shift ;; |
| 24 | + --arch=arm) ARCH="ARM"; shift ;; |
| 25 | + --arch=arm,x86) ARCH="ARM\\;X86"; shift ;; |
| 26 | + --arch=x86,arm) ARCH="ARM\\;X86"; shift ;; |
| 27 | + |
| 28 | + --variant=vanilla) VARIANT="vanilla"; shift ;; |
| 29 | + --variant=obfuscator) VARIANT="obfuscator"; shift ;; |
| 30 | + |
| 31 | + --verbose) VERBOSE="-v"; shift ;; |
| 32 | + --no-tty) NO_TTY=--no-tty; shift ;; |
| 33 | + |
| 34 | + *) shift ;; |
| 35 | + esac |
| 36 | +done |
| 37 | + |
| 38 | +if [[ -z "${ARCH:-}" ]]; then |
| 39 | + echo "Error: must specify --arch=<arm|x86|arm,x86|x86,arm>" |
| 40 | + exit 1 |
| 41 | +fi |
| 42 | + |
| 43 | +if [[ -z "${VARIANT:-}" ]]; then |
| 44 | + echo "Error: must a variant to build --variant=<vanilla|obfuscator>" |
| 45 | + exit 1 |
| 46 | +fi |
| 47 | + |
| 48 | +BUILD_VERSION="$(./describe_repo.bash)" |
| 49 | +ARCH="$(echo ${ARCH} | sed 's@\\;@-@g')" |
| 50 | + |
| 51 | +CCACHE_ARCHIVE="ccache-${VARIANT}-${ARCH}-${BUILD_VERSION}.tbz2" |
| 52 | + |
| 53 | +docker run -it --rm \ |
| 54 | + -v "$PWD:/this_dir" \ |
| 55 | + -v $VARIANT-llvm-ccache:/work/ccache \ |
| 56 | + "$DOCKER_NAMETAG-$VARIANT" \ |
| 57 | + /bin/bash -c "tar -cjf ${CCACHE_ARCHIVE} -C /work/ccache ." |
| 58 | + |
| 59 | +./publish.sh "${CCACHE_ARCHIVE}" |
0 commit comments