diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-22 11:08:09 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-22 11:08:09 +0200 |
| commit | 3605f4e081283b2f32451c7075fe07648e76e99d (patch) | |
| tree | 71c44ba6c19a77ce470db2200d64c491ed155a27 /build.sh | |
| parent | 765dcec1266fc1b63ccf48863f36425400d43dcf (diff) | |
| download | mygram-droid-3605f4e081283b2f32451c7075fe07648e76e99d.tar.gz mygram-droid-3605f4e081283b2f32451c7075fe07648e76e99d.zip | |
Add Android project skeleton and Docker build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'build.sh')
| -rwxr-xr-x | build.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..154e32d --- /dev/null +++ b/build.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# build.sh: build the debug APK in a throwaway Docker container, or run the +# JVM unit tests with "./build.sh test". Nothing is installed on the host. +# Output: app/build/outputs/apk/debug/mygram-droid-debug.apk +# +# Copyright (C) 2026 Danilo M. <danix@danix.xyz> +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published +# by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. + +set -euo pipefail +cd "$(dirname "$0")" + +task=assembleDebug +[ "${1:-}" = test ] && task=testDebugUnitTest + +docker image inspect mygram-droid-build >/dev/null 2>&1 || + docker build -t mygram-droid-build app + +# Gradle and Android caches live in app/.home so files stay user-owned. +mkdir -p app/.home +docker run --rm --user "$(id -u):$(id -g)" -e HOME=/src/.home -e JAVA_TOOL_OPTIONS=-Duser.home=/src/.home \ + -v "$PWD/app:/src" -w /src mygram-droid-build \ + gradle --no-daemon -q "$task" +if [ "$task" = assembleDebug ]; then + ls -l app/build/outputs/apk/debug/*.apk +fi |
