Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify dotnet.cmd script #9

Merged
merged 1 commit into from
Nov 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches:
- main
jobs:
job1:
linux:
runs-on: ubuntu-latest
steps:
- name: Check out repository
Expand All @@ -15,7 +15,7 @@ jobs:
run: $GITHUB_WORKSPACE/dotnet.cmd --version
- name: Test script java.cmd
run: $GITHUB_WORKSPACE/java.cmd --version
job2:
macos:
runs-on: macos-latest
steps:
- name: Check out repository
Expand All @@ -24,7 +24,7 @@ jobs:
run: $GITHUB_WORKSPACE/dotnet.cmd --version
- name : Test script java.cmd
run: $GITHUB_WORKSPACE/java.cmd --version
job3:
windows:
runs-on: windows-latest
steps:
- name: Check out repository
Expand Down
75 changes: 26 additions & 49 deletions dotnet.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ GOTO :CMDSCRIPT

set -eu

DOTNET_VERSION=7.0.404
SCRIPT_VERSION=dotnet-cmd-v2
COMPANY_DIR="Mikhail Filippov"
TARGET_DIR="${TEMPDIR:-$HOME/.local/share}/$COMPANY_DIR/dotnet-cmd"
Expand Down Expand Up @@ -37,57 +38,34 @@ is_linux_musl () {

case $(uname) in
Darwin)
DOTNET_ARCH=$(uname -m)
DOTNET_OS=osx
UNAME_ARCH=$(uname -m)
if ! $KEEP_ROSETTA2 && [ "$(sysctl -n sysctl.proc_translated 2>/dev/null || true)" = "1" ]; then
DOTNET_ARCH=arm64
fi
case $DOTNET_ARCH in
arm64)
DOTNET_HASH_URL=fc7ed56d-3afe-4aa6-81bb-b4b0f5df56b5/d199f43f7421c6677ba25544b442b6b7
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-osx-arm64
;;
x86_64)
DOTNET_HASH_URL=34ce4803-1444-48a2-9955-e2a9b9061b03/e18c978b55226240ca037cf8b1770064
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-osx-x64
;;
*) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;;
case $UNAME_ARCH in
arm64) DOTNET_ARCH=arm64;;
x86_64) DOTNET_ARCH=x64;;
*) echo "Unknown architecture $UNAME_ARCH" >&2; exit 1;;
esac;;
Linux)
DOTNET_ARCH=$(linux$(getconf LONG_BIT) uname -m)
case $DOTNET_ARCH in
armv7l | armv8l)
if is_linux_musl; then
DOTNET_HASH_URL=cb66972b-75fe-4e91-8a06-ddaf1d7e882b/fd04b081250aa6b40fad8319c7224390
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-arm
else
DOTNET_HASH_URL=773e201f-00f3-4de2-beb7-698d9c72f4b7/4c1de128cb18198e1b9bf30902c665bc
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-arm
fi
;;
aarch64)
if is_linux_musl; then
DOTNET_HASH_URL=4e8faf53-6f5e-452a-a993-fbb90ab25ad1/f64b041fd3bf3c0e9b2f3c6b0ed887e5
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-arm64
else
DOTNET_HASH_URL=142603ad-0df5-4aef-bdc2-87b6140c90ed/2cce467e6c954d01024942b8370aaf70
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-arm64
fi
;;
x86_64)
if is_linux_musl; then
DOTNET_HASH_URL=6b06ee15-ac63-4b8a-9bae-49453e258687/536a27d0c3a990757590dfc9f7e617ba
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-musl-x64
else
DOTNET_HASH_URL=351400ef-f2e6-4ee7-9d1b-4c246231a065/9f7826270fb36ada1bdb9e14bc8b5123
DOTNET_FILE_NAME=dotnet-sdk-7.0.302-linux-x64
fi
;;
*) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;;
if is_linux_musl; then
DOTNET_OS=linux-musl
else
DOTNET_OS=linux
fi
UNAME_ARCH=$(linux$(getconf LONG_BIT) uname -m)
case $UNAME_ARCH in
armv7l | armv8l) DOTNET_ARCH=arm;;
aarch64) DOTNET_ARCH=arm64;;
x86_64) DOTNET_ARCH=x64;;
*) echo "Unknown architecture $UNAME_ARCH" >&2; exit 1;;
esac;;
*) echo "Unknown platform: $(uname)" >&2; exit 1;;
esac

DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/$DOTNET_HASH_URL/$DOTNET_FILE_NAME.tar.gz
DOTNET_FILE_NAME=dotnet-sdk-$DOTNET_VERSION-$DOTNET_OS-$DOTNET_ARCH
DOTNET_URL=https://dotnetcli.azureedge.net/dotnet/Sdk/$DOTNET_VERSION/$DOTNET_FILE_NAME.tar.gz
DOTNET_TARGET_DIR=$TARGET_DIR/$DOTNET_FILE_NAME-$SCRIPT_VERSION
DOTNET_TEMP_FILE=$TARGET_DIR/dotnet-sdk-temp.tar.gz

Expand Down Expand Up @@ -161,33 +139,32 @@ exec "$DOTNET_TARGET_DIR/dotnet" "$@"
:CMDSCRIPT

setlocal
set DOTNET_VERSION=7.0.404
set SCRIPT_VERSION=v2
set COMPANY_NAME=Mikhail Filippov
set TARGET_DIR=%LOCALAPPDATA%\%COMPANY_NAME%\dotnet-cmd\

for /f "tokens=3 delims= " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PROCESSOR_ARCHITECTURE"') do set ARCH=%%a

if "%ARCH%"=="ARM64" (
set DOTNET_HASH_URL=3a8c2602-3e5f-44ff-9a1a-4dcac7718051/4309ff475d8771e740baf514a66c7d38
set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-arm64
set DOTNET_ARCH=arm64
) else (

if "%ARCH%"=="AMD64" (
set DOTNET_HASH_URL=c973fb82-ecba-4bcc-b1cc-443d817b9472/f4426b15af724f4baf31a50d204d1ca7
set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-x64
set DOTNET_ARCH=x64
) else (

if "%ARCH%"=="x86" (
set DOTNET_HASH_URL=823b3ed8-9078-41f5-8ba9-176aabb67866/6cff5b428cfe5b7535c827ebed8283a1
set DOTNET_FILE_NAME=dotnet-sdk-7.0.302-win-x86
set DOTNET_ARCH=x86
) else (

echo Unknown Windows architecture
goto fail

)))

set DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/%DOTNET_HASH_URL%/%DOTNET_FILE_NAME%.zip
set DOTNET_FILE_NAME=dotnet-sdk-%DOTNET_VERSION%-win-%DOTNET_ARCH%
set DOTNET_URL=https://dotnetcli.azureedge.net/dotnet/Sdk/%DOTNET_VERSION%/%DOTNET_FILE_NAME%.zip
set DOTNET_TARGET_DIR=%TARGET_DIR%%DOTNET_FILE_NAME%-%SCRIPT_VERSION%\
set DOTNET_TEMP_FILE=%TARGET_DIR%dotnet-sdk-temp.zip

Expand Down
Loading