chore: rimuove i vecchi path docker/build/ (spostati in docker/)
Completa il flattening di docker/build/ in docker/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,36 +0,0 @@
|
|||||||
FROM ubuntu:22.04
|
|
||||||
|
|
||||||
ARG FLUTTER_VERSION=3.41.9
|
|
||||||
ARG ANDROID_SDK_BUILD=11076708
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive \
|
|
||||||
FLUTTER_HOME=/opt/flutter \
|
|
||||||
ANDROID_SDK_ROOT=/opt/android-sdk \
|
|
||||||
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \
|
|
||||||
PATH="/opt/flutter/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/opt/android-sdk/build-tools/34.0.0:${PATH}"
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
curl wget git unzip xz-utils ca-certificates \
|
|
||||||
openjdk-17-jdk \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN git clone --depth 1 --branch ${FLUTTER_VERSION} \
|
|
||||||
https://github.com/flutter/flutter.git ${FLUTTER_HOME} && \
|
|
||||||
flutter config --no-analytics && \
|
|
||||||
flutter precache --android
|
|
||||||
|
|
||||||
RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
|
|
||||||
wget -q "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_BUILD}_latest.zip" \
|
|
||||||
-O /tmp/cmdtools.zip && \
|
|
||||||
unzip -q /tmp/cmdtools.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \
|
|
||||||
mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools \
|
|
||||||
${ANDROID_SDK_ROOT}/cmdline-tools/latest && \
|
|
||||||
rm /tmp/cmdtools.zip
|
|
||||||
|
|
||||||
RUN yes | sdkmanager --licenses && \
|
|
||||||
sdkmanager \
|
|
||||||
"platform-tools" \
|
|
||||||
"platforms;android-34" \
|
|
||||||
"build-tools;34.0.0"
|
|
||||||
|
|
||||||
WORKDIR /workspace
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
||||||
RELEASE=false
|
|
||||||
|
|
||||||
for arg in "$@"; do
|
|
||||||
[[ "$arg" == "--release" ]] && RELEASE=true
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "→ Build immagine biteplan-build..."
|
|
||||||
docker build -t biteplan-build "${SCRIPT_DIR}"
|
|
||||||
|
|
||||||
mkdir -p "${PROJECT_ROOT}/dist"
|
|
||||||
|
|
||||||
if [[ "$RELEASE" == "true" ]]; then
|
|
||||||
if [[ -z "${BITEPLAN_KEYSTORE_PASS}" ]]; then
|
|
||||||
echo "ERRORE: variabile BITEPLAN_KEYSTORE_PASS non impostata"
|
|
||||||
echo "Usa: export BITEPLAN_KEYSTORE_PASS=tuapassword"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
KEYSTORE="${SCRIPT_DIR}/../biteplan.jks"
|
|
||||||
if [[ ! -f "$KEYSTORE" ]]; then
|
|
||||||
echo "ERRORE: keystore non trovato in docker/biteplan.jks"
|
|
||||||
echo "Generalo con:"
|
|
||||||
echo " keytool -genkey -v -keystore docker/biteplan.jks -alias biteplan -keyalg RSA -keysize 2048 -validity 10000"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "→ Building release APK..."
|
|
||||||
docker run --rm \
|
|
||||||
-v "${PROJECT_ROOT}:/workspace" \
|
|
||||||
-v "gradle-cache:/root/.gradle" \
|
|
||||||
biteplan-build \
|
|
||||||
bash -c "cd /workspace && flutter pub get --enforce-lockfile && flutter pub run flutter_launcher_icons && flutter build apk --release"
|
|
||||||
|
|
||||||
echo "→ Zipalign..."
|
|
||||||
rm -f "${PROJECT_ROOT}/dist/biteplan-aligned.apk"
|
|
||||||
docker run --rm \
|
|
||||||
-v "${PROJECT_ROOT}:/workspace" \
|
|
||||||
biteplan-build \
|
|
||||||
bash -c "zipalign -v -p 4 \
|
|
||||||
/workspace/build/app/outputs/flutter-apk/app-release.apk \
|
|
||||||
/workspace/dist/biteplan-aligned.apk"
|
|
||||||
|
|
||||||
echo "→ Firma APK..."
|
|
||||||
docker run --rm \
|
|
||||||
-v "${PROJECT_ROOT}:/workspace" \
|
|
||||||
-v "$(realpath "${KEYSTORE%/*}"):/keystore:ro" \
|
|
||||||
-e BITEPLAN_KEYSTORE_PASS \
|
|
||||||
biteplan-build \
|
|
||||||
bash -c "apksigner sign \
|
|
||||||
--ks /keystore/biteplan.jks \
|
|
||||||
--ks-pass \"pass:\${BITEPLAN_KEYSTORE_PASS}\" \
|
|
||||||
--out /workspace/dist/biteplan-release.apk \
|
|
||||||
/workspace/dist/biteplan-aligned.apk && \
|
|
||||||
rm -f /workspace/dist/biteplan-aligned.apk && \
|
|
||||||
apksigner verify --verbose /workspace/dist/biteplan-release.apk"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✓ Release APK: dist/biteplan-release.apk"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "→ Building debug APK..."
|
|
||||||
docker run --rm \
|
|
||||||
-v "${PROJECT_ROOT}:/workspace" \
|
|
||||||
-v "gradle-cache:/root/.gradle" \
|
|
||||||
biteplan-build \
|
|
||||||
bash -c "cd /workspace && flutter pub get --enforce-lockfile && flutter pub run flutter_launcher_icons && flutter build apk --debug"
|
|
||||||
|
|
||||||
cp "${PROJECT_ROOT}/build/app/outputs/flutter-apk/app-debug.apk" \
|
|
||||||
"${PROJECT_ROOT}/dist/biteplan-debug.apk"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "✓ Debug APK: dist/biteplan-debug.apk"
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user