dotnet/update.sh: use sdk patch version instead of runtime
There's a one:many relationship between runtimes and sdks. This allows fetching a specific SDK (e.g. 8.0.102 vs 8.0.201), even when both use the same runtime (8.0.2).
This commit is contained in:
parent
6b047e397a
commit
845b559abe
@ -8,7 +8,7 @@ release () {
|
||||
local content="$1"
|
||||
local version="$2"
|
||||
|
||||
jq -r '.releases[] | select(."release-version" == "'"$version"'")' <<< "$content"
|
||||
jq -r '.releases[] | select(.sdks[] | ."version" == "'"$version"'")' <<< "$content"
|
||||
}
|
||||
|
||||
release_files () {
|
||||
@ -18,6 +18,14 @@ release_files () {
|
||||
jq -r '[."'"$type"'".files[] | select(.name | test("^.*.tar.gz$"))]' <<< "$release"
|
||||
}
|
||||
|
||||
sdk_files () {
|
||||
local release="$1"
|
||||
local version="$2"
|
||||
|
||||
jq -r '[.sdks[] | select(.version == "'"$version"'") | .files[] | select(.name | test("^.*.tar.gz$"))]' <<< "$release"
|
||||
}
|
||||
|
||||
|
||||
release_platform_attr () {
|
||||
local release_files="$1"
|
||||
local platform="$2"
|
||||
@ -321,13 +329,13 @@ Examples:
|
||||
# Then get the json file and parse it to find the latest patch release.
|
||||
major_minor=$(sed 's/^\([0-9]*\.[0-9]*\).*$/\1/' <<< "$sem_version")
|
||||
content=$(curl -sL https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/"$major_minor"/releases.json)
|
||||
major_minor_patch=$([ "$patch_specified" == true ] && echo "$sem_version" || jq -r '."latest-release"' <<< "$content")
|
||||
major_minor_patch=$([ "$patch_specified" == true ] && echo "$sem_version" || jq -r '."latest-sdk"' <<< "$content")
|
||||
major_minor_underscore=${major_minor/./_}
|
||||
|
||||
release_content=$(release "$content" "$major_minor_patch")
|
||||
sdk_version=$major_minor_patch
|
||||
release_content=$(release "$content" "$sdk_version")
|
||||
aspnetcore_version=$(jq -r '."aspnetcore-runtime".version' <<< "$release_content")
|
||||
runtime_version=$(jq -r '.runtime.version' <<< "$release_content")
|
||||
sdk_version=$(jq -r '.sdk.version' <<< "$release_content")
|
||||
|
||||
# If patch was not specified, check if the package is already the latest version
|
||||
# If it is, exit early
|
||||
@ -346,7 +354,7 @@ Examples:
|
||||
|
||||
aspnetcore_files="$(release_files "$release_content" "aspnetcore-runtime")"
|
||||
runtime_files="$(release_files "$release_content" "runtime")"
|
||||
sdk_files="$(release_files "$release_content" "sdk")"
|
||||
sdk_files="$(sdk_files "$release_content" "$sdk_version")"
|
||||
|
||||
channel_version=$(jq -r '."channel-version"' <<< "$content")
|
||||
support_phase=$(jq -r '."support-phase"' <<< "$content")
|
||||
|
Loading…
Reference in New Issue
Block a user