From c6ed272d932b4df2afb42a3a66718992bacc2e74 Mon Sep 17 00:00:00 2001 From: Sindre Stephansen Date: Tue, 1 Aug 2023 09:22:56 +0200 Subject: [PATCH] Cache gradle binaries between runs --- docker-compose.yml | 1 + sync/resolve-deps.sh | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 708c04d..960f4aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,3 +20,4 @@ services: - repo volumes: - ./package-list.yaml:/package-list.yaml + - ./data/gradle:/gradle-download diff --git a/sync/resolve-deps.sh b/sync/resolve-deps.sh index 95dcb9e..89f5a35 100755 --- a/sync/resolve-deps.sh +++ b/sync/resolve-deps.sh @@ -35,6 +35,9 @@ fi export PROJECTS_DIR=/gradle-projects mkdir -p "${PROJECTS_DIR}" +export GRADLE_DOWNLOAD_DIR=/gradle-download +mkdir -p "${GRADLE_DOWNLOAD_DIR}" + export GRADLE_VERSIONS_DIR=/gradle-versions mkdir -p "${GRADLE_VERSIONS_DIR}" @@ -50,19 +53,23 @@ if [ $? -lt 30 ]; then version=$(basename "${path}") gradle_path=${GRADLE_VERSIONS_DIR}/gradle-${version} - if [[ "${version}" == "${GRADLE_VERSION}" ]] || [[ "${version}" == "default" ]]; then + if [[ "${version}" == "default" ]]; then gradle_path=${GRADLE_HOME} elif [[ ! -d "${gradle_path}" ]]; then - echo "Downloading gradle ${version}" filename="gradle-${version}-bin.zip" - wget "https://services.gradle.org/distributions/${filename}" - unzip -q "${filename}" -d "${GRADLE_VERSIONS_DIR}" - rm "${filename}" + zippath="${GRADLE_DOWNLOAD_DIR}/${filename}" + + if [[ ! -f "${zippath}" ]]; then + echo "Downloading gradle ${version}" + wget "https://services.gradle.org/distributions/${filename}" -O "${GRADLE_DOWNLOAD_DIR}/${filename}" - if [[ ! -d "${gradle_path}" ]]; then - echo "ERROR: Could not fetch gradle ${version}" - continue + if [[ ! -f "${zippath}" ]]; then + echo "ERROR: Could not fetch gradle ${version}" + continue + fi fi + + unzip -q "${zippath}" -d "${GRADLE_VERSIONS_DIR}" fi for project in "${path}"/*; do