| c8917cf1 Andy McCall ↶ |
1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
set -eu |
| 8 |
here=$(cd "$(dirname "$0")" && pwd) |
| 9 |
dev=$(cd "$here/../../.." && pwd) |
| 10 |
app="$dev/oxygenhub-android" |
| 11 |
out=${1:-$here/oxygenflow-android.tar} |
| 12 |
|
| 13 |
CMDLINE_TOOLS=commandlinetools-linux-16111833_latest.zip |
| 14 |
CMDLINE_TOOLS_SHA1=e025545c62a8e64c7559119566a569fb1dec5f60 |
| 15 |
GRADLE_VERSION=9.6.0 |
| 16 |
|
| 17 |
mkdir -p "$here/dl" |
| 18 |
if [ ! -f "$here/dl/cmdline-tools.zip" ]; then |
| 19 |
curl -fsSL "https://dl.google.com/android/repository/$CMDLINE_TOOLS" -o "$here/dl/cmdline-tools.zip" |
| 20 |
fi |
| 21 |
echo "$CMDLINE_TOOLS_SHA1 $here/dl/cmdline-tools.zip" | sha1sum -c - >/dev/null |
| 22 |
if [ ! -f "$here/dl/gradle.zip" ]; then |
| 23 |
curl -fsSL "https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip" -o "$here/dl/gradle.zip" |
| 24 |
fi |
| 25 |
|
| 26 |
want=$(curl -fsSL "https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip.sha256") |
| 27 |
echo "$want $here/dl/gradle.zip" | sha256sum -c - >/dev/null |
| 28 |
|
| 29 |
|
| 30 |
rm -rf "$here/app" "$here/vendor" |
| 31 |
mkdir -p "$here/app" |
| 32 |
tar -C "$app" --exclude='./build' --exclude='./app/build' --exclude='./rust-core/target' \ |
| 33 |
--exclude='./.gradle' --exclude='./.oxy' --exclude='./local.properties' -cf - . | tar -C "$here/app" -xf - |
| 34 |
cargo vendor --locked --versioned-dirs --manifest-path "$app/rust-core/Cargo.toml" "$here/vendor" >/dev/null |
| 35 |
chmod -R a+rX "$here/vendor" "$here/app" |
| 36 |
docker build -q -t oxygenflow-android --build-arg GRADLE_VERSION=$GRADLE_VERSION "$here" |
| 37 |
id=$(docker create oxygenflow-android) |
| 38 |
docker export "$id" -o "$out" |
| 39 |
docker rm "$id" >/dev/null |
| 40 |
rm -rf "${here:?}/app" "${here:?}/vendor" |
| 41 |
echo "$out" |