diff --git a/docker/build/Dockerfile b/docker/build/Dockerfile deleted file mode 100644 index 88b7c33..0000000 --- a/docker/build/Dockerfile +++ /dev/null @@ -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 diff --git a/docker/build/build.sh b/docker/build/build.sh deleted file mode 100755 index 91a01ac..0000000 --- a/docker/build/build.sh +++ /dev/null @@ -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