mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 15:23:46 +00:00 
			
		
		
		
	removes end-of-line dotnet versions (#647)
Co-authored-by: “gowridurgad” <“hgowridurgad@github.com>
This commit is contained in:
		
							parent
							
								
									267870a9c4
								
							
						
					
					
						commit
						0f55b457d2
					
				
							
								
								
									
										174
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										174
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -24,17 +24,16 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 2.2.402, 3.1.404 and 3.0.x |       - name: Setup dotnet 6.0.427, 7.0.410 and 7.0.x | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: | |           dotnet-version: | | ||||||
|             2.2.402 |             6.0.427 | ||||||
|             3.1.404 |             7.0.410 | ||||||
|             3.0.x |             7.0.x | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2.402$", "^3.1.404$", "^3.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0.427$", "^7.0.410$", "^7.0" | ||||||
| 
 |  | ||||||
|   test-setup-multiple-versions-extended: |   test-setup-multiple-versions-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -47,17 +46,16 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 6.0.427, 8.0.403 and 8.0.x |       - name: Setup dotnet 8.0.403, 9.0.301 and 8.0.x | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: | |           dotnet-version: | | ||||||
|             6.0.427 |  | ||||||
|             8.0.403 |             8.0.403 | ||||||
|  |             9.0.301 | ||||||
|             8.0.x |             8.0.x | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0.427$", "^8.0.403$", "^8.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.403$", "^9.0.301$", "^8.0" | ||||||
| 
 |  | ||||||
|   test-setup-full-version: |   test-setup-full-version: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -70,23 +68,22 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       # Side-by-side install of 2.2 and 3.1 used for the test project |       # Side-by-side install of 6.0 and 7.0 used for the test project | ||||||
|       - name: Setup dotnet 2.2.402 |       - name: Setup dotnet 6.0.427 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 2.2.402 |           dotnet-version: 6.0.427 | ||||||
|       - name: Setup dotnet 3.1.201 |       - name: Setup dotnet 7.0.410 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1.201 |           dotnet-version: 7.0.410 | ||||||
|           # We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place |           # We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place | ||||||
|           source-url: https://api.nuget.org/v3/index.json |           source-url: https://api.nuget.org/v3/index.json | ||||||
|         env: |         env: | ||||||
|           NUGET_AUTH_TOKEN: NOTATOKEN |           NUGET_AUTH_TOKEN: NOTATOKEN | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1.201$", "^2.2.402$" -CheckNugetConfig |         run: __tests__/verify-dotnet.ps1 -Patterns "^7.0.410$", "^6.0.427$" -CheckNugetConfig | ||||||
| 
 |  | ||||||
|   test-setup-full-version-extended: |   test-setup-full-version-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -99,23 +96,22 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       # Side-by-side install of 6.0 and 8.0 used for the test project |       # Side-by-side install of 8.0 and 9.0 used for the test project | ||||||
|       - name: Setup dotnet 6.0.427 |  | ||||||
|         uses: ./ |  | ||||||
|         with: |  | ||||||
|           dotnet-version: 6.0.427 |  | ||||||
|       - name: Setup dotnet 8.0.402 |       - name: Setup dotnet 8.0.402 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 8.0.402 |           dotnet-version: 8.0.402 | ||||||
|  |       - name: Setup dotnet 9.0.301 | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           dotnet-version: 9.0.301 | ||||||
|           # We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place |           # We are including this variable to force the generation of the nuget config file to verify that it is created in the correct place | ||||||
|           source-url: https://api.nuget.org/v3/index.json |           source-url: https://api.nuget.org/v3/index.json | ||||||
|         env: |         env: | ||||||
|           NUGET_AUTH_TOKEN: NOTATOKEN |           NUGET_AUTH_TOKEN: NOTATOKEN | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.402$", "^6.0.427$" -CheckNugetConfig |         run: __tests__/verify-dotnet.ps1 -Patterns "^9.0.301$", "^8.0.402$" -CheckNugetConfig | ||||||
| 
 |  | ||||||
|   test-setup-without-patch-version: |   test-setup-without-patch-version: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -128,19 +124,18 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       # 2.0, 3.0, 5.0 needs to be in single quotes to interpret as a string instead of as an integer |       # 6.0, 7.0 needs to be in single quotes to interpret as a string instead of as an integer | ||||||
|       - name: Setup dotnet '3.1' |       - name: Setup dotnet '6.0' | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '3.1' |           dotnet-version: '6.0' | ||||||
|       - name: Setup dotnet '2.2' |       - name: Setup dotnet '7.0' | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '2.2' |           dotnet-version: '7.0' | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1", "^2.2" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0" | ||||||
| 
 |  | ||||||
|   test-setup-without-patch-version-extended: |   test-setup-without-patch-version-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -153,19 +148,18 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       # 6.0, 7.0, 8.0 needs to be in single quotes to interpret as a string instead of as an integer |       # 8.0, 9.0 needs to be in single quotes to interpret as a string instead of as an integer | ||||||
|       - name: Setup dotnet '8.0' |       - name: Setup dotnet '8.0' | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '8.0' |           dotnet-version: '8.0' | ||||||
|       - name: Setup dotnet '6.0' |       - name: Setup dotnet '9.0' | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '6.0' |           dotnet-version: '9.0' | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^6.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0" | ||||||
| 
 |  | ||||||
|   test-setup-prerelease-version: |   test-setup-prerelease-version: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -178,13 +172,13 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet '3.1.100-preview1-014459' |       - name: Setup dotnet '6.0.100-preview.7.21379.14' | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '3.1.100-preview1-014459' |           dotnet-version: '6.0.100-preview.7.21379.14' | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "3.1.100-preview1-014459" |         run: __tests__/verify-dotnet.ps1 -Patterns "6.0.100-preview.7.21379.14" | ||||||
| 
 | 
 | ||||||
|   test-setup-prerelease-version-extended: |   test-setup-prerelease-version-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -218,18 +212,17 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 3.1.x |       - name: Setup dotnet 6.0.x | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1.x |           dotnet-version: 6.0.x | ||||||
|       - name: Setup dotnet 2.2.X |       - name: Setup dotnet 7.0.X | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 2.2.X |           dotnet-version: 7.0.X | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2", "^3.1" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0" | ||||||
| 
 |  | ||||||
|   test-setup-latest-patch-version-extended: |   test-setup-latest-patch-version-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -246,13 +239,13 @@ jobs: | |||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 8.0.x |           dotnet-version: 8.0.x | ||||||
|       - name: Setup dotnet 6.0.X |       - name: Setup dotnet 9.0.X | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 6.0.X |           dotnet-version: 9.0.X | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^8.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0" | ||||||
| 
 | 
 | ||||||
|   test-ABCxx-syntax: |   test-ABCxx-syntax: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -288,18 +281,17 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 3.1.* |       - name: Setup dotnet 6.0.* | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1.* |           dotnet-version: 6.0.* | ||||||
|       - name: Setup dotnet 2.2.* |       - name: Setup dotnet 7.0.* | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 2.2.* |           dotnet-version: 7.0.* | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1", "^2.2" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0" | ||||||
| 
 |  | ||||||
|   test-setup-with-wildcard-extended: |   test-setup-with-wildcard-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -316,13 +308,13 @@ jobs: | |||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 8.0.* |           dotnet-version: 8.0.* | ||||||
|       - name: Setup dotnet 6.0.* |       - name: Setup dotnet 9.0.* | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 6.0.* |           dotnet-version: 9.0.* | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^6.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-global-json-specified-and-version: |   test-setup-global-json-specified-and-version: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -340,16 +332,15 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: | |         run: | | ||||||
|           mkdir subdirectory |           mkdir subdirectory | ||||||
|           echo '{"sdk":{"version": "2.2.207","rollForward": "latestFeature"}}' > ./subdirectory/global.json |           echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json | ||||||
|       - name: Setup dotnet |       - name: Setup dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1 |           dotnet-version: 7.0 | ||||||
|           global-json-file: ./subdirectory/global.json |           global-json-file: ./subdirectory/global.json | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2", "^3.1" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^7.0" | ||||||
| 
 |  | ||||||
|   test-setup-global-json-specified-and-version-extended: |   test-setup-global-json-specified-and-version-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
| @ -366,15 +357,15 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: | |         run: | | ||||||
|           mkdir subdirectory |           mkdir subdirectory | ||||||
|           echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json |           echo '{"sdk":{"version": "8.0.402","rollForward": "latestFeature"}}' > ./subdirectory/global.json | ||||||
|       - name: Setup dotnet |       - name: Setup dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '8.0' |           dotnet-version: '9.0' | ||||||
|           global-json-file: ./subdirectory/global.json |           global-json-file: ./subdirectory/global.json | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^8.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^9.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-global-json-only: |   test-setup-global-json-only: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -392,14 +383,14 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: | |         run: | | ||||||
|           mkdir subdirectory |           mkdir subdirectory | ||||||
|           echo '{"sdk":{"version": "2.2.207","rollForward": "latestFeature"}}' > ./subdirectory/global.json |           echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json | ||||||
|       - name: Setup dotnet |       - name: Setup dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           global-json-file: ./subdirectory/global.json |           global-json-file: ./subdirectory/global.json | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-global-json-only-extended: |   test-setup-global-json-only-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -442,14 +433,14 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: | |         run: | | ||||||
|           mkdir subdirectory |           mkdir subdirectory | ||||||
|           echo '/* should support comments */ {"sdk":{"version": "2.2.207","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json |           echo '/* should support comments */ {"sdk":{"version": "6.0.424","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json | ||||||
|       - name: Setup dotnet |       - name: Setup dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           global-json-file: ./subdirectory/global.json |           global-json-file: ./subdirectory/global.json | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||||
| 
 | 
 | ||||||
|   test-global-json-with-comments-extended: |   test-global-json-with-comments-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -467,14 +458,14 @@ jobs: | |||||||
|         shell: bash |         shell: bash | ||||||
|         run: | |         run: | | ||||||
|           mkdir subdirectory |           mkdir subdirectory | ||||||
|           echo '/* should support comments */ {"sdk":{"version": "6.0.424","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json |           echo '/* should support comments */ {"sdk":{"version": "8.0.402","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json | ||||||
|       - name: Setup dotnet |       - name: Setup dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           global-json-file: ./subdirectory/global.json |           global-json-file: ./subdirectory/global.json | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" |         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-with-dotnet-quality: |   test-setup-with-dotnet-quality: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -516,11 +507,11 @@ jobs: | |||||||
|       - name: Copy NuGet lock file to root |       - name: Copy NuGet lock file to root | ||||||
|         shell: bash |         shell: bash | ||||||
|         run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json |         run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json | ||||||
|       - name: Setup .NET Core 3.1 |       - name: Setup .NET Core 6.0 | ||||||
|         id: setup-dotnet |         id: setup-dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1 |           dotnet-version: 6.0 | ||||||
|           cache: true |           cache: true | ||||||
|       - name: Verify Cache |       - name: Verify Cache | ||||||
|         if: steps.setup-dotnet.outputs.cache-hit == 'true' |         if: steps.setup-dotnet.outputs.cache-hit == 'true' | ||||||
| @ -528,7 +519,7 @@ jobs: | |||||||
|         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi |         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-with-cache-extended: |   test-setup-with-cache-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -575,11 +566,11 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup .NET Core 3.1 |       - name: Setup .NET Core 6.0 | ||||||
|         id: setup-dotnet |         id: setup-dotnet | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1 |           dotnet-version: 6.0 | ||||||
|           cache: true |           cache: true | ||||||
|           cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json' |           cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json' | ||||||
|       - name: Verify Cache |       - name: Verify Cache | ||||||
| @ -588,7 +579,7 @@ jobs: | |||||||
|         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi |         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1" |         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||||
| 
 | 
 | ||||||
|   test-setup-with-cache-dependency-path-extended: |   test-setup-with-cache-dependency-path-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
| @ -633,11 +624,11 @@ jobs: | |||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
| 
 | 
 | ||||||
|       - name: Setup dotnet 6.0.401 |       - name: Setup dotnet 8.0.402 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         id: step1 |         id: step1 | ||||||
|         with: |         with: | ||||||
|           dotnet-version: '6.0.401' |           dotnet-version: '8.0.402' | ||||||
| 
 | 
 | ||||||
|       - name: Verify value of the dotnet-version output |       - name: Verify value of the dotnet-version output | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
| @ -660,19 +651,19 @@ jobs: | |||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
| 
 | 
 | ||||||
|       - name: Setup dotnet 6.0.401, 5.0.408, 7.0.100-rc.1.22431.12 |       - name: Setup dotnet 8.0.402, 6.0.401, 7.0.100-rc.1.22431.12 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         id: step2 |         id: step2 | ||||||
|         with: |         with: | ||||||
|           dotnet-version: | |           dotnet-version: | | ||||||
|             7.0.100-rc.1.22431.12 |             8.0.402 | ||||||
|             6.0.401 |             6.0.401 | ||||||
|             5.0.408 |             7.0.100-rc.1.22431.12 | ||||||
| 
 | 
 | ||||||
|       - name: Verify value of the dotnet-version output |       - name: Verify value of the dotnet-version output | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: | |         run: | | ||||||
|           $version = "7.0.100-rc.1.22431.12" |           $version = "8.0.402" | ||||||
|           if (-not ($version -eq '${{steps.step2.outputs.dotnet-version}}')) { throw "Unexpected output value" } |           if (-not ($version -eq '${{steps.step2.outputs.dotnet-version}}')) { throw "Unexpected output value" } | ||||||
| 
 | 
 | ||||||
|   test-proxy: |   test-proxy: | ||||||
| @ -703,17 +694,17 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 6.0 |       - name: Setup dotnet 8.0 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 6.0 |           dotnet-version: 8.0 | ||||||
|           source-url: https://api.nuget.org/v3/index.json |           source-url: https://api.nuget.org/v3/index.json | ||||||
|         env: |         env: | ||||||
|           NUGET_AUTH_TOKEN: NOTATOKEN |           NUGET_AUTH_TOKEN: NOTATOKEN | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: | |         run: | | ||||||
|           __tests__/verify-dotnet.ps1 -Patterns "^6.0" -CheckNugetConfig |           __tests__/verify-dotnet.ps1 -Patterns "^8.0" -CheckNugetConfig | ||||||
| 
 | 
 | ||||||
|   test-bypass-proxy: |   test-bypass-proxy: | ||||||
|     runs-on: ubuntu-22.04 |     runs-on: ubuntu-22.04 | ||||||
| @ -726,16 +717,16 @@ jobs: | |||||||
|       - name: Clear toolcache |       - name: Clear toolcache | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} |         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||||
|       - name: Setup dotnet 3.1.201 |       - name: Setup dotnet 7.0.410 | ||||||
|         uses: ./ |         uses: ./ | ||||||
|         with: |         with: | ||||||
|           dotnet-version: 3.1.201 |           dotnet-version: 7.0.410 | ||||||
|           source-url: https://api.nuget.org/v3/index.json |           source-url: https://api.nuget.org/v3/index.json | ||||||
|         env: |         env: | ||||||
|           NUGET_AUTH_TOKEN: NOTATOKEN |           NUGET_AUTH_TOKEN: NOTATOKEN | ||||||
|       - name: Verify dotnet |       - name: Verify dotnet | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1.201$" -CheckNugetConfig |         run: __tests__/verify-dotnet.ps1 -Patterns "^7.0.410$" -CheckNugetConfig | ||||||
| 
 | 
 | ||||||
|   test-bypass-proxy-extended: |   test-bypass-proxy-extended: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| @ -765,7 +756,7 @@ jobs: | |||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] |         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||||
|         lower-version: ['3.1.426'] |         lower-version: ['6.0.427'] | ||||||
|         higher-version: ['7.0.203'] |         higher-version: ['7.0.203'] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
| @ -788,15 +779,14 @@ jobs: | |||||||
|       - name: Verify dotnet (higher version) |       - name: Verify dotnet (higher version) | ||||||
|         shell: pwsh |         shell: pwsh | ||||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$", "^${{ matrix.higher-version }}$" |         run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$", "^${{ matrix.higher-version }}$" | ||||||
| 
 |  | ||||||
|   test-sequential-version-installation-extended: |   test-sequential-version-installation-extended: | ||||||
|     runs-on: ${{ matrix.operating-system }} |     runs-on: ${{ matrix.operating-system }} | ||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         operating-system: [ubuntu-latest, macos-latest] |         operating-system: [ubuntu-latest, macos-latest] | ||||||
|         lower-version: ['6.0.425'] |         lower-version: ['8.0.403'] | ||||||
|         higher-version: ['8.0.403'] |         higher-version: ['9.0.301'] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|  | |||||||
							
								
								
									
										23
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							| @ -19,28 +19,7 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         operating-system: |         operating-system: | ||||||
|           [ubuntu-latest, ubuntu-22.04, windows-latest, macos-13, macos-latest] |           [ubuntu-latest, ubuntu-22.04, windows-latest, macos-13, macos-latest] | ||||||
|         dotnet-version: ['2.1', '2.2', '3.0', '3.1', '5.0', '6.0', '7.0', '8.0'] |         dotnet-version: ['6.0', '7.0', '8.0', '9.0'] | ||||||
|         exclude: |  | ||||||
|           - dotnet-version: '2.1' |  | ||||||
|             operating-system: ubuntu-latest |  | ||||||
|           - dotnet-version: '2.2' |  | ||||||
|             operating-system: ubuntu-latest |  | ||||||
|           - dotnet-version: '3.0' |  | ||||||
|             operating-system: ubuntu-latest |  | ||||||
|           - dotnet-version: '3.1' |  | ||||||
|             operating-system: ubuntu-latest |  | ||||||
|           - dotnet-version: '5.0' |  | ||||||
|             operating-system: ubuntu-latest |  | ||||||
|           - dotnet-version: '2.1' |  | ||||||
|             operating-system: macos-latest |  | ||||||
|           - dotnet-version: '2.2' |  | ||||||
|             operating-system: macos-latest |  | ||||||
|           - dotnet-version: '3.0' |  | ||||||
|             operating-system: macos-latest |  | ||||||
|           - dotnet-version: '3.1' |  | ||||||
|             operating-system: macos-latest |  | ||||||
|           - dotnet-version: '5.0' |  | ||||||
|             operating-system: macos-latest |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|  | |||||||
							
								
								
									
										48
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								README.md
									
									
									
									
									
								
							| @ -25,7 +25,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: '3.1.x' |     dotnet-version: '8.0.x' | ||||||
| - run: dotnet build <my project> | - run: dotnet build <my project> | ||||||
| ``` | ``` | ||||||
| > **Warning**: Unless a concrete version is specified in the [`global.json`](https://learn.microsoft.com/en-us/dotnet/core/tools/global-json) file, **_the latest .NET version installed on the runner (including preinstalled versions) will be used [by default](https://learn.microsoft.com/en-us/dotnet/core/versions/selection#the-sdk-uses-the-latest-installed-version)_**. Please refer to the [documentation](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#supported-software) for the currently preinstalled .NET SDK versions. | > **Warning**: Unless a concrete version is specified in the [`global.json`](https://learn.microsoft.com/en-us/dotnet/core/tools/global-json) file, **_the latest .NET version installed on the runner (including preinstalled versions) will be used [by default](https://learn.microsoft.com/en-us/dotnet/core/versions/selection#the-sdk-uses-the-latest-installed-version)_**. Please refer to the [documentation](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#supported-software) for the currently preinstalled .NET SDK versions. | ||||||
| @ -38,8 +38,8 @@ steps: | |||||||
|   uses: actions/setup-dotnet@v4 |   uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: |  |     dotnet-version: |  | ||||||
|       3.1.x |       8.0.x | ||||||
|       5.0.x |       9.0.x | ||||||
| - run: dotnet build <my project> | - run: dotnet build <my project> | ||||||
| ``` | ``` | ||||||
| ## Supported version syntax | ## Supported version syntax | ||||||
| @ -47,9 +47,9 @@ steps: | |||||||
| The `dotnet-version` input supports following syntax: | The `dotnet-version` input supports following syntax: | ||||||
| 
 | 
 | ||||||
| - **A.B.C** (e.g 6.0.400, 7.0.100-preview.7.22377.5) - installs exact version of .NET SDK | - **A.B.C** (e.g 6.0.400, 7.0.100-preview.7.22377.5) - installs exact version of .NET SDK | ||||||
| - **A.B** or **A.B.x** (e.g. 3.1, 3.1.x) - installs the latest patch version of .NET SDK on the channel `3.1`, including prerelease versions (preview, rc) | - **A.B** or **A.B.x** (e.g. 8.0, 8.0.x) - installs the latest patch version of .NET SDK on the channel `8.0`, including prerelease versions (preview, rc) | ||||||
| - **A** or **A.x** (e.g. 3, 3.x) - installs the latest minor version of the specified major tag, including prerelease versions (preview, rc) | - **A** or **A.x** (e.g. 8, 8.x) - installs the latest minor version of the specified major tag, including prerelease versions (preview, rc) | ||||||
| - **A.B.Cxx** (e.g. 6.0.4xx) - available since `.NET 5.0` release. Installs the latest version of the specific SDK release, including prerelease versions (preview, rc).  | - **A.B.Cxx** (e.g. 8.0.4xx) - available since `.NET 5.0` release. Installs the latest version of the specific SDK release, including prerelease versions (preview, rc).  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ## Using the `dotnet-quality` input | ## Using the `dotnet-quality` input | ||||||
| @ -62,7 +62,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: '6.0.x' |     dotnet-version: '8.0.x' | ||||||
|     dotnet-quality: 'preview' |     dotnet-quality: 'preview' | ||||||
| - run: dotnet build <my project> | - run: dotnet build <my project> | ||||||
| ``` | ``` | ||||||
| @ -94,7 +94,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: 6.x |     dotnet-version: 8.x | ||||||
|     cache: true |     cache: true | ||||||
| - run: dotnet restore --locked-mode | - run: dotnet restore --locked-mode | ||||||
| ``` | ``` | ||||||
| @ -119,7 +119,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: 6.x |     dotnet-version: 8.x | ||||||
|     cache: true |     cache: true | ||||||
| - run: dotnet restore --locked-mode | - run: dotnet restore --locked-mode | ||||||
| ``` | ``` | ||||||
| @ -133,7 +133,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: 6.x |     dotnet-version: 8.x | ||||||
|     cache: true |     cache: true | ||||||
|     cache-dependency-path: subdir/packages.lock.json |     cache-dependency-path: subdir/packages.lock.json | ||||||
| - run: dotnet restore --locked-mode | - run: dotnet restore --locked-mode | ||||||
| @ -147,7 +147,7 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     strategy: |     strategy: | ||||||
|       matrix: |       matrix: | ||||||
|         dotnet: [ '2.1.x', '3.1.x', '5.0.x' ] |         dotnet: [ '7.0.x', '8.0.x', '9.0.x' ] | ||||||
|     name: Dotnet ${{ matrix.dotnet }} sample |     name: Dotnet ${{ matrix.dotnet }} sample | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
| @ -167,7 +167,7 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     strategy: |     strategy: | ||||||
|       matrix: |       matrix: | ||||||
|         dotnet: [ '2.1.x', '3.1.x', '5.0.x' ] |         dotnet: [ '7.0.x', '8.0.x', '9.0.x' ] | ||||||
|     name: Dotnet ${{ matrix.dotnet }} sample |     name: Dotnet ${{ matrix.dotnet }} sample | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
| @ -189,7 +189,7 @@ steps: | |||||||
| - uses: actions/checkout@v4 | - uses: actions/checkout@v4 | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: '3.1.x' |     dotnet-version: '8.0.x' | ||||||
|     source-url: https://nuget.pkg.github.com/<owner>/index.json |     source-url: https://nuget.pkg.github.com/<owner>/index.json | ||||||
|   env: |   env: | ||||||
|     NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} |     NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||||||
| @ -215,7 +215,7 @@ steps: | |||||||
| ```yml | ```yml | ||||||
| - uses: actions/setup-dotnet@v4 | - uses: actions/setup-dotnet@v4 | ||||||
|   with: |   with: | ||||||
|     dotnet-version: 3.1.x |     dotnet-version: 8.0.x | ||||||
| - name: Publish the package to nuget.org | - name: Publish the package to nuget.org | ||||||
|   run: dotnet nuget push */bin/Release/*.nupkg -k $NUGET_AUTH_TOKEN -s https://api.nuget.org/v3/index.json |   run: dotnet nuget push */bin/Release/*.nupkg -k $NUGET_AUTH_TOKEN -s https://api.nuget.org/v3/index.json | ||||||
|   env: |   env: | ||||||
| @ -239,8 +239,8 @@ In case of a single version installation, the `dotnet-version` output contains t | |||||||
|     - uses: actions/setup-dotnet@v4 |     - uses: actions/setup-dotnet@v4 | ||||||
|       id: stepid |       id: stepid | ||||||
|       with: |       with: | ||||||
|         dotnet-version: 3.1.422 |         dotnet-version: 8.0.402 | ||||||
|     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 3.1.422 |     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 8.0.402 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| **Multiple version installation** | **Multiple version installation** | ||||||
| @ -252,9 +252,9 @@ In case of a multiple version installation, the `dotnet-version` output contains | |||||||
|       id: stepid |       id: stepid | ||||||
|       with: |       with: | ||||||
|         dotnet-version: |  |         dotnet-version: |  | ||||||
|           3.1.422 |           8.0.402 | ||||||
|           5.0.408 |           9.0.301 | ||||||
|     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 5.0.408 |     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 9.0.301 | ||||||
| ``` | ``` | ||||||
| **Installation from global.json** | **Installation from global.json** | ||||||
| 
 | 
 | ||||||
| @ -265,10 +265,10 @@ When the `dotnet-version` input is used along with the `global-json-file` input, | |||||||
|       id: stepid |       id: stepid | ||||||
|       with: |       with: | ||||||
|         dotnet-version: |  |         dotnet-version: |  | ||||||
|           3.1.422 |           8.0.402 | ||||||
|           5.0.408 |           9.0.301 | ||||||
|         global-json-file: "./global.json" # contains version 2.2.207 |         global-json-file: "./global.json" # contains version 7.0.410 | ||||||
|     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 2.2.207 |     - run: echo '${{ steps.stepid.outputs.dotnet-version }}' # outputs 7.0.410 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ### `cache-hit` | ### `cache-hit` | ||||||
| @ -304,7 +304,7 @@ build: | |||||||
|     - uses: actions/checkout@main |     - uses: actions/checkout@main | ||||||
|     - uses: actions/setup-dotnet@v4 |     - uses: actions/setup-dotnet@v4 | ||||||
|       with: |       with: | ||||||
|         dotnet-version: '3.1.x' |         dotnet-version: '8.0.x' | ||||||
|         cache: true |         cache: true | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -72,6 +72,7 @@ $targetFrameworkVersionMap = @{ | |||||||
|   "6.0" = "net6.0"; |   "6.0" = "net6.0"; | ||||||
|   "7.0" = "net7.0"; |   "7.0" = "net7.0"; | ||||||
|   "8.0" = "net8.0"; |   "8.0" = "net8.0"; | ||||||
|  |   "9.0" = "net9.0"; | ||||||
|  } |  } | ||||||
| 
 | 
 | ||||||
| foreach ($version in $Versions) | foreach ($version in $Versions) | ||||||
|  | |||||||
							
								
								
									
										193
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										193
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							| @ -28,7 +28,7 @@ | |||||||
|     Warning: Value "Current" is deprecated for the Channel parameter. Use "STS" instead. |     Warning: Value "Current" is deprecated for the Channel parameter. Use "STS" instead. | ||||||
|     Note: The version parameter overrides the channel parameter when any version other than 'latest' is used. |     Note: The version parameter overrides the channel parameter when any version other than 'latest' is used. | ||||||
| .PARAMETER Quality | .PARAMETER Quality | ||||||
|     Download the latest build of specified quality in the channel. The possible values are: daily, signed, validated, preview, GA. |     Download the latest build of specified quality in the channel. The possible values are: daily, preview, GA. | ||||||
|     Works only in combination with channel. Not applicable for STS and LTS channels and will be ignored if those channels are used.  |     Works only in combination with channel. Not applicable for STS and LTS channels and will be ignored if those channels are used.  | ||||||
|     For SDK use channel in A.B.Cxx format: using quality together with channel in A.B format is not supported. |     For SDK use channel in A.B.Cxx format: using quality together with channel in A.B format is not supported. | ||||||
|     Supported since 5.0 release. |     Supported since 5.0 release. | ||||||
| @ -300,10 +300,10 @@ function Get-NormalizedQuality([string]$Quality) { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     switch ($Quality) { |     switch ($Quality) { | ||||||
|         { @("daily", "signed", "validated", "preview") -contains $_ } { return $Quality.ToLowerInvariant() } |         { @("daily", "preview") -contains $_ } { return $Quality.ToLowerInvariant() } | ||||||
|         #ga quality is available without specifying quality, so normalizing it to empty |         #ga quality is available without specifying quality, so normalizing it to empty | ||||||
|         { $_ -eq "ga" } { return "" } |         { $_ -eq "ga" } { return "" } | ||||||
|         default { throw "'$Quality' is not a supported value for -Quality option. Supported values are: daily, signed, validated, preview, ga. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." } |         default { throw "'$Quality' is not a supported value for -Quality option. Supported values are: daily, preview, ga. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -992,32 +992,6 @@ function PrintDryRunOutput($Invocation, $DownloadLinks) { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # grab the 'stem' of the redirect and check it against all of our configured feeds,  |  | ||||||
| # if it matches, we can be sure that the redirect is valid and we should use it for |  | ||||||
| # subsequent processing |  | ||||||
| function Sanitize-RedirectUrl([string]$url) { |  | ||||||
|     $urlSegments = ([System.Uri]$url).Segments; |  | ||||||
|     $urlStem = $urlSegments[2..($urlSegments.Length - 1)] -join ""; |  | ||||||
|     Write-Verbose "Checking configured feeds for the asset at $urlStem" |  | ||||||
|     foreach ($prospectiveFeed in $feeds) { |  | ||||||
|         $trialUrl = "$prospectiveFeed/$urlStem"; |  | ||||||
|         Write-Verbose "Checking $trialUrl" |  | ||||||
|         try { |  | ||||||
|             $trialResponse = Invoke-WebRequest -Uri $trialUrl -Method HEAD |  | ||||||
|             if ($trialResponse.StatusCode -eq 200) { |  | ||||||
|                 Write-Verbose "Found a match at $trialUrl" |  | ||||||
|                 return $trialUrl; |  | ||||||
|             } |  | ||||||
|             else { |  | ||||||
|                 Write-Verbose "No match at $trialUrl" |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|         catch { |  | ||||||
|             Write-Verbose "Failed to check $trialUrl" |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Internal, [string]$Product, [string]$Architecture) { | function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Internal, [string]$Product, [string]$Architecture) { | ||||||
|     Say-Invocation $MyInvocation  |     Say-Invocation $MyInvocation  | ||||||
| 
 | 
 | ||||||
| @ -1076,11 +1050,6 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | |||||||
|         } |         } | ||||||
|         elseif ((($Response.StatusCode -lt 300) -or ($Response.StatusCode -ge 400)) -and (-not [string]::IsNullOrEmpty($akaMsDownloadLink))) { |         elseif ((($Response.StatusCode -lt 300) -or ($Response.StatusCode -ge 400)) -and (-not [string]::IsNullOrEmpty($akaMsDownloadLink))) { | ||||||
|             # Redirections have ended. |             # Redirections have ended. | ||||||
|             $actualRedirectUrl = Sanitize-RedirectUrl $akaMsDownloadLink |  | ||||||
|             if ($null -ne $actualRedirectUrl) { |  | ||||||
|                 $akaMsDownloadLink = $actualRedirectUrl |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             return $akaMsDownloadLink |             return $akaMsDownloadLink | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -1387,10 +1356,10 @@ Say "Installed version is $($DownloadedLink.effectiveVersion)" | |||||||
| Say "Installation finished" | Say "Installation finished" | ||||||
| 
 | 
 | ||||||
| # SIG # Begin signature block | # SIG # Begin signature block | ||||||
| # MIIoRgYJKoZIhvcNAQcCoIIoNzCCKDMCAQExDzANBglghkgBZQMEAgEFADB5Bgor | # MIIoQwYJKoZIhvcNAQcCoIIoNDCCKDACAQExDzANBglghkgBZQMEAgEFADB5Bgor | ||||||
| # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG | # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG | ||||||
| # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAA6hOL3sfG/4jH | # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBjtojkBmbeZ2tR | ||||||
| # iO4VqZoOTVqC+yp2rOhb1M2cc+ic7KCCDXYwggX0MIID3KADAgECAhMzAAAEBGx0 | # CQydXB44HbBh8qJv5+zBvy5xzxiVQ6CCDXYwggX0MIID3KADAgECAhMzAAAEBGx0 | ||||||
| # Bv9XKydyAAAAAAQEMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | # Bv9XKydyAAAAAAQEMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | ||||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||||
| # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p | # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p | ||||||
| @ -1462,67 +1431,67 @@ Say "Installation finished" | |||||||
| # XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA | # XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA | ||||||
| # 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt | # 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt | ||||||
| # Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr | # Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr | ||||||
| # /Xmfwb1tbWrJUnMTDXpQzTGCGiYwghoiAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | # /Xmfwb1tbWrJUnMTDXpQzTGCGiMwghofAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | ||||||
| # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN | # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN | ||||||
| # aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp | # aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp | ||||||
| # Z25pbmcgUENBIDIwMTECEzMAAAQEbHQG/1crJ3IAAAAABAQwDQYJYIZIAWUDBAIB | # Z25pbmcgUENBIDIwMTECEzMAAAQEbHQG/1crJ3IAAAAABAQwDQYJYIZIAWUDBAIB | ||||||
| # BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO | # BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO | ||||||
| # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIL7Zm9jjqasUipeS7XNbT5Gz | # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIKb/t/IsiQixSSino2wxoyAH | ||||||
| # uhEwSf09z2Ab+694mR/3MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | # KhSGyS4ahJL9k2/Yf4OUMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | ||||||
| # cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB | # cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB | ||||||
| # BQAEggEAfTNcpMwgkFxkb0hBch2MCvTb1mGCFv8rZWTkR/aRZTyzuAIEb2GfL4qB | # BQAEggEAXyJP4gv3RnprBjOWuBiJ5WCwe+yJ3pDv7/Z0W6nAhhnoN4EGHSJbxj+l | ||||||
| # rPycLC2+q4gaksj1Cv+mRTEq+ysl0aWbXgPiRNiijlnuWKRPZ4nlcGkeXu5zxJ1W | # hyTbQVXfLZoF1n4vaDsG+2b/nFo/G6CY/v4McAQeHK5vBXN7KbWwG2ASzAe0bw64 | ||||||
| # uUOCIe03s6eJCUZseRZkNHB1/CqIlk/YB5yqB38cfq6ct+lWKoSCbSwRVh3Du6am | # Rk8aMDyDSKEqP3/80uEbhGpMbSpKafk7d7Yyd3XIYmDTWU8uY9G/qZ34uo5sLiaD | ||||||
| # jxnQRa4njduu1xywcKZYp9NGGeAgRDpMNbvFKF4Qf3krbTAn3vIVDBay6oeiHo2I | # 30Sbt6cpaMNt12U+UjSsoOzSF1sN6jx7F39J0jvdi6JXeQ/AraIgmScWdBb8+KTL | ||||||
| # x1RLrRC/CEYZ7oJ8tyc3SUE2/Jd00M4EKax+z3xTIkOmyMBZjEe1el92WVcUWukT | # pNqLDiNdEUbCl36k7MzkWxgFLw7b5d9UY66W5MFYGxQchK+Aj5+yF1UShDB6x+8F | ||||||
| # ACoQjF5jPyXnfYGH7rjevjpI5u2T66GCF7AwghesBgorBgEEAYI3AwMBMYIXnDCC | # ZwUOBjuw/q9Q2hoOhWNnGUiSH3RJGaGCF60wghepBgorBgEEAYI3AwMBMYIXmTCC | ||||||
| # F5gGCSqGSIb3DQEHAqCCF4kwgheFAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFaBgsq | # F5UGCSqGSIb3DQEHAqCCF4YwgheCAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFaBgsq | ||||||
| # hkiG9w0BCRABBKCCAUkEggFFMIIBQQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | # hkiG9w0BCRABBKCCAUkEggFFMIIBQQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | ||||||
| # AwQCAQUABCBjHcYL0Rw5C6IE3Lyb3B0i9qsTzN6j8bzChm+bMp97RgIGZ2Ld17Jt | # AwQCAQUABCDh7pBn/8b+9fS1rtr9eiG6gA6ceynOYTZefg0vY17SdAIGaC4/8w45 | ||||||
| # GBMyMDI1MDExMjAwNDMxNy4yNTZaMASAAgH0oIHZpIHWMIHTMQswCQYDVQQGEwJV | # GBMyMDI1MDYxMzE2NDQ0Ny4zMTJaMASAAgH0oIHZpIHWMIHTMQswCQYDVQQGEwJV | ||||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | # Tjo1NzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||||
| # U2VydmljZaCCEf4wggcoMIIFEKADAgECAhMzAAAB+vs7RNN3M8bTAAEAAAH6MA0G | # U2VydmljZaCCEfswggcoMIIFEKADAgECAhMzAAAB+8vLbDdn5TCVAAEAAAH7MA0G | ||||||
| # CSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u | # CSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u | ||||||
| # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp | # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp | ||||||
| # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTI0 | # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTI0 | ||||||
| # MDcyNTE4MzExMVoXDTI1MTAyMjE4MzExMVowgdMxCzAJBgNVBAYTAlVTMRMwEQYD | # MDcyNTE4MzExM1oXDTI1MTAyMjE4MzExM1owgdMxCzAJBgNVBAYTAlVTMRMwEQYD | ||||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||||
| # b3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9w | # b3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9w | ||||||
| # ZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjQzMUEt | # ZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjU3MUEt | ||||||
| # MDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl | # MDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl | ||||||
| # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyhZVBM3PZcBfEpAf7fII | # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqMJWQeWAq4LwvSjYsjP0 | ||||||
| # hygwYVVP64USeZbSlRR3pvJebva0LQCDW45yOrtpwIpGyDGX+EbCbHhS5Td4J0Yl | # Uvhvm0j0aAOJiMLg0sLfxKoTXAdKD6oMuq5rF5oEiOxV+9ox0H95Q8fhoZq3x9lx | ||||||
| # c83ztLEbbQD7M6kqR0Xj+n82cGse/QnMH0WRZLnwggJdenpQ6UciM4nMYZvdQjyb | # guZyTOK4l2xtcgtJCtjXRllM2bTpjOg35RUrBy0cAloBU9GJBs7LBNrcbH6rBiOv | ||||||
| # A4qejOe9Y073JlXv3VIbdkQH2JGyT8oB/LsvPL/kAnJ45oQIp7Sx57RPQ/0O6qay | # qDQNicPRZwq16xyjMidU1J1AJuat9yLn7taifoD58blYEcBvkj5dH1la9zU846QD | ||||||
| # J2SJrwcjA8auMdAnZKOixFlzoooh7SyycI7BENHTpkVKrRV5YelRvWNTg1pH4EC2 | # eOoRO6NcqHLsDx8/zVKZxP30mW6Y7RMsqtB8cGCgGwVVurOnaNLXs31qTRTyVHX8 | ||||||
| # KO2bxsBN23btMeTvZFieGIr+D8mf1lQQs0Ht/tMOVdah14t7Yk+xl5P4Tw3xfAGg | # ppOdoSihCXeqebgJCRzG8zG/e/k0oaBjFFGl+8uFELwCyh4wK9Z5+azTzfa2GD4p | ||||||
| # Hsvsa6ugrxwmKTTX1kqXH5XCdw3TVeKCax6JV+ygM5i1NroJKwBCW11Pwi0z/ki9 | # 6ihtskXs3lnW05UKfDJhAADt6viOc0Rk/c8zOiqzh0lKpf/eWUY2o/hvcDPZNgLa | ||||||
| # 0ZeO6XfEE9mCnJm76Qcxi3tnW/Y/3ZumKQ6X/iVIJo7Lk0Z/pATRwAINqwdvzpdt | # HvyfDqb8AWaKvO36iRZSXqhSw8SxJo0TCpsbCjmtx0LpHnqbb1UF7cq09kCcfWTD | ||||||
| # X2hOJib4GR8is2bpKks04GurfweWPn9z6jY7GBC+js8pSwGewrffwgAbNKm82ZDF | # PcN12pbYLqck0bIIfPKbc7HnrkNQks/mSbVZTnDyT3O8zF9q4DCfWesSr1akycDd | ||||||
| # vqBGQQVJwIHSXpjkS+G39eyYOG2rcILBIDlzUzMFFJbNh5tDv3GeJ3EKvC4vNSAx | # uGxCdKBvgtJh1YxDq1skTweYx5iAWXnB7KMyls3WQZbTubTCLLt8Xn8t+slcKm5D | ||||||
| # tGfaG/mQhK43YjevsB72LouU78rxtNhuMXSzaHq5fFiG3zcsYHaa4+w+YmMrhTEz | # kvobubmHSriuTA3wTyIy4FxamTKm0VDu9mWds8MtjUSJVwNVVlBXaQ3ZMcVjijyV | ||||||
| # D4SAish35BjoXP1P1Ct4Va0CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBRjjHKbL5WV | # oUNVuBY9McwYcIQK62wQ20ECAwEAAaOCAUkwggFFMB0GA1UdDgQWBBRHVSGYUNQ3 | ||||||
| # 6kd06KocQHphK9U/vzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBf | # RwOl71zIAuUjIKg1KjAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBf | ||||||
| # BgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz | # BgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz | ||||||
| # L2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmww | # L2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmww | ||||||
| # bAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29m | # bAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29m | ||||||
| # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El | # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El | ||||||
| # MjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUF | # MjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUF | ||||||
| # BwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAuFbCorFrvodG | # BwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAwzoIKOY2dnUj | ||||||
| # +ZNJH3Y+Nz5QpUytQVObOyYFrgcGrxq6MUa4yLmxN4xWdL1kygaW5BOZ3xBlPY7V | # fWuMiGoz/ovoc1e86VwWaZNFdgRmOoQuRe4nLdtZONtTHNk3Sj3nkyBszzxSbZEQ | ||||||
| # puf5b5eaXP7qRq61xeOrX3f64kGiSWoRi9EJawJWCzJfUQRThDL4zxI2pYc1wnPp | # 0DduyKHHI5P8V87jFttGnlR0wPP22FAebbvAbutkMMVQMFzhVBWiWD0VAnu9x0fj | ||||||
| # 7Q695bHqwZ02eaOBudh/IfEkGe0Ofj6IS3oyZsJP1yatcm4kBqIH6db1+weM4q46 | # ifLKDAVXLwoun5rCFqwbasXFc7H/0DPiC+DBn3tUxefvcxUCys4+DC3s8CYp7WWX | ||||||
| # NhAfAf070zF6F+IpUHyhtMbQg5+QHfOuyBzrt67CiMJSKcJ3nMVyfNlnv6yvttYz | # pZ8Wb/vdBhDliHmB7pWcmsB83uc4/P2GmAI3HMkOEu7fCaSYoQhouWOr07l/KM4T | ||||||
| # LK3wS+0QwJUibLYJMI6FGcSuRxKlq6RjOhK9L3QOjh0VCM11rHM11ZmN0euJbbBC | # ndylIirm8f2WwXQcFEzmUvISM6ludUwGlVNfTTJUq2bTDEd3tlDKtV9AUY3rrnFw | ||||||
| # VfQEufOLNkG88MFCUNE10SSbM/Og/CbTko0M5wbVvQJ6CqLKjtHSoeoAGPeeX24f | # HTwJryLtT4IFhvgBfND3mL1eeSakKf7xTII4Jyt15SXhHd5oI/XGjSgykgJrWA57 | ||||||
| # 5cPYyTcKlbM6LoUdO2P5JSdI5s1JF/On6LiUT50adpRstZajbYEeX/N7RvSbkn0d | # rGnAC7ru3/ZbFNCMK/Jj6X8X4L6mBOYa2NGKwH4A37YGDrecJ/qXXWUYvfLYqHGf | ||||||
| # jD3BvT2Of3Wf9gIeaQIHbv1J2O/P5QOPQiVo8+0AKm6M0TKOduihhKxAt/6Yyk17 | # 8ThYl12Yg1rwSKpWLolA/B1eqBw4TRcvVY0IvNNi5sm+//HJ9Aw6NJuR/uDR7X7v | ||||||
| # Fv3RIdjT6wiL2qRIEsgOJp3fILw4mQRPu3spRfakSoQe5N0e4HWFf8WW2ZL0+c83 | # DXicpXMlRNgFMyADb8AFIvQPdHqcRpRorY+YUGlvzeJx/2gNYyezAokbrFhACsJ2 | ||||||
| # Qzh3VtEPI6Y2e2BO/eWhTYbIbHpqYDfAtAYtaYIde87ZymXG3MO2wUjhL9HvSQzj | # BfyeLyCEo6AuwEHn511PKE8dK4JvlmLSoHj7VFR3NHDk3zRkx0ExkmF8aOdpvoKh | ||||||
| # oquq+OoUmvfBUcB2e5L6QCHO6qTO7WowggdxMIIFWaADAgECAhMzAAAAFcXna54C | # uwBCxoZ/JhbzSzrvZ74GVjKKIyt5FA0wggdxMIIFWaADAgECAhMzAAAAFcXna54C | ||||||
| # m0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE | # m0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE | ||||||
| # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z | # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z | ||||||
| # b2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp | # b2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp | ||||||
| @ -1562,44 +1531,44 @@ Say "Installation finished" | |||||||
| # VAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC | # VAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC | ||||||
| # onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU | # onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU | ||||||
| # 5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEG | # 5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEG | ||||||
| # ahC0HVUzWLOhcGbyoYIDWTCCAkECAQEwggEBoYHZpIHWMIHTMQswCQYDVQQGEwJV | # ahC0HVUzWLOhcGbyoYIDVjCCAj4CAQEwggEBoYHZpIHWMIHTMQswCQYDVQQGEwJV | ||||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | # Tjo1NzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||||
| # U2VydmljZaIjCgEBMAcGBSsOAwIaAxUA94Z+bUJn+nKwBvII6sg0Ny7aPDaggYMw | # U2VydmljZaIjCgEBMAcGBSsOAwIaAxUABHHn7NCGusZz2RfVbyuwYwPykBWggYMw | ||||||
| # gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE | # gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE | ||||||
| # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD | # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD | ||||||
| # VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsF | # VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsF | ||||||
| # AAIFAOss/ykwIhgPMjAyNTAxMTExNDMxMDVaGA8yMDI1MDExMjE0MzEwNVowdzA9 | # AAIFAOv2ZfswIhgPMjAyNTA2MTMwODU1MjNaGA8yMDI1MDYxNDA4NTUyM1owdDA6 | ||||||
| # BgorBgEEAYRZCgQBMS8wLTAKAgUA6yz/KQIBADAKAgEAAgIpggIB/zAHAgEAAgIT | # BgorBgEEAYRZCgQBMSwwKjAKAgUA6/Zl+wIBADAHAgEAAgIFiTAHAgEAAgITZDAK | ||||||
| # XjAKAgUA6y5QqQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAow | # AgUA6/e3ewIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIB | ||||||
| # CAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBCwUAA4IBAQCHE6DSGdY4 | # AAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBCwUAA4IBAQC/a9dzO7ihi6RJ | ||||||
| # KF25iAsxQP9F9Lz6ye/vrWGv+j0aSzSbjHVM3kMcEmX9278XgAKgAYII/f16uDtE | # EpTydxMt+kL/g80kIQZaF9gYxQ+sFwgBKtsM5HBNk1Q887c05o9WfbrlUdNs4ctF | ||||||
| # 7VlEwnKGXujGF249I864U50QFt9hIxqCeuvrshDq8a4Q4KVmuDTosYjS114IJeBK | # AUno9EBn3et+nCuM1jMNYamxRpqMXjXtNsXSY/a5VVvlRIEjMMg/Y4FQl4FoV2ix | ||||||
| # LMOBRgLQCIC+wmvdP4EeYH1tnMIEASFvptE+XBro44/A5pmx5UiDJRL1AG4+aO3x | # NovCSv/nzN2FMASoO1v6gDdxlAjTn6sct8SX/cFOcq3ygzaiCz5iJDbcEAibiLWu | ||||||
| # 13psQu7H3thmbGy7Sf0Azjx0PZ+1QUVI7jWNk9DWjGd18G4SQD8Uxeh0v73/dQx1 | # EvbHlZGqTWr4U/E7tllIbIwAITKe3efXh6XZqXNlGE3ATI56/ON7Yt0UUE4tKLfy | ||||||
| # XsFhsyvnrw6uUrxkoAdurif9kyKS+ppo4j9ZkPXzzuc95s1bPcPAyjXCu07Tlunj | # gfJR9CxGLoR0190i4WkN6jupd1YcN429sJ6ysZ4S9TdJ+GvRlJSMFKeWivd4F4zo | ||||||
| # sXttGVEPQIeXMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT | # OTPbEwqEMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh | ||||||
| # Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m | # c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD | ||||||
| # dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB | # b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw | ||||||
| # IDIwMTACEzMAAAH6+ztE03czxtMAAQAAAfowDQYJYIZIAWUDBAIBBQCgggFKMBoG | # MTACEzMAAAH7y8tsN2flMJUAAQAAAfswDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqG | ||||||
| # CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgxenDb/df | # SIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgwbTbeYOCT6e0 | ||||||
| # q8XJS+q7Oxyca1ryDMmDRA0I3mtr+xYHGZQwgfoGCyqGSIb3DQEJEAIvMYHqMIHn | # 9m/nGWf3VM8Izu+ofDyZvIVt/7qeTowwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHk | ||||||
| # MIHkMIG9BCB98n8tya8+B2jjU/dpJRIwHwHHpco5ogNStYocbkOeVjCBmDCBgKR+ | # MIG9BCA52wKr/KCFlVNYiWsCLsB4qhjEYEP3xHqYqDu1SSTlGDCBmDCBgKR+MHwx | ||||||
| # MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS | # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt | ||||||
| # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT | # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p | ||||||
| # HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB+vs7RNN3M8bTAAEA | # Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB+8vLbDdn5TCVAAEAAAH7 | ||||||
| # AAH6MCIEIC8gtQ6HRW7jzwlpg15qoYopXwF01KaO1EM5tYzqJwx/MA0GCSqGSIb3 | # MCIEIPcH6DhKuQmVi5kAy9sVRoRXPipes8vrZ2FLpsrMiOyzMA0GCSqGSIb3DQEB | ||||||
| # DQEBCwUABIICAIsSn8x3zVS870Zf4pa+jfZjdOq++5dHpeLg46sujQ3w+xj3RyhB | # CwUABIICABmfHFIPfVUI80k87iTdaS0cZ+V12TVx4JTzIwp8c/NK5nAe9FDdy6Nf | ||||||
| # nRa3kjWyU9nNF6hrt0Q+ILOxUt3jCd3hbB1ZuspwbXdoRtRLfuLPvGiSmINdgFR4 | # IbtY6Ho9381A14wFYibbhSjN1ahY4P6ApYisJ09bScggfxZJxmSEuJkiEwMC3/Yw | ||||||
| # LD/jXLrq9USAHYXHzhuYhaVLIpn7M87TbFuGFVaByjmohZRcPCE8y8b7/RIlGm7B | # d2t8L0458tuMKD7DW9wv8nvNAMHvu7FoBDrNgHqHV0exTXFqnFM+Fxzn0qRPA9gJ | ||||||
| # wgx0thZA4lHWFyj8j7CwjmueOJSSZ9an4P9VHFKJ63kYub4J1VxbeApGAeeS32SD | # uOhLNUuWBHjjTlUYAsEHDTyoKXRS5NaCX8Oc1w0/cQmHKgYXfmDjWMCcJf122mkH | ||||||
| # oI3zDdC+iI+IetR9BUHGcR3Vg7j7c0T+NcrIoPPNb4Ff90Ue24h5RDJMQWrM56ak | # Y0orD92LBpAL4JLZd2V9eP8OZgRFaX0Oel7c+sLZxsQDR5pRnVAz+a3/mXz054cE | ||||||
| # VEWgVlzhf8CeyeO7/ButBUZu8VLkH0DQraK9UKptZFKOXMELoi/oZL6IJftHp5vU | # d1YnkqMWMAK6kykO231AucQhABxEyJdelnsp11ELIDCzWq+VxFFDWMbzC1ay9s6K | ||||||
| # +sPpF3NuuXw8Z5eL9jZ7A1y+H7nMhdXP2pojHDN213VZqeoUoOZlbFl6spDF1hFP | # BQql8OWesFfX+DxPY63MR5fd29eh0kzvM/hobg0rAzzbk0OXEEEhMLWeDMfe5IMj | ||||||
| # 44Fu7TPGEwUNS213Pwln2SJ8SayeVUxsreo4pTvhDl/xZ+B7WNuLL7hatWFGrcf3 | # b5fx0EJS2BdPK/bd1EHHtcBLOLbtiE0kXXpPjTygW2IJoBhKPox/gi5gceyEjLhR | ||||||
| # w/HiVCoTfsY49SaN6zAK6akS3KI6KZHfzjaxDw+4LHo8gL68Ik1HZe4W1jaLYaED | # WilKzMEJtCMLGsRvxd8zKtfJFJw/T59CHt4phsve+b3LfvdOfMo8/yzm6+RyyKYr | ||||||
| # LWvKIinaH2vwU0J4a+oX+64eSh0tI9Ef3aM6jn9LgqubY36TzptUTWcsM3vv3YGB | # 9tqJ9KEp+e2NRRQDa7NsYKqGENiIocWGMMjXHbxaV4kaAKKv686Q+CbRuPRM6n9f | ||||||
| # Dnf7LPxSt4/s5bUgAHvkWTjESdtIbt6Pxqz4BRha+ckPYBj968t3mSh6 | # 7qb6MbhETtvKwPvPiRvCFk5rrsTAQqo+QO6oXs81aVcxdpYUO8s+ | ||||||
| # SIG # End signature block | # SIG # End signature block | ||||||
|  | |||||||
							
								
								
									
										76
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										76
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							| @ -477,7 +477,7 @@ get_normalized_quality() { | |||||||
|     local quality="$(to_lowercase "$1")" |     local quality="$(to_lowercase "$1")" | ||||||
|     if [ ! -z "$quality" ]; then |     if [ ! -z "$quality" ]; then | ||||||
|         case "$quality" in |         case "$quality" in | ||||||
|             daily | signed | validated | preview) |             daily | preview) | ||||||
|                 echo "$quality" |                 echo "$quality" | ||||||
|                 return 0 |                 return 0 | ||||||
|                 ;; |                 ;; | ||||||
| @ -486,7 +486,7 @@ get_normalized_quality() { | |||||||
|                 return 0 |                 return 0 | ||||||
|                 ;; |                 ;; | ||||||
|             *) |             *) | ||||||
|                 say_err "'$quality' is not a supported value for --quality option. Supported values are: daily, signed, validated, preview, ga. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." |                 say_err "'$quality' is not a supported value for --quality option. Supported values are: daily, preview, ga. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues." | ||||||
|                 return 1 |                 return 1 | ||||||
|                 ;; |                 ;; | ||||||
|         esac |         esac | ||||||
| @ -1198,13 +1198,19 @@ downloadcurl() { | |||||||
|     local curl_options="--retry 20 --retry-delay 2 --connect-timeout 15 -sSL -f --create-dirs " |     local curl_options="--retry 20 --retry-delay 2 --connect-timeout 15 -sSL -f --create-dirs " | ||||||
|     local curl_exit_code=0; |     local curl_exit_code=0; | ||||||
|     if [ -z "$out_path" ]; then |     if [ -z "$out_path" ]; then | ||||||
|         curl $curl_options "$remote_path_with_credential" 2>&1 |         curl_output=$(curl $curl_options "$remote_path_with_credential" 2>&1) | ||||||
|         curl_exit_code=$? |         curl_exit_code=$? | ||||||
|  |         echo "$curl_output" | ||||||
|     else |     else | ||||||
|         curl $curl_options -o "$out_path" "$remote_path_with_credential" 2>&1 |         curl_output=$(curl $curl_options -o "$out_path" "$remote_path_with_credential" 2>&1) | ||||||
|         curl_exit_code=$? |         curl_exit_code=$? | ||||||
|     fi |     fi | ||||||
| 
 | 
 | ||||||
|  |     # Regression in curl causes curl with --retry to return a 0 exit code even when it fails to download a file - https://github.com/curl/curl/issues/17554 | ||||||
|  |     if [ $curl_exit_code -eq 0 ] && echo "$curl_output" | grep -q "^curl: ([0-9]*) "; then | ||||||
|  |         curl_exit_code=$(echo "$curl_output" | sed 's/curl: (\([0-9]*\)).*/\1/') | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|     if [ $curl_exit_code -gt 0 ]; then |     if [ $curl_exit_code -gt 0 ]; then | ||||||
|         download_error_msg="Unable to download $remote_path." |         download_error_msg="Unable to download $remote_path." | ||||||
|         # Check for curl timeout codes |         # Check for curl timeout codes | ||||||
| @ -1272,61 +1278,6 @@ downloadwget() { | |||||||
|     return 0 |     return 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| extract_stem() { |  | ||||||
|     local url="$1" |  | ||||||
|     # extract the protocol |  | ||||||
|     proto="$(echo $1 | grep :// | sed -e's,^\(.*://\).*,\1,g')" |  | ||||||
|     # remove the protocol |  | ||||||
|     url="${1/$proto/}" |  | ||||||
|     # extract the path (if any) - since we know all of our feeds have a first path segment, we can skip the first one. otherwise we'd use -f2- to get the full path |  | ||||||
|     full_path="$(echo $url | grep / | cut -d/ -f2-)" |  | ||||||
|     path="$(echo $full_path | cut -d/ -f2-)" |  | ||||||
|     echo $path |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| check_url_exists() { |  | ||||||
|     eval $invocation |  | ||||||
|     local url="$1" |  | ||||||
| 
 |  | ||||||
|     local code="" |  | ||||||
|     if machine_has "curl" |  | ||||||
|     then |  | ||||||
|         code=$(curl --head -o /dev/null -w "%{http_code}" -s --fail "$url"); |  | ||||||
|     elif machine_has "wget" |  | ||||||
|     then |  | ||||||
|         # get the http response, grab the status code |  | ||||||
|         server_response=$(wget -qO- --method=HEAD --server-response "$url" 2>&1) |  | ||||||
|         code=$(echo "$server_response" | grep "HTTP/" | awk '{print $2}') |  | ||||||
|     fi |  | ||||||
|     if [ $code = "200" ]; then |  | ||||||
|         return 0 |  | ||||||
|     else |  | ||||||
|         return 1 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| sanitize_redirect_url() { |  | ||||||
|     eval $invocation |  | ||||||
| 
 |  | ||||||
|     local url_stem |  | ||||||
|     url_stem=$(extract_stem "$1") |  | ||||||
|     say_verbose "Checking configured feeds for the asset at ${yellow:-}$url_stem${normal:-}" |  | ||||||
| 
 |  | ||||||
|     for feed in "${feeds[@]}" |  | ||||||
|     do |  | ||||||
|         local trial_url="$feed/$url_stem" |  | ||||||
|         say_verbose "Checking ${yellow:-}$trial_url${normal:-}" |  | ||||||
|         if check_url_exists "$trial_url"; then |  | ||||||
|             say_verbose "Found a match at ${yellow:-}$trial_url${normal:-}" |  | ||||||
|             echo "$trial_url" |  | ||||||
|             return 0 |  | ||||||
|         else |  | ||||||
|             say_verbose "No match at ${yellow:-}$trial_url${normal:-}" |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|     return 1 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| get_download_link_from_aka_ms() { | get_download_link_from_aka_ms() { | ||||||
|     eval $invocation |     eval $invocation | ||||||
| 
 | 
 | ||||||
| @ -1379,11 +1330,6 @@ get_download_link_from_aka_ms() { | |||||||
|             return 1 |             return 1 | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|         sanitized_redirect_url=$(sanitize_redirect_url "$aka_ms_download_link") |  | ||||||
|         if [[ -n "$sanitized_redirect_url" ]]; then |  | ||||||
|             aka_ms_download_link="$sanitized_redirect_url" |  | ||||||
|         fi |  | ||||||
| 
 |  | ||||||
|         say_verbose "The redirect location retrieved: '$aka_ms_download_link'." |         say_verbose "The redirect location retrieved: '$aka_ms_download_link'." | ||||||
|         return 0 |         return 0 | ||||||
|     else |     else | ||||||
| @ -1848,7 +1794,7 @@ do | |||||||
|             echo "              examples: 2.0.0-preview2-006120; 1.1.0" |             echo "              examples: 2.0.0-preview2-006120; 1.1.0" | ||||||
|             echo "  -q,--quality <quality>         Download the latest build of specified quality in the channel." |             echo "  -q,--quality <quality>         Download the latest build of specified quality in the channel." | ||||||
|             echo "      -Quality" |             echo "      -Quality" | ||||||
|             echo "          The possible values are: daily, signed, validated, preview, GA." |             echo "          The possible values are: daily, preview, GA." | ||||||
|             echo "          Works only in combination with channel. Not applicable for STS and LTS channels and will be ignored if those channels are used."  |             echo "          Works only in combination with channel. Not applicable for STS and LTS channels and will be ignored if those channels are used."  | ||||||
|             echo "          For SDK use channel in A.B.Cxx format. Using quality for SDK together with channel in A.B format is not supported."  |             echo "          For SDK use channel in A.B.Cxx format. Using quality for SDK together with channel in A.B format is not supported."  | ||||||
|             echo "          Supported since 5.0 release."  |             echo "          Supported since 5.0 release."  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user