From 8c1545631a592593ff5ab739b9421f88ccc8f5c4 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Wed, 20 Apr 2022 16:47:19 -0700 Subject: [PATCH 1/3] Support multiple release types and EA builds --- bin/functions | 11 ++++++++++- update_data.bash | 17 ++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/bin/functions b/bin/functions index 9cd605c5..70b831a9 100755 --- a/bin/functions +++ b/bin/functions @@ -52,7 +52,16 @@ function retrieve-release-data() { local cache_file="${CACHE_DIR}/releases-${OS}-${ARCHITECTURE}.tsv" # shellcheck disable=SC2046 if [[ ! -r "${cache_file}" ]] || (( $($STAT "${STAT_OPTS[@]}" "${cache_file}") <= $(date +%s) - 3600 )) ; then - curl -s -f --compressed -L "https://raw.githubusercontent.com/halcyon/asdf-java/master/data/jdk-${OS}-${ARCHITECTURE}.tsv" -o "${cache_file}" + local base_url="https://raw.githubusercontent.com/halcyon/asdf-java/master/data/jdk-${OS}-${ARCHITECTURE}" + local url + case "$(get_asdf_config_value "java_release_type")" in + ga) url="$base_url-ga.tsv" ;; + ea) url="$base_url-ea.tsv" ;; + all) url="$base_url.tsv" ;; + *) url="$base_url-ga.tsv" ;; + esac + + curl -s -f --compressed -L "${url}" -o "${cache_file}" fi } diff --git a/update_data.bash b/update_data.bash index 6f50ee10..0413de77 100755 --- a/update_data.bash +++ b/update_data.bash @@ -5,6 +5,7 @@ set -Euo pipefail # See https://joschi.github.io/java-metadata/ for supported values LIST_OS="linux macosx" LIST_ARCH="x86_64 aarch64 arm32-vfp-hflt" +LIST_RELEASE_TYPE="ga ea" DATA_DIR="./data" @@ -16,22 +17,28 @@ fi function metadata_url { local os=$1 local arch=$2 + local release=$3 - echo "https://joschi.github.io/java-metadata/metadata/ga/${os}/${arch}.json" + echo "https://joschi.github.io/java-metadata/metadata/${release}/${os}/${arch}.json" } function fetch_metadata { local os=$1 local arch=$2 - local url - url=$(metadata_url "$os" "$arch") local args=('-s' '-f' '--compressed' '-H' "Accept: application/json") if [[ -n "${GITHUB_API_TOKEN:-}" ]]; then args+=('-H' "Authorization: token $GITHUB_API_TOKEN") fi - curl "${args[@]}" -o "${DATA_DIR}/jdk-${os}-${arch}.json" "${url}" + for RELEASE_TYPE in $LIST_RELEASE_TYPE + do + local url + url=$(metadata_url "$os" "$arch" "$RELEASE_TYPE") + curl "${args[@]}" -o "${DATA_DIR}/jdk-${os}-${arch}-${RELEASE_TYPE}.json" "${url}" + done + + cat "${DATA_DIR}/jdk-${os}-${arch}"-*.json | jq -s 'add' > "${DATA_DIR}/jdk-${os}-${arch}.json" } for OS in $LIST_OS @@ -50,5 +57,5 @@ RELEASE_QUERY='.[] for FILE in "${DATA_DIR}"/*.json do TSV_FILE="$(basename "${FILE}" .json).tsv" - jq -r "${RELEASE_QUERY}" "${FILE}" | sort -V > "${DATA_DIR}/${TSV_FILE}" + jq -r "${RELEASE_QUERY}" "${FILE}" | sort -V > "${DATA_DIR}/${TSV_FILE}" done From e42b36212ac26dfbd974de2d53208810796202d2 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Tue, 26 Apr 2022 20:05:59 -0700 Subject: [PATCH 2/3] Improve iteration --- update_data.bash | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/update_data.bash b/update_data.bash index 0413de77..b6126e19 100755 --- a/update_data.bash +++ b/update_data.bash @@ -25,27 +25,27 @@ function metadata_url { function fetch_metadata { local os=$1 local arch=$2 + local release=$3 local args=('-s' '-f' '--compressed' '-H' "Accept: application/json") if [[ -n "${GITHUB_API_TOKEN:-}" ]]; then args+=('-H' "Authorization: token $GITHUB_API_TOKEN") fi - for RELEASE_TYPE in $LIST_RELEASE_TYPE - do - local url - url=$(metadata_url "$os" "$arch" "$RELEASE_TYPE") - curl "${args[@]}" -o "${DATA_DIR}/jdk-${os}-${arch}-${RELEASE_TYPE}.json" "${url}" - done - - cat "${DATA_DIR}/jdk-${os}-${arch}"-*.json | jq -s 'add' > "${DATA_DIR}/jdk-${os}-${arch}.json" + local url + url=$(metadata_url "$os" "$arch" "$release") + curl "${args[@]}" -o "${DATA_DIR}/jdk-${os}-${arch}-${release}.json" "${url}" } for OS in $LIST_OS do for ARCH in $LIST_ARCH do - fetch_metadata "$OS" "$ARCH" + for RELEASE_TYPE in $LIST_RELEASE_TYPE + do + fetch_metadata "$OS" "$ARCH" "$RELEASE_TYPE" + done + cat "${DATA_DIR}/jdk-${OS}-${ARCH}"-*.json | jq -s 'add' > "${DATA_DIR}/jdk-${OS}-${ARCH}.json" done done From ab737e38165a1f2a2b53587447feb91619d09b26 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Wed, 27 Apr 2022 18:30:48 -0700 Subject: [PATCH 3/3] Keep files without release type backward compatible. --- update_data.bash | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/update_data.bash b/update_data.bash index b6126e19..9aad1808 100755 --- a/update_data.bash +++ b/update_data.bash @@ -45,7 +45,8 @@ do do fetch_metadata "$OS" "$ARCH" "$RELEASE_TYPE" done - cat "${DATA_DIR}/jdk-${OS}-${ARCH}"-*.json | jq -s 'add' > "${DATA_DIR}/jdk-${OS}-${ARCH}.json" + cat "${DATA_DIR}/jdk-${OS}-${ARCH}"-*.json | jq -s 'add' > "${DATA_DIR}/jdk-${OS}-${ARCH}-all.json" + ln -s "jdk-${OS}-${ARCH}-ga.json" "${DATA_DIR}/jdk-${OS}-${ARCH}.json" done done