mirror of
https://github.com/halcyon/asdf-java.git
synced 2024-10-05 23:32:11 +08:00
Support multiple release types and EA builds (#179)
* Support multiple release types and EA builds * Improve iteration * Keep files without release type backward compatible.
This commit is contained in:
parent
0720a4b573
commit
02b4fb3e53
@ -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
|
||||
}
|
||||
|
||||
|
@ -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,29 +17,36 @@ 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 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
|
||||
|
||||
curl "${args[@]}" -o "${DATA_DIR}/jdk-${os}-${arch}.json" "${url}"
|
||||
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}-all.json"
|
||||
ln -s "jdk-${OS}-${ARCH}-ga.json" "${DATA_DIR}/jdk-${OS}-${ARCH}.json"
|
||||
done
|
||||
done
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user