mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 23:43:44 +00:00 
			
		
		
		
	Merge branch 'main' into fix-releases
This commit is contained in:
		
						commit
						d3c6b464aa
					
				
							
								
								
									
										22
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| # To get started with Dependabot version updates, you'll need to specify which | ||||
| # package ecosystems to update and where the package manifests are located. | ||||
| # Please see the documentation for all configuration options: | ||||
| # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||||
| 
 | ||||
| version: 2 | ||||
| updates: | ||||
|   # Enable version updates for npm | ||||
|   - package-ecosystem: 'npm' | ||||
|     # Look for `package.json` and `lock` files in the `root` directory | ||||
|     directory: '/' | ||||
|     # Check the npm registry for updates every day (weekdays) | ||||
|     schedule: | ||||
|       interval: 'weekly' | ||||
| 
 | ||||
|   # Enable version updates for GitHub Actions | ||||
|   - package-ecosystem: 'github-actions' | ||||
|     # Workflow files stored in the default location of `.github/workflows` | ||||
|     # You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`. | ||||
|     directory: '/' | ||||
|     schedule: | ||||
|       interval: 'weekly' | ||||
							
								
								
									
										373
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										373
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,7 +17,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -35,12 +35,35 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2.402$", "^3.1.404$", "^3.0" | ||||
| 
 | ||||
|   test-setup-multiple-versions-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet 6.0.427, 8.0.403 and 8.0.x | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: | | ||||
|             6.0.427 | ||||
|             8.0.403 | ||||
|             8.0.x | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0.427$", "^8.0.403$", "^8.0" | ||||
| 
 | ||||
|   test-setup-full-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -64,12 +87,41 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1.201$", "^2.2.402$" -CheckNugetConfig | ||||
| 
 | ||||
|   test-setup-full-version-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       # Side-by-side install of 6.0 and 8.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 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 8.0.402 | ||||
|           # 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 | ||||
|         env: | ||||
|           NUGET_AUTH_TOKEN: NOTATOKEN | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.402$", "^6.0.427$" -CheckNugetConfig | ||||
| 
 | ||||
|   test-setup-without-patch-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -89,12 +141,37 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1", "^2.2" | ||||
| 
 | ||||
|   test-setup-without-patch-version-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         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 | ||||
|       - name: Setup dotnet '8.0' | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '8.0' | ||||
|       - name: Setup dotnet '6.0' | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '6.0' | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^6.0" | ||||
| 
 | ||||
|   test-setup-prerelease-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -109,12 +186,32 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "3.1.100-preview1-014459" | ||||
| 
 | ||||
|   test-setup-prerelease-version-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet '8.0.100-preview.1.23115.2' | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '8.0.100-preview.1.23115.2' | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "8.0.100-preview.1.23115.2" | ||||
| 
 | ||||
|   test-setup-latest-patch-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -133,12 +230,37 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2", "^3.1" | ||||
| 
 | ||||
|   test-setup-latest-patch-version-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet 8.0.x | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 8.0.x | ||||
|       - name: Setup dotnet 6.0.X | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 6.0.X | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^8.0" | ||||
| 
 | ||||
|   test-ABCxx-syntax: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: | ||||
|           [ubuntu-latest, windows-latest, macos-13, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -159,7 +281,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -178,12 +300,36 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1", "^2.2" | ||||
| 
 | ||||
|   test-setup-with-wildcard-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet 8.0.* | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 8.0.* | ||||
|       - name: Setup dotnet 6.0.* | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 6.0.* | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0", "^6.0" | ||||
| 
 | ||||
|   test-setup-global-json-specified-and-version: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -204,12 +350,38 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2", "^3.1" | ||||
| 
 | ||||
|   test-setup-global-json-specified-and-version-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Write global.json | ||||
|         shell: bash | ||||
|         run: | | ||||
|           mkdir subdirectory | ||||
|           echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json | ||||
|       - name: Setup dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '8.0' | ||||
|           global-json-file: ./subdirectory/global.json | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0", "^8.0" | ||||
| 
 | ||||
|   test-setup-global-json-only: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -229,12 +401,37 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" | ||||
| 
 | ||||
|   test-setup-global-json-only-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Write global.json | ||||
|         shell: bash | ||||
|         run: | | ||||
|           mkdir subdirectory | ||||
|           echo '{"sdk":{"version": "6.0.424","rollForward": "latestFeature"}}' > ./subdirectory/global.json | ||||
|       - name: Setup dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           global-json-file: ./subdirectory/global.json | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||
| 
 | ||||
|   test-global-json-with-comments: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -254,12 +451,38 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^2.2" | ||||
| 
 | ||||
|   test-global-json-with-comments-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Write global.json | ||||
|         shell: bash | ||||
|         run: | | ||||
|           mkdir subdirectory | ||||
|           echo '/* should support comments */ {"sdk":{"version": "6.0.424","rollForward": "latestFeature"}} // should support comments' > ./subdirectory/global.json | ||||
|       - name: Setup dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           global-json-file: ./subdirectory/global.json | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^6.0" | ||||
| 
 | ||||
|   test-setup-with-dotnet-quality: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: | ||||
|           [ubuntu-latest, windows-latest, macos-13, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -281,7 +504,7 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
| @ -307,12 +530,43 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1" | ||||
| 
 | ||||
|   test-setup-with-cache-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Copy NuGet lock file to root | ||||
|         shell: bash | ||||
|         run: cp ./__tests__/e2e-test-csproj/packages.lock.json ./packages.lock.json | ||||
|       - name: Setup .NET Core 8.0 | ||||
|         id: setup-dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '8.0' | ||||
|           cache: true | ||||
|       - name: Verify Cache | ||||
|         if: steps.setup-dotnet.outputs.cache-hit == 'true' | ||||
|         shell: bash | ||||
|         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0" | ||||
| 
 | ||||
|   test-setup-with-cache-dependency-path: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
| @ -336,12 +590,42 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1" | ||||
| 
 | ||||
|   test-setup-with-cache-dependency-path-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|     env: | ||||
|       NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup .NET Core 8.0 | ||||
|         id: setup-dotnet | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: '8.0' | ||||
|           cache: true | ||||
|           cache-dependency-path: './__tests__/e2e-test-csproj/packages.lock.json' | ||||
|       - name: Verify Cache | ||||
|         if: steps.setup-dotnet.outputs.cache-hit == 'true' | ||||
|         shell: bash | ||||
|         run: if [[ -e ${NUGET_PACKAGES} ]]; then exit 0; else exit 1; fi | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0" | ||||
| 
 | ||||
|   test-dotnet-version-output-during-single-version-installation: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: | ||||
|           [ubuntu-latest, windows-latest, macos-13, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -367,7 +651,8 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: | ||||
|           [ubuntu-latest, windows-latest, macos-13, macos-latest] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -431,10 +716,10 @@ jobs: | ||||
|           __tests__/verify-dotnet.ps1 -Patterns "^6.0" -CheckNugetConfig | ||||
| 
 | ||||
|   test-bypass-proxy: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-22.04 | ||||
|     env: | ||||
|       https_proxy: http://no-such-proxy:3128 | ||||
|       no_proxy: github.com,dotnetcli.blob.core.windows.net,download.visualstudio.microsoft.com,api.nuget.org,dotnetcli.azureedge.net | ||||
|       no_proxy: github.com,download.visualstudio.microsoft.com,api.nuget.org,builds.dotnet.microsoft.com,ci.dot.net | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
| @ -452,12 +737,34 @@ jobs: | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^3.1.201$" -CheckNugetConfig | ||||
| 
 | ||||
|   test-bypass-proxy-extended: | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       https_proxy: http://no-such-proxy:3128 | ||||
|       no_proxy: github.com,download.visualstudio.microsoft.com,api.nuget.org,builds.dotnet.microsoft.com,ci.dot.net | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       - name: Setup dotnet 8.0.402 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: 8.0.402 | ||||
|           source-url: https://api.nuget.org/v3/index.json | ||||
|         env: | ||||
|           NUGET_AUTH_TOKEN: NOTATOKEN | ||||
|       - name: Verify dotnet | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^8.0.402$" -CheckNugetConfig | ||||
| 
 | ||||
|   test-sequential-version-installation: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: [ubuntu-22.04, windows-latest, macos-13] | ||||
|         lower-version: ['3.1.426'] | ||||
|         higher-version: ['7.0.203'] | ||||
|     steps: | ||||
| @ -481,3 +788,33 @@ jobs: | ||||
|       - name: Verify dotnet (higher version) | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$", "^${{ matrix.higher-version }}$" | ||||
| 
 | ||||
|   test-sequential-version-installation-extended: | ||||
|     runs-on: ${{ matrix.operating-system }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, macos-latest] | ||||
|         lower-version: ['6.0.425'] | ||||
|         higher-version: ['8.0.403'] | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Clear toolcache | ||||
|         shell: pwsh | ||||
|         run: __tests__/clear-toolcache.ps1 ${{ runner.os }} | ||||
|       # Install one version, use it for something, then switch to next version | ||||
|       - name: Setup dotnet (lower version) | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: ${{ matrix.lower-version }} | ||||
|       - name: Verify dotnet (lower version) | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$" | ||||
|       - name: Setup dotnet (higher version) | ||||
|         uses: ./ | ||||
|         with: | ||||
|           dotnet-version: ${{ matrix.higher-version }} | ||||
|       - name: Verify dotnet (higher version) | ||||
|         shell: pwsh | ||||
|         run: __tests__/verify-dotnet.ps1 -Patterns "^${{ matrix.lower-version }}$", "^${{ matrix.higher-version }}$" | ||||
|  | ||||
| @ -17,4 +17,4 @@ jobs: | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Publish | ||||
|         id: publish | ||||
|         uses: actions/publish-immutable-action@0.0.3 | ||||
|         uses: actions/publish-immutable-action@v0.0.4 | ||||
|  | ||||
| @ -23,7 +23,7 @@ jobs: | ||||
|     steps: | ||||
|       - name: Update the ${{ env.TAG_NAME }} tag | ||||
|         id: update-major-tag | ||||
|         uses: actions/publish-action@v0.2.2 | ||||
|         uses: actions/publish-action@v0.3.0 | ||||
|         with: | ||||
|           source-tag: ${{ env.TAG_NAME }} | ||||
|           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} | ||||
|  | ||||
							
								
								
									
										24
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/test-dotnet.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,8 +17,30 @@ jobs: | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         operating-system: [ubuntu-latest, windows-latest, macos-13] | ||||
|         operating-system: | ||||
|           [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'] | ||||
|         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: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/cache" | ||||
| version: 3.2.4 | ||||
| version: 4.0.2 | ||||
| type: npm | ||||
| summary: Actions cache lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/cache | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/core" | ||||
| version: 1.10.1 | ||||
| version: 1.11.1 | ||||
| type: npm | ||||
| summary: Actions core lib | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/core | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@actions/http-client" | ||||
| version: 2.2.1 | ||||
| version: 2.2.3 | ||||
| type: npm | ||||
| summary: Actions Http Client | ||||
| homepage: https://github.com/actions/toolkit/tree/main/packages/http-client | ||||
|  | ||||
							
								
								
									
										2
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/@fastify/busboy.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: "@fastify/busboy" | ||||
| version: 2.1.0 | ||||
| version: 2.1.1 | ||||
| type: npm | ||||
| summary: A streaming parser for HTML form data for node.js | ||||
| homepage: | ||||
|  | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin-framework" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: framework to create protoc plugins | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     Apache License | ||||
|                                Version 2.0, January 2004 | ||||
|                             http://www.apache.org/licenses/ | ||||
| 
 | ||||
|        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
| 
 | ||||
|        1. Definitions. | ||||
| 
 | ||||
|           "License" shall mean the terms and conditions for use, reproduction, | ||||
|           and distribution as defined by Sections 1 through 9 of this document. | ||||
| 
 | ||||
|           "Licensor" shall mean the copyright owner or entity authorized by | ||||
|           the copyright owner that is granting the License. | ||||
| 
 | ||||
|           "Legal Entity" shall mean the union of the acting entity and all | ||||
|           other entities that control, are controlled by, or are under common | ||||
|           control with that entity. For the purposes of this definition, | ||||
|           "control" means (i) the power, direct or indirect, to cause the | ||||
|           direction or management of such entity, whether by contract or | ||||
|           otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|           outstanding shares, or (iii) beneficial ownership of such entity. | ||||
| 
 | ||||
|           "You" (or "Your") shall mean an individual or Legal Entity | ||||
|           exercising permissions granted by this License. | ||||
| 
 | ||||
|           "Source" form shall mean the preferred form for making modifications, | ||||
|           including but not limited to software source code, documentation | ||||
|           source, and configuration files. | ||||
| 
 | ||||
|           "Object" form shall mean any form resulting from mechanical | ||||
|           transformation or translation of a Source form, including but | ||||
|           not limited to compiled object code, generated documentation, | ||||
|           and conversions to other media types. | ||||
| 
 | ||||
|           "Work" shall mean the work of authorship, whether in Source or | ||||
|           Object form, made available under the License, as indicated by a | ||||
|           copyright notice that is included in or attached to the work | ||||
|           (an example is provided in the Appendix below). | ||||
| 
 | ||||
|           "Derivative Works" shall mean any work, whether in Source or Object | ||||
|           form, that is based on (or derived from) the Work and for which the | ||||
|           editorial revisions, annotations, elaborations, or other modifications | ||||
|           represent, as a whole, an original work of authorship. For the purposes | ||||
|           of this License, Derivative Works shall not include works that remain | ||||
|           separable from, or merely link (or bind by name) to the interfaces of, | ||||
|           the Work and Derivative Works thereof. | ||||
| 
 | ||||
|           "Contribution" shall mean any work of authorship, including | ||||
|           the original version of the Work and any modifications or additions | ||||
|           to that Work or Derivative Works thereof, that is intentionally | ||||
|           submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|           or by an individual or Legal Entity authorized to submit on behalf of | ||||
|           the copyright owner. For the purposes of this definition, "submitted" | ||||
|           means any form of electronic, verbal, or written communication sent | ||||
|           to the Licensor or its representatives, including but not limited to | ||||
|           communication on electronic mailing lists, source code control systems, | ||||
|           and issue tracking systems that are managed by, or on behalf of, the | ||||
|           Licensor for the purpose of discussing and improving the Work, but | ||||
|           excluding communication that is conspicuously marked or otherwise | ||||
|           designated in writing by the copyright owner as "Not a Contribution." | ||||
| 
 | ||||
|           "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|           on behalf of whom a Contribution has been received by Licensor and | ||||
|           subsequently incorporated within the Work. | ||||
| 
 | ||||
|        2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           copyright license to reproduce, prepare Derivative Works of, | ||||
|           publicly display, publicly perform, sublicense, and distribute the | ||||
|           Work and such Derivative Works in Source or Object form. | ||||
| 
 | ||||
|        3. Grant of Patent License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           (except as stated in this section) patent license to make, have made, | ||||
|           use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|           where such license applies only to those patent claims licensable | ||||
|           by such Contributor that are necessarily infringed by their | ||||
|           Contribution(s) alone or by combination of their Contribution(s) | ||||
|           with the Work to which such Contribution(s) was submitted. If You | ||||
|           institute patent litigation against any entity (including a | ||||
|           cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|           or a Contribution incorporated within the Work constitutes direct | ||||
|           or contributory patent infringement, then any patent licenses | ||||
|           granted to You under this License for that Work shall terminate | ||||
|           as of the date such litigation is filed. | ||||
| 
 | ||||
|        4. Redistribution. You may reproduce and distribute copies of the | ||||
|           Work or Derivative Works thereof in any medium, with or without | ||||
|           modifications, and in Source or Object form, provided that You | ||||
|           meet the following conditions: | ||||
| 
 | ||||
|           (a) You must give any other recipients of the Work or | ||||
|               Derivative Works a copy of this License; and | ||||
| 
 | ||||
|           (b) You must cause any modified files to carry prominent notices | ||||
|               stating that You changed the files; and | ||||
| 
 | ||||
|           (c) You must retain, in the Source form of any Derivative Works | ||||
|               that You distribute, all copyright, patent, trademark, and | ||||
|               attribution notices from the Source form of the Work, | ||||
|               excluding those notices that do not pertain to any part of | ||||
|               the Derivative Works; and | ||||
| 
 | ||||
|           (d) If the Work includes a "NOTICE" text file as part of its | ||||
|               distribution, then any Derivative Works that You distribute must | ||||
|               include a readable copy of the attribution notices contained | ||||
|               within such NOTICE file, excluding those notices that do not | ||||
|               pertain to any part of the Derivative Works, in at least one | ||||
|               of the following places: within a NOTICE text file distributed | ||||
|               as part of the Derivative Works; within the Source form or | ||||
|               documentation, if provided along with the Derivative Works; or, | ||||
|               within a display generated by the Derivative Works, if and | ||||
|               wherever such third-party notices normally appear. The contents | ||||
|               of the NOTICE file are for informational purposes only and | ||||
|               do not modify the License. You may add Your own attribution | ||||
|               notices within Derivative Works that You distribute, alongside | ||||
|               or as an addendum to the NOTICE text from the Work, provided | ||||
|               that such additional attribution notices cannot be construed | ||||
|               as modifying the License. | ||||
| 
 | ||||
|           You may add Your own copyright statement to Your modifications and | ||||
|           may provide additional or different license terms and conditions | ||||
|           for use, reproduction, or distribution of Your modifications, or | ||||
|           for any such Derivative Works as a whole, provided Your use, | ||||
|           reproduction, and distribution of the Work otherwise complies with | ||||
|           the conditions stated in this License. | ||||
| 
 | ||||
|        5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|           any Contribution intentionally submitted for inclusion in the Work | ||||
|           by You to the Licensor shall be under the terms and conditions of | ||||
|           this License, without any additional terms or conditions. | ||||
|           Notwithstanding the above, nothing herein shall supersede or modify | ||||
|           the terms of any separate license agreement you may have executed | ||||
|           with Licensor regarding such Contributions. | ||||
| 
 | ||||
|        6. Trademarks. This License does not grant permission to use the trade | ||||
|           names, trademarks, service marks, or product names of the Licensor, | ||||
|           except as required for reasonable and customary use in describing the | ||||
|           origin of the Work and reproducing the content of the NOTICE file. | ||||
| 
 | ||||
|        7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|           agreed to in writing, Licensor provides the Work (and each | ||||
|           Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|           implied, including, without limitation, any warranties or conditions | ||||
|           of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|           PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|           appropriateness of using or redistributing the Work and assume any | ||||
|           risks associated with Your exercise of permissions under this License. | ||||
| 
 | ||||
|        8. Limitation of Liability. In no event and under no legal theory, | ||||
|           whether in tort (including negligence), contract, or otherwise, | ||||
|           unless required by applicable law (such as deliberate and grossly | ||||
|           negligent acts) or agreed to in writing, shall any Contributor be | ||||
|           liable to You for damages, including any direct, indirect, special, | ||||
|           incidental, or consequential damages of any character arising as a | ||||
|           result of this License or out of the use or inability to use the | ||||
|           Work (including but not limited to damages for loss of goodwill, | ||||
|           work stoppage, computer failure or malfunction, or any and all | ||||
|           other commercial damages or losses), even if such Contributor | ||||
|           has been advised of the possibility of such damages. | ||||
| 
 | ||||
|        9. Accepting Warranty or Additional Liability. While redistributing | ||||
|           the Work or Derivative Works thereof, You may choose to offer, | ||||
|           and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|           or other liability obligations and/or rights consistent with this | ||||
|           License. However, in accepting such obligations, You may act only | ||||
|           on Your own behalf and on Your sole responsibility, not on behalf | ||||
|           of any other Contributor, and only if You agree to indemnify, | ||||
|           defend, and hold each Contributor harmless for any liability | ||||
|           incurred by, or claims asserted against, such Contributor by reason | ||||
|           of your accepting any such warranty or additional liability. | ||||
| notices: [] | ||||
							
								
								
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,186 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/plugin" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web, | ||||
|   Twirp, and more. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     Apache License | ||||
|                                Version 2.0, January 2004 | ||||
|                             http://www.apache.org/licenses/ | ||||
| 
 | ||||
|        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
| 
 | ||||
|        1. Definitions. | ||||
| 
 | ||||
|           "License" shall mean the terms and conditions for use, reproduction, | ||||
|           and distribution as defined by Sections 1 through 9 of this document. | ||||
| 
 | ||||
|           "Licensor" shall mean the copyright owner or entity authorized by | ||||
|           the copyright owner that is granting the License. | ||||
| 
 | ||||
|           "Legal Entity" shall mean the union of the acting entity and all | ||||
|           other entities that control, are controlled by, or are under common | ||||
|           control with that entity. For the purposes of this definition, | ||||
|           "control" means (i) the power, direct or indirect, to cause the | ||||
|           direction or management of such entity, whether by contract or | ||||
|           otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|           outstanding shares, or (iii) beneficial ownership of such entity. | ||||
| 
 | ||||
|           "You" (or "Your") shall mean an individual or Legal Entity | ||||
|           exercising permissions granted by this License. | ||||
| 
 | ||||
|           "Source" form shall mean the preferred form for making modifications, | ||||
|           including but not limited to software source code, documentation | ||||
|           source, and configuration files. | ||||
| 
 | ||||
|           "Object" form shall mean any form resulting from mechanical | ||||
|           transformation or translation of a Source form, including but | ||||
|           not limited to compiled object code, generated documentation, | ||||
|           and conversions to other media types. | ||||
| 
 | ||||
|           "Work" shall mean the work of authorship, whether in Source or | ||||
|           Object form, made available under the License, as indicated by a | ||||
|           copyright notice that is included in or attached to the work | ||||
|           (an example is provided in the Appendix below). | ||||
| 
 | ||||
|           "Derivative Works" shall mean any work, whether in Source or Object | ||||
|           form, that is based on (or derived from) the Work and for which the | ||||
|           editorial revisions, annotations, elaborations, or other modifications | ||||
|           represent, as a whole, an original work of authorship. For the purposes | ||||
|           of this License, Derivative Works shall not include works that remain | ||||
|           separable from, or merely link (or bind by name) to the interfaces of, | ||||
|           the Work and Derivative Works thereof. | ||||
| 
 | ||||
|           "Contribution" shall mean any work of authorship, including | ||||
|           the original version of the Work and any modifications or additions | ||||
|           to that Work or Derivative Works thereof, that is intentionally | ||||
|           submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|           or by an individual or Legal Entity authorized to submit on behalf of | ||||
|           the copyright owner. For the purposes of this definition, "submitted" | ||||
|           means any form of electronic, verbal, or written communication sent | ||||
|           to the Licensor or its representatives, including but not limited to | ||||
|           communication on electronic mailing lists, source code control systems, | ||||
|           and issue tracking systems that are managed by, or on behalf of, the | ||||
|           Licensor for the purpose of discussing and improving the Work, but | ||||
|           excluding communication that is conspicuously marked or otherwise | ||||
|           designated in writing by the copyright owner as "Not a Contribution." | ||||
| 
 | ||||
|           "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|           on behalf of whom a Contribution has been received by Licensor and | ||||
|           subsequently incorporated within the Work. | ||||
| 
 | ||||
|        2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           copyright license to reproduce, prepare Derivative Works of, | ||||
|           publicly display, publicly perform, sublicense, and distribute the | ||||
|           Work and such Derivative Works in Source or Object form. | ||||
| 
 | ||||
|        3. Grant of Patent License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           (except as stated in this section) patent license to make, have made, | ||||
|           use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|           where such license applies only to those patent claims licensable | ||||
|           by such Contributor that are necessarily infringed by their | ||||
|           Contribution(s) alone or by combination of their Contribution(s) | ||||
|           with the Work to which such Contribution(s) was submitted. If You | ||||
|           institute patent litigation against any entity (including a | ||||
|           cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|           or a Contribution incorporated within the Work constitutes direct | ||||
|           or contributory patent infringement, then any patent licenses | ||||
|           granted to You under this License for that Work shall terminate | ||||
|           as of the date such litigation is filed. | ||||
| 
 | ||||
|        4. Redistribution. You may reproduce and distribute copies of the | ||||
|           Work or Derivative Works thereof in any medium, with or without | ||||
|           modifications, and in Source or Object form, provided that You | ||||
|           meet the following conditions: | ||||
| 
 | ||||
|           (a) You must give any other recipients of the Work or | ||||
|               Derivative Works a copy of this License; and | ||||
| 
 | ||||
|           (b) You must cause any modified files to carry prominent notices | ||||
|               stating that You changed the files; and | ||||
| 
 | ||||
|           (c) You must retain, in the Source form of any Derivative Works | ||||
|               that You distribute, all copyright, patent, trademark, and | ||||
|               attribution notices from the Source form of the Work, | ||||
|               excluding those notices that do not pertain to any part of | ||||
|               the Derivative Works; and | ||||
| 
 | ||||
|           (d) If the Work includes a "NOTICE" text file as part of its | ||||
|               distribution, then any Derivative Works that You distribute must | ||||
|               include a readable copy of the attribution notices contained | ||||
|               within such NOTICE file, excluding those notices that do not | ||||
|               pertain to any part of the Derivative Works, in at least one | ||||
|               of the following places: within a NOTICE text file distributed | ||||
|               as part of the Derivative Works; within the Source form or | ||||
|               documentation, if provided along with the Derivative Works; or, | ||||
|               within a display generated by the Derivative Works, if and | ||||
|               wherever such third-party notices normally appear. The contents | ||||
|               of the NOTICE file are for informational purposes only and | ||||
|               do not modify the License. You may add Your own attribution | ||||
|               notices within Derivative Works that You distribute, alongside | ||||
|               or as an addendum to the NOTICE text from the Work, provided | ||||
|               that such additional attribution notices cannot be construed | ||||
|               as modifying the License. | ||||
| 
 | ||||
|           You may add Your own copyright statement to Your modifications and | ||||
|           may provide additional or different license terms and conditions | ||||
|           for use, reproduction, or distribution of Your modifications, or | ||||
|           for any such Derivative Works as a whole, provided Your use, | ||||
|           reproduction, and distribution of the Work otherwise complies with | ||||
|           the conditions stated in this License. | ||||
| 
 | ||||
|        5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|           any Contribution intentionally submitted for inclusion in the Work | ||||
|           by You to the Licensor shall be under the terms and conditions of | ||||
|           this License, without any additional terms or conditions. | ||||
|           Notwithstanding the above, nothing herein shall supersede or modify | ||||
|           the terms of any separate license agreement you may have executed | ||||
|           with Licensor regarding such Contributions. | ||||
| 
 | ||||
|        6. Trademarks. This License does not grant permission to use the trade | ||||
|           names, trademarks, service marks, or product names of the Licensor, | ||||
|           except as required for reasonable and customary use in describing the | ||||
|           origin of the Work and reproducing the content of the NOTICE file. | ||||
| 
 | ||||
|        7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|           agreed to in writing, Licensor provides the Work (and each | ||||
|           Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|           implied, including, without limitation, any warranties or conditions | ||||
|           of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|           PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|           appropriateness of using or redistributing the Work and assume any | ||||
|           risks associated with Your exercise of permissions under this License. | ||||
| 
 | ||||
|        8. Limitation of Liability. In no event and under no legal theory, | ||||
|           whether in tort (including negligence), contract, or otherwise, | ||||
|           unless required by applicable law (such as deliberate and grossly | ||||
|           negligent acts) or agreed to in writing, shall any Contributor be | ||||
|           liable to You for damages, including any direct, indirect, special, | ||||
|           incidental, or consequential damages of any character arising as a | ||||
|           result of this License or out of the use or inability to use the | ||||
|           Work (including but not limited to damages for loss of goodwill, | ||||
|           work stoppage, computer failure or malfunction, or any and all | ||||
|           other commercial damages or losses), even if such Contributor | ||||
|           has been advised of the possibility of such damages. | ||||
| 
 | ||||
|        9. Accepting Warranty or Additional Liability. While redistributing | ||||
|           the Work or Derivative Works thereof, You may choose to offer, | ||||
|           and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|           or other liability obligations and/or rights consistent with this | ||||
|           License. However, in accepting such obligations, You may act only | ||||
|           on Your own behalf and on Your sole responsibility, not on behalf | ||||
|           of any other Contributor, and only if You agree to indemnify, | ||||
|           defend, and hold each Contributor harmless for any liability | ||||
|           incurred by, or claims asserted against, such Contributor by reason | ||||
|           of your accepting any such warranty or additional liability. | ||||
| notices: [] | ||||
							
								
								
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										207
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,207 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/protoc" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: Installs the protocol buffer compiler "protoc" for you. | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: Auto-generated Apache-2.0 license text | ||||
|   text: |2 | ||||
|                                      Apache License | ||||
|                                Version 2.0, January 2004 | ||||
|                             http://www.apache.org/licenses/ | ||||
| 
 | ||||
|        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
| 
 | ||||
|        1. Definitions. | ||||
| 
 | ||||
|           "License" shall mean the terms and conditions for use, reproduction, | ||||
|           and distribution as defined by Sections 1 through 9 of this document. | ||||
| 
 | ||||
|           "Licensor" shall mean the copyright owner or entity authorized by | ||||
|           the copyright owner that is granting the License. | ||||
| 
 | ||||
|           "Legal Entity" shall mean the union of the acting entity and all | ||||
|           other entities that control, are controlled by, or are under common | ||||
|           control with that entity. For the purposes of this definition, | ||||
|           "control" means (i) the power, direct or indirect, to cause the | ||||
|           direction or management of such entity, whether by contract or | ||||
|           otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|           outstanding shares, or (iii) beneficial ownership of such entity. | ||||
| 
 | ||||
|           "You" (or "Your") shall mean an individual or Legal Entity | ||||
|           exercising permissions granted by this License. | ||||
| 
 | ||||
|           "Source" form shall mean the preferred form for making modifications, | ||||
|           including but not limited to software source code, documentation | ||||
|           source, and configuration files. | ||||
| 
 | ||||
|           "Object" form shall mean any form resulting from mechanical | ||||
|           transformation or translation of a Source form, including but | ||||
|           not limited to compiled object code, generated documentation, | ||||
|           and conversions to other media types. | ||||
| 
 | ||||
|           "Work" shall mean the work of authorship, whether in Source or | ||||
|           Object form, made available under the License, as indicated by a | ||||
|           (an example is provided in the Appendix below). | ||||
| 
 | ||||
|           "Derivative Works" shall mean any work, whether in Source or Object | ||||
|           form, that is based on (or derived from) the Work and for which the | ||||
|           editorial revisions, annotations, elaborations, or other modifications | ||||
|           represent, as a whole, an original work of authorship. For the purposes | ||||
|           of this License, Derivative Works shall not include works that remain | ||||
|           separable from, or merely link (or bind by name) to the interfaces of, | ||||
|           the Work and Derivative Works thereof. | ||||
| 
 | ||||
|           "Contribution" shall mean any work of authorship, including | ||||
|           the original version of the Work and any modifications or additions | ||||
|           to that Work or Derivative Works thereof, that is intentionally | ||||
|           submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|           or by an individual or Legal Entity authorized to submit on behalf of | ||||
|           the copyright owner. For the purposes of this definition, "submitted" | ||||
|           means any form of electronic, verbal, or written communication sent | ||||
|           to the Licensor or its representatives, including but not limited to | ||||
|           communication on electronic mailing lists, source code control systems, | ||||
|           and issue tracking systems that are managed by, or on behalf of, the | ||||
|           Licensor for the purpose of discussing and improving the Work, but | ||||
|           excluding communication that is conspicuously marked or otherwise | ||||
|           designated in writing by the copyright owner as "Not a Contribution." | ||||
| 
 | ||||
|           "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|           on behalf of whom a Contribution has been received by Licensor and | ||||
|           subsequently incorporated within the Work. | ||||
| 
 | ||||
|        2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           publicly display, publicly perform, sublicense, and distribute the | ||||
|           Work and such Derivative Works in Source or Object form. | ||||
| 
 | ||||
|        3. Grant of Patent License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           (except as stated in this section) patent license to make, have made, | ||||
|           use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|           where such license applies only to those patent claims licensable | ||||
|           by such Contributor that are necessarily infringed by their | ||||
|           Contribution(s) alone or by combination of their Contribution(s) | ||||
|           with the Work to which such Contribution(s) was submitted. If You | ||||
|           institute patent litigation against any entity (including a | ||||
|           cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|           or a Contribution incorporated within the Work constitutes direct | ||||
|           or contributory patent infringement, then any patent licenses | ||||
|           granted to You under this License for that Work shall terminate | ||||
|           as of the date such litigation is filed. | ||||
| 
 | ||||
|        4. Redistribution. You may reproduce and distribute copies of the | ||||
|           Work or Derivative Works thereof in any medium, with or without | ||||
|           modifications, and in Source or Object form, provided that You | ||||
|           meet the following conditions: | ||||
| 
 | ||||
|           (a) You must give any other recipients of the Work or | ||||
|               Derivative Works a copy of this License; and | ||||
| 
 | ||||
|           (b) You must cause any modified files to carry prominent notices | ||||
|               stating that You changed the files; and | ||||
| 
 | ||||
|               that You distribute, all copyright, patent, trademark, and | ||||
|               attribution notices from the Source form of the Work, | ||||
|               excluding those notices that do not pertain to any part of | ||||
|               the Derivative Works; and | ||||
| 
 | ||||
|           (d) If the Work includes a "NOTICE" text file as part of its | ||||
|               distribution, then any Derivative Works that You distribute must | ||||
|               include a readable copy of the attribution notices contained | ||||
|               within such NOTICE file, excluding those notices that do not | ||||
|               pertain to any part of the Derivative Works, in at least one | ||||
|               of the following places: within a NOTICE text file distributed | ||||
|               as part of the Derivative Works; within the Source form or | ||||
|               documentation, if provided along with the Derivative Works; or, | ||||
|               within a display generated by the Derivative Works, if and | ||||
|               wherever such third-party notices normally appear. The contents | ||||
|               of the NOTICE file are for informational purposes only and | ||||
|               do not modify the License. You may add Your own attribution | ||||
|               notices within Derivative Works that You distribute, alongside | ||||
|               or as an addendum to the NOTICE text from the Work, provided | ||||
|               that such additional attribution notices cannot be construed | ||||
|               as modifying the License. | ||||
| 
 | ||||
|           You may add Your own copyright statement to Your modifications and | ||||
|           may provide additional or different license terms and conditions | ||||
|           for use, reproduction, or distribution of Your modifications, or | ||||
|           for any such Derivative Works as a whole, provided Your use, | ||||
|           reproduction, and distribution of the Work otherwise complies with | ||||
|           the conditions stated in this License. | ||||
| 
 | ||||
|        5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|           any Contribution intentionally submitted for inclusion in the Work | ||||
|           by You to the Licensor shall be under the terms and conditions of | ||||
|           this License, without any additional terms or conditions. | ||||
|           Notwithstanding the above, nothing herein shall supersede or modify | ||||
|           the terms of any separate license agreement you may have executed | ||||
|           with Licensor regarding such Contributions. | ||||
| 
 | ||||
|        6. Trademarks. This License does not grant permission to use the trade | ||||
|           names, trademarks, service marks, or product names of the Licensor, | ||||
|           except as required for reasonable and customary use in describing the | ||||
|           origin of the Work and reproducing the content of the NOTICE file. | ||||
| 
 | ||||
|        7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|           agreed to in writing, Licensor provides the Work (and each | ||||
|           Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|           implied, including, without limitation, any warranties or conditions | ||||
|           of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|           PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|           appropriateness of using or redistributing the Work and assume any | ||||
|           risks associated with Your exercise of permissions under this License. | ||||
| 
 | ||||
|        8. Limitation of Liability. In no event and under no legal theory, | ||||
|           whether in tort (including negligence), contract, or otherwise, | ||||
|           unless required by applicable law (such as deliberate and grossly | ||||
|           negligent acts) or agreed to in writing, shall any Contributor be | ||||
|           liable to You for damages, including any direct, indirect, special, | ||||
|           incidental, or consequential damages of any character arising as a | ||||
|           result of this License or out of the use or inability to use the | ||||
|           Work (including but not limited to damages for loss of goodwill, | ||||
|           work stoppage, computer failure or malfunction, or any and all | ||||
|           other commercial damages or losses), even if such Contributor | ||||
|           has been advised of the possibility of such damages. | ||||
| 
 | ||||
|        9. Accepting Warranty or Additional Liability. While redistributing | ||||
|           the Work or Derivative Works thereof, You may choose to offer, | ||||
|           and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|           or other liability obligations and/or rights consistent with this | ||||
|           License. However, in accepting such obligations, You may act only | ||||
|           on Your own behalf and on Your sole responsibility, not on behalf | ||||
|           of any other Contributor, and only if You agree to indemnify, | ||||
|           defend, and hold each Contributor harmless for any liability | ||||
|           incurred by, or claims asserted against, such Contributor by reason | ||||
|           of your accepting any such warranty or additional liability. | ||||
| 
 | ||||
|        END OF TERMS AND CONDITIONS | ||||
| 
 | ||||
|        APPENDIX: How to apply the Apache License to your work. | ||||
| 
 | ||||
|           To apply the Apache License to your work, attach the following | ||||
|           boilerplate notice, with the fields enclosed by brackets "[]" | ||||
|           replaced with your own identifying information. (Don't include | ||||
|           the brackets!)  The text should be enclosed in the appropriate | ||||
|           comment syntax for the file format. We also recommend that a | ||||
|           file or class name and description of purpose be included on the | ||||
|           same "printed page" as the copyright notice for easier | ||||
|           identification within third-party archives. | ||||
| 
 | ||||
|        Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|        you may not use this file except in compliance with the License. | ||||
|        You may obtain a copy of the License at | ||||
| 
 | ||||
|            http://www.apache.org/licenses/LICENSE-2.0 | ||||
| 
 | ||||
|        Unless required by applicable law or agreed to in writing, software | ||||
|        distributed under the License is distributed on an "AS IS" BASIS, | ||||
|        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|        See the License for the specific language governing permissions and | ||||
|        limitations under the License. | ||||
| notices: [] | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime-rpc" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     Apache License | ||||
|                                Version 2.0, January 2004 | ||||
|                             http://www.apache.org/licenses/ | ||||
| 
 | ||||
|        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
| 
 | ||||
|        1. Definitions. | ||||
| 
 | ||||
|           "License" shall mean the terms and conditions for use, reproduction, | ||||
|           and distribution as defined by Sections 1 through 9 of this document. | ||||
| 
 | ||||
|           "Licensor" shall mean the copyright owner or entity authorized by | ||||
|           the copyright owner that is granting the License. | ||||
| 
 | ||||
|           "Legal Entity" shall mean the union of the acting entity and all | ||||
|           other entities that control, are controlled by, or are under common | ||||
|           control with that entity. For the purposes of this definition, | ||||
|           "control" means (i) the power, direct or indirect, to cause the | ||||
|           direction or management of such entity, whether by contract or | ||||
|           otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|           outstanding shares, or (iii) beneficial ownership of such entity. | ||||
| 
 | ||||
|           "You" (or "Your") shall mean an individual or Legal Entity | ||||
|           exercising permissions granted by this License. | ||||
| 
 | ||||
|           "Source" form shall mean the preferred form for making modifications, | ||||
|           including but not limited to software source code, documentation | ||||
|           source, and configuration files. | ||||
| 
 | ||||
|           "Object" form shall mean any form resulting from mechanical | ||||
|           transformation or translation of a Source form, including but | ||||
|           not limited to compiled object code, generated documentation, | ||||
|           and conversions to other media types. | ||||
| 
 | ||||
|           "Work" shall mean the work of authorship, whether in Source or | ||||
|           Object form, made available under the License, as indicated by a | ||||
|           copyright notice that is included in or attached to the work | ||||
|           (an example is provided in the Appendix below). | ||||
| 
 | ||||
|           "Derivative Works" shall mean any work, whether in Source or Object | ||||
|           form, that is based on (or derived from) the Work and for which the | ||||
|           editorial revisions, annotations, elaborations, or other modifications | ||||
|           represent, as a whole, an original work of authorship. For the purposes | ||||
|           of this License, Derivative Works shall not include works that remain | ||||
|           separable from, or merely link (or bind by name) to the interfaces of, | ||||
|           the Work and Derivative Works thereof. | ||||
| 
 | ||||
|           "Contribution" shall mean any work of authorship, including | ||||
|           the original version of the Work and any modifications or additions | ||||
|           to that Work or Derivative Works thereof, that is intentionally | ||||
|           submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|           or by an individual or Legal Entity authorized to submit on behalf of | ||||
|           the copyright owner. For the purposes of this definition, "submitted" | ||||
|           means any form of electronic, verbal, or written communication sent | ||||
|           to the Licensor or its representatives, including but not limited to | ||||
|           communication on electronic mailing lists, source code control systems, | ||||
|           and issue tracking systems that are managed by, or on behalf of, the | ||||
|           Licensor for the purpose of discussing and improving the Work, but | ||||
|           excluding communication that is conspicuously marked or otherwise | ||||
|           designated in writing by the copyright owner as "Not a Contribution." | ||||
| 
 | ||||
|           "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|           on behalf of whom a Contribution has been received by Licensor and | ||||
|           subsequently incorporated within the Work. | ||||
| 
 | ||||
|        2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           copyright license to reproduce, prepare Derivative Works of, | ||||
|           publicly display, publicly perform, sublicense, and distribute the | ||||
|           Work and such Derivative Works in Source or Object form. | ||||
| 
 | ||||
|        3. Grant of Patent License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           (except as stated in this section) patent license to make, have made, | ||||
|           use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|           where such license applies only to those patent claims licensable | ||||
|           by such Contributor that are necessarily infringed by their | ||||
|           Contribution(s) alone or by combination of their Contribution(s) | ||||
|           with the Work to which such Contribution(s) was submitted. If You | ||||
|           institute patent litigation against any entity (including a | ||||
|           cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|           or a Contribution incorporated within the Work constitutes direct | ||||
|           or contributory patent infringement, then any patent licenses | ||||
|           granted to You under this License for that Work shall terminate | ||||
|           as of the date such litigation is filed. | ||||
| 
 | ||||
|        4. Redistribution. You may reproduce and distribute copies of the | ||||
|           Work or Derivative Works thereof in any medium, with or without | ||||
|           modifications, and in Source or Object form, provided that You | ||||
|           meet the following conditions: | ||||
| 
 | ||||
|           (a) You must give any other recipients of the Work or | ||||
|               Derivative Works a copy of this License; and | ||||
| 
 | ||||
|           (b) You must cause any modified files to carry prominent notices | ||||
|               stating that You changed the files; and | ||||
| 
 | ||||
|           (c) You must retain, in the Source form of any Derivative Works | ||||
|               that You distribute, all copyright, patent, trademark, and | ||||
|               attribution notices from the Source form of the Work, | ||||
|               excluding those notices that do not pertain to any part of | ||||
|               the Derivative Works; and | ||||
| 
 | ||||
|           (d) If the Work includes a "NOTICE" text file as part of its | ||||
|               distribution, then any Derivative Works that You distribute must | ||||
|               include a readable copy of the attribution notices contained | ||||
|               within such NOTICE file, excluding those notices that do not | ||||
|               pertain to any part of the Derivative Works, in at least one | ||||
|               of the following places: within a NOTICE text file distributed | ||||
|               as part of the Derivative Works; within the Source form or | ||||
|               documentation, if provided along with the Derivative Works; or, | ||||
|               within a display generated by the Derivative Works, if and | ||||
|               wherever such third-party notices normally appear. The contents | ||||
|               of the NOTICE file are for informational purposes only and | ||||
|               do not modify the License. You may add Your own attribution | ||||
|               notices within Derivative Works that You distribute, alongside | ||||
|               or as an addendum to the NOTICE text from the Work, provided | ||||
|               that such additional attribution notices cannot be construed | ||||
|               as modifying the License. | ||||
| 
 | ||||
|           You may add Your own copyright statement to Your modifications and | ||||
|           may provide additional or different license terms and conditions | ||||
|           for use, reproduction, or distribution of Your modifications, or | ||||
|           for any such Derivative Works as a whole, provided Your use, | ||||
|           reproduction, and distribution of the Work otherwise complies with | ||||
|           the conditions stated in this License. | ||||
| 
 | ||||
|        5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|           any Contribution intentionally submitted for inclusion in the Work | ||||
|           by You to the Licensor shall be under the terms and conditions of | ||||
|           this License, without any additional terms or conditions. | ||||
|           Notwithstanding the above, nothing herein shall supersede or modify | ||||
|           the terms of any separate license agreement you may have executed | ||||
|           with Licensor regarding such Contributions. | ||||
| 
 | ||||
|        6. Trademarks. This License does not grant permission to use the trade | ||||
|           names, trademarks, service marks, or product names of the Licensor, | ||||
|           except as required for reasonable and customary use in describing the | ||||
|           origin of the Work and reproducing the content of the NOTICE file. | ||||
| 
 | ||||
|        7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|           agreed to in writing, Licensor provides the Work (and each | ||||
|           Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|           implied, including, without limitation, any warranties or conditions | ||||
|           of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|           PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|           appropriateness of using or redistributing the Work and assume any | ||||
|           risks associated with Your exercise of permissions under this License. | ||||
| 
 | ||||
|        8. Limitation of Liability. In no event and under no legal theory, | ||||
|           whether in tort (including negligence), contract, or otherwise, | ||||
|           unless required by applicable law (such as deliberate and grossly | ||||
|           negligent acts) or agreed to in writing, shall any Contributor be | ||||
|           liable to You for damages, including any direct, indirect, special, | ||||
|           incidental, or consequential damages of any character arising as a | ||||
|           result of this License or out of the use or inability to use the | ||||
|           Work (including but not limited to damages for loss of goodwill, | ||||
|           work stoppage, computer failure or malfunction, or any and all | ||||
|           other commercial damages or losses), even if such Contributor | ||||
|           has been advised of the possibility of such damages. | ||||
| 
 | ||||
|        9. Accepting Warranty or Additional Liability. While redistributing | ||||
|           the Work or Derivative Works thereof, You may choose to offer, | ||||
|           and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|           or other liability obligations and/or rights consistent with this | ||||
|           License. However, in accepting such obligations, You may act only | ||||
|           on Your own behalf and on Your sole responsibility, not on behalf | ||||
|           of any other Contributor, and only if You agree to indemnify, | ||||
|           defend, and hold each Contributor harmless for any liability | ||||
|           incurred by, or claims asserted against, such Contributor by reason | ||||
|           of your accepting any such warranty or additional liability. | ||||
| notices: [] | ||||
							
								
								
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| --- | ||||
| name: "@protobuf-ts/runtime" | ||||
| version: 2.9.5 | ||||
| type: npm | ||||
| summary: Runtime library for code generated by the protoc plugin "protobuf-ts" | ||||
| homepage: https://github.com/timostamm/protobuf-ts | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
|   text: |2 | ||||
|                                     Apache License | ||||
|                                Version 2.0, January 2004 | ||||
|                             http://www.apache.org/licenses/ | ||||
| 
 | ||||
|        TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||
| 
 | ||||
|        1. Definitions. | ||||
| 
 | ||||
|           "License" shall mean the terms and conditions for use, reproduction, | ||||
|           and distribution as defined by Sections 1 through 9 of this document. | ||||
| 
 | ||||
|           "Licensor" shall mean the copyright owner or entity authorized by | ||||
|           the copyright owner that is granting the License. | ||||
| 
 | ||||
|           "Legal Entity" shall mean the union of the acting entity and all | ||||
|           other entities that control, are controlled by, or are under common | ||||
|           control with that entity. For the purposes of this definition, | ||||
|           "control" means (i) the power, direct or indirect, to cause the | ||||
|           direction or management of such entity, whether by contract or | ||||
|           otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||
|           outstanding shares, or (iii) beneficial ownership of such entity. | ||||
| 
 | ||||
|           "You" (or "Your") shall mean an individual or Legal Entity | ||||
|           exercising permissions granted by this License. | ||||
| 
 | ||||
|           "Source" form shall mean the preferred form for making modifications, | ||||
|           including but not limited to software source code, documentation | ||||
|           source, and configuration files. | ||||
| 
 | ||||
|           "Object" form shall mean any form resulting from mechanical | ||||
|           transformation or translation of a Source form, including but | ||||
|           not limited to compiled object code, generated documentation, | ||||
|           and conversions to other media types. | ||||
| 
 | ||||
|           "Work" shall mean the work of authorship, whether in Source or | ||||
|           Object form, made available under the License, as indicated by a | ||||
|           copyright notice that is included in or attached to the work | ||||
|           (an example is provided in the Appendix below). | ||||
| 
 | ||||
|           "Derivative Works" shall mean any work, whether in Source or Object | ||||
|           form, that is based on (or derived from) the Work and for which the | ||||
|           editorial revisions, annotations, elaborations, or other modifications | ||||
|           represent, as a whole, an original work of authorship. For the purposes | ||||
|           of this License, Derivative Works shall not include works that remain | ||||
|           separable from, or merely link (or bind by name) to the interfaces of, | ||||
|           the Work and Derivative Works thereof. | ||||
| 
 | ||||
|           "Contribution" shall mean any work of authorship, including | ||||
|           the original version of the Work and any modifications or additions | ||||
|           to that Work or Derivative Works thereof, that is intentionally | ||||
|           submitted to Licensor for inclusion in the Work by the copyright owner | ||||
|           or by an individual or Legal Entity authorized to submit on behalf of | ||||
|           the copyright owner. For the purposes of this definition, "submitted" | ||||
|           means any form of electronic, verbal, or written communication sent | ||||
|           to the Licensor or its representatives, including but not limited to | ||||
|           communication on electronic mailing lists, source code control systems, | ||||
|           and issue tracking systems that are managed by, or on behalf of, the | ||||
|           Licensor for the purpose of discussing and improving the Work, but | ||||
|           excluding communication that is conspicuously marked or otherwise | ||||
|           designated in writing by the copyright owner as "Not a Contribution." | ||||
| 
 | ||||
|           "Contributor" shall mean Licensor and any individual or Legal Entity | ||||
|           on behalf of whom a Contribution has been received by Licensor and | ||||
|           subsequently incorporated within the Work. | ||||
| 
 | ||||
|        2. Grant of Copyright License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           copyright license to reproduce, prepare Derivative Works of, | ||||
|           publicly display, publicly perform, sublicense, and distribute the | ||||
|           Work and such Derivative Works in Source or Object form. | ||||
| 
 | ||||
|        3. Grant of Patent License. Subject to the terms and conditions of | ||||
|           this License, each Contributor hereby grants to You a perpetual, | ||||
|           worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|           (except as stated in this section) patent license to make, have made, | ||||
|           use, offer to sell, sell, import, and otherwise transfer the Work, | ||||
|           where such license applies only to those patent claims licensable | ||||
|           by such Contributor that are necessarily infringed by their | ||||
|           Contribution(s) alone or by combination of their Contribution(s) | ||||
|           with the Work to which such Contribution(s) was submitted. If You | ||||
|           institute patent litigation against any entity (including a | ||||
|           cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||
|           or a Contribution incorporated within the Work constitutes direct | ||||
|           or contributory patent infringement, then any patent licenses | ||||
|           granted to You under this License for that Work shall terminate | ||||
|           as of the date such litigation is filed. | ||||
| 
 | ||||
|        4. Redistribution. You may reproduce and distribute copies of the | ||||
|           Work or Derivative Works thereof in any medium, with or without | ||||
|           modifications, and in Source or Object form, provided that You | ||||
|           meet the following conditions: | ||||
| 
 | ||||
|           (a) You must give any other recipients of the Work or | ||||
|               Derivative Works a copy of this License; and | ||||
| 
 | ||||
|           (b) You must cause any modified files to carry prominent notices | ||||
|               stating that You changed the files; and | ||||
| 
 | ||||
|           (c) You must retain, in the Source form of any Derivative Works | ||||
|               that You distribute, all copyright, patent, trademark, and | ||||
|               attribution notices from the Source form of the Work, | ||||
|               excluding those notices that do not pertain to any part of | ||||
|               the Derivative Works; and | ||||
| 
 | ||||
|           (d) If the Work includes a "NOTICE" text file as part of its | ||||
|               distribution, then any Derivative Works that You distribute must | ||||
|               include a readable copy of the attribution notices contained | ||||
|               within such NOTICE file, excluding those notices that do not | ||||
|               pertain to any part of the Derivative Works, in at least one | ||||
|               of the following places: within a NOTICE text file distributed | ||||
|               as part of the Derivative Works; within the Source form or | ||||
|               documentation, if provided along with the Derivative Works; or, | ||||
|               within a display generated by the Derivative Works, if and | ||||
|               wherever such third-party notices normally appear. The contents | ||||
|               of the NOTICE file are for informational purposes only and | ||||
|               do not modify the License. You may add Your own attribution | ||||
|               notices within Derivative Works that You distribute, alongside | ||||
|               or as an addendum to the NOTICE text from the Work, provided | ||||
|               that such additional attribution notices cannot be construed | ||||
|               as modifying the License. | ||||
| 
 | ||||
|           You may add Your own copyright statement to Your modifications and | ||||
|           may provide additional or different license terms and conditions | ||||
|           for use, reproduction, or distribution of Your modifications, or | ||||
|           for any such Derivative Works as a whole, provided Your use, | ||||
|           reproduction, and distribution of the Work otherwise complies with | ||||
|           the conditions stated in this License. | ||||
| 
 | ||||
|        5. Submission of Contributions. Unless You explicitly state otherwise, | ||||
|           any Contribution intentionally submitted for inclusion in the Work | ||||
|           by You to the Licensor shall be under the terms and conditions of | ||||
|           this License, without any additional terms or conditions. | ||||
|           Notwithstanding the above, nothing herein shall supersede or modify | ||||
|           the terms of any separate license agreement you may have executed | ||||
|           with Licensor regarding such Contributions. | ||||
| 
 | ||||
|        6. Trademarks. This License does not grant permission to use the trade | ||||
|           names, trademarks, service marks, or product names of the Licensor, | ||||
|           except as required for reasonable and customary use in describing the | ||||
|           origin of the Work and reproducing the content of the NOTICE file. | ||||
| 
 | ||||
|        7. Disclaimer of Warranty. Unless required by applicable law or | ||||
|           agreed to in writing, Licensor provides the Work (and each | ||||
|           Contributor provides its Contributions) on an "AS IS" BASIS, | ||||
|           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||
|           implied, including, without limitation, any warranties or conditions | ||||
|           of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||
|           PARTICULAR PURPOSE. You are solely responsible for determining the | ||||
|           appropriateness of using or redistributing the Work and assume any | ||||
|           risks associated with Your exercise of permissions under this License. | ||||
| 
 | ||||
|        8. Limitation of Liability. In no event and under no legal theory, | ||||
|           whether in tort (including negligence), contract, or otherwise, | ||||
|           unless required by applicable law (such as deliberate and grossly | ||||
|           negligent acts) or agreed to in writing, shall any Contributor be | ||||
|           liable to You for damages, including any direct, indirect, special, | ||||
|           incidental, or consequential damages of any character arising as a | ||||
|           result of this License or out of the use or inability to use the | ||||
|           Work (including but not limited to damages for loss of goodwill, | ||||
|           work stoppage, computer failure or malfunction, or any and all | ||||
|           other commercial damages or losses), even if such Contributor | ||||
|           has been advised of the possibility of such damages. | ||||
| 
 | ||||
|        9. Accepting Warranty or Additional Liability. While redistributing | ||||
|           the Work or Derivative Works thereof, You may choose to offer, | ||||
|           and charge a fee for, acceptance of support, warranty, indemnity, | ||||
|           or other liability obligations and/or rights consistent with this | ||||
|           License. However, in accepting such obligations, You may act only | ||||
|           on Your own behalf and on Your sole responsibility, not on behalf | ||||
|           of any other Contributor, and only if You agree to indemnify, | ||||
|           defend, and hold each Contributor harmless for any liability | ||||
|           incurred by, or claims asserted against, such Contributor by reason | ||||
|           of your accepting any such warranty or additional liability. | ||||
| notices: [] | ||||
							
								
								
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,239 @@ | ||||
| --- | ||||
| name: typescript | ||||
| version: 3.9.10 | ||||
| type: npm | ||||
| summary: TypeScript is a language for application scale JavaScript development | ||||
| homepage: https://www.typescriptlang.org/ | ||||
| license: apache-2.0 | ||||
| licenses: | ||||
| - sources: LICENSE.txt | ||||
|   text: "Apache License\n\nVersion 2.0, January 2004\n\nhttp://www.apache.org/licenses/ | ||||
|     \n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\" | ||||
|     shall mean the terms and conditions for use, reproduction, and distribution as | ||||
|     defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the | ||||
|     copyright owner or entity authorized by the copyright owner that is granting the | ||||
|     License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all | ||||
|     other entities that control, are controlled by, or are under common control with | ||||
|     that entity. For the purposes of this definition, \"control\" means (i) the power, | ||||
|     direct or indirect, to cause the direction or management of such entity, whether | ||||
|     by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of | ||||
|     the outstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\" | ||||
|     (or \"Your\") shall mean an individual or Legal Entity exercising permissions | ||||
|     granted by this License.\n\n\"Source\" form shall mean the preferred form for | ||||
|     making modifications, including but not limited to software source code, documentation | ||||
|     source, and configuration files.\n\n\"Object\" form shall mean any form resulting | ||||
|     from mechanical transformation or translation of a Source form, including but | ||||
|     not limited to compiled object code, generated documentation, and conversions | ||||
|     to other media types.\n\n\"Work\" shall mean the work of authorship, whether in | ||||
|     Source or Object form, made available under the License, as indicated by a copyright | ||||
|     notice that is included in or attached to the work (an example is provided in | ||||
|     the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source | ||||
|     or Object form, that is based on (or derived from) the Work and for which the | ||||
|     editorial revisions, annotations, elaborations, or other modifications represent, | ||||
|     as a whole, an original work of authorship. For the purposes of this License, | ||||
|     Derivative Works shall not include works that remain separable from, or merely | ||||
|     link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\" | ||||
|     shall mean any work of authorship, including the original version of the Work | ||||
|     and any modifications or additions to that Work or Derivative Works thereof, that | ||||
|     is intentionally submitted to Licensor for inclusion in the Work by the copyright | ||||
|     owner or by an individual or Legal Entity authorized to submit on behalf of the | ||||
|     copyright owner. For the purposes of this definition, \"submitted\" means any | ||||
|     form of electronic, verbal, or written communication sent to the Licensor or its | ||||
|     representatives, including but not limited to communication on electronic mailing | ||||
|     lists, source code control systems, and issue tracking systems that are managed | ||||
|     by, or on behalf of, the Licensor for the purpose of discussing and improving | ||||
|     the Work, but excluding communication that is conspicuously marked or otherwise | ||||
|     designated in writing by the copyright owner as \"Not a Contribution.\"\n\n\"Contributor\" | ||||
|     shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution | ||||
|     has been received by Licensor and subsequently incorporated within the Work.\n\n2. | ||||
|     Grant of Copyright License. Subject to the terms and conditions of this License, | ||||
|     each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, | ||||
|     royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works | ||||
|     of, publicly display, publicly perform, sublicense, and distribute the Work and | ||||
|     such Derivative Works in Source or Object form.\n\n3. Grant of Patent License. | ||||
|     Subject to the terms and conditions of this License, each Contributor hereby grants | ||||
|     to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||
|     (except as stated in this section) patent license to make, have made, use, offer | ||||
|     to sell, sell, import, and otherwise transfer the Work, where such license applies | ||||
|     only to those patent claims licensable by such Contributor that are necessarily | ||||
|     infringed by their Contribution(s) alone or by combination of their Contribution(s) | ||||
|     with the Work to which such Contribution(s) was submitted. If You institute patent | ||||
|     litigation against any entity (including a cross-claim or counterclaim in a lawsuit) | ||||
|     alleging that the Work or a Contribution incorporated within the Work constitutes | ||||
|     direct or contributory patent infringement, then any patent licenses granted to | ||||
|     You under this License for that Work shall terminate as of the date such litigation | ||||
|     is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the | ||||
|     Work or Derivative Works thereof in any medium, with or without modifications, | ||||
|     and in Source or Object form, provided that You meet the following conditions:\n\nYou | ||||
|     must give any other recipients of the Work or Derivative Works a copy of this | ||||
|     License; and\n\nYou must cause any modified files to carry prominent notices stating | ||||
|     that You changed the files; and\n\nYou must retain, in the Source form of any | ||||
|     Derivative Works that You distribute, all copyright, patent, trademark, and attribution | ||||
|     notices from the Source form of the Work, excluding those notices that do not | ||||
|     pertain to any part of the Derivative Works; and\n\nIf the Work includes a \"NOTICE\" | ||||
|     text file as part of its distribution, then any Derivative Works that You distribute | ||||
|     must include a readable copy of the attribution notices contained within such | ||||
|     NOTICE file, excluding those notices that do not pertain to any part of the Derivative | ||||
|     Works, in at least one of the following places: within a NOTICE text file distributed | ||||
|     as part of the Derivative Works; within the Source form or documentation, if provided | ||||
|     along with the Derivative Works; or, within a display generated by the Derivative | ||||
|     Works, if and wherever such third-party notices normally appear. The contents | ||||
|     of the NOTICE file are for informational purposes only and do not modify the License. | ||||
|     You may add Your own attribution notices within Derivative Works that You distribute, | ||||
|     alongside or as an addendum to the NOTICE text from the Work, provided that such | ||||
|     additional attribution notices cannot be construed as modifying the License. You | ||||
|     may add Your own copyright statement to Your modifications and may provide additional | ||||
|     or different license terms and conditions for use, reproduction, or distribution | ||||
|     of Your modifications, or for any such Derivative Works as a whole, provided Your | ||||
|     use, reproduction, and distribution of the Work otherwise complies with the conditions | ||||
|     stated in this License.\n\n5. Submission of Contributions. Unless You explicitly | ||||
|     state otherwise, any Contribution intentionally submitted for inclusion in the | ||||
|     Work by You to the Licensor shall be under the terms and conditions of this License, | ||||
|     without any additional terms or conditions. Notwithstanding the above, nothing | ||||
|     herein shall supersede or modify the terms of any separate license agreement you | ||||
|     may have executed with Licensor regarding such Contributions.\n\n6. Trademarks. | ||||
|     This License does not grant permission to use the trade names, trademarks, service | ||||
|     marks, or product names of the Licensor, except as required for reasonable and | ||||
|     customary use in describing the origin of the Work and reproducing the content | ||||
|     of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable | ||||
|     law or agreed to in writing, Licensor provides the Work (and each Contributor | ||||
|     provides its Contributions) on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS | ||||
|     OF ANY KIND, either express or implied, including, without limitation, any warranties | ||||
|     or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR | ||||
|     PURPOSE. You are solely responsible for determining the appropriateness of using | ||||
|     or redistributing the Work and assume any risks associated with Your exercise | ||||
|     of permissions under this License.\n\n8. Limitation of Liability. In no event | ||||
|     and under no legal theory, whether in tort (including negligence), contract, or | ||||
|     otherwise, unless required by applicable law (such as deliberate and grossly negligent | ||||
|     acts) or agreed to in writing, shall any Contributor be liable to You for damages, | ||||
|     including any direct, indirect, special, incidental, or consequential damages | ||||
|     of any character arising as a result of this License or out of the use or inability | ||||
|     to use the Work (including but not limited to damages for loss of goodwill, work | ||||
|     stoppage, computer failure or malfunction, or any and all other commercial damages | ||||
|     or losses), even if such Contributor has been advised of the possibility of such | ||||
|     damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing | ||||
|     the Work or Derivative Works thereof, You may choose to offer, and charge a fee | ||||
|     for, acceptance of support, warranty, indemnity, or other liability obligations | ||||
|     and/or rights consistent with this License. However, in accepting such obligations, | ||||
|     You may act only on Your own behalf and on Your sole responsibility, not on behalf | ||||
|     of any other Contributor, and only if You agree to indemnify, defend, and hold | ||||
|     each Contributor harmless for any liability incurred by, or claims asserted against, | ||||
|     such Contributor by reason of your accepting any such warranty or additional liability.\n\nEND | ||||
|     OF TERMS AND CONDITIONS\n" | ||||
| notices: | ||||
| - sources: AUTHORS.md | ||||
|   text: "TypeScript is authored by:\r\n\r\n - 0verk1ll\r\n - Abubaker Bashir\r\n - | ||||
|     Adam Freidin\r\n - Adam Postma\r\n - Adi Dahiya\r\n - Aditya Daflapurkar\r\n - | ||||
|     Adnan Chowdhury\r\n - Adrian Leonhard\r\n - Adrien Gibrat\r\n - Ahmad Farid\r\n | ||||
|     - Ajay Poshak\r\n - Alan Agius\r\n - Alan Pierce\r\n - Alessandro Vergani\r\n | ||||
|     - Alex Chugaev\r\n - Alex Eagle\r\n - Alex Khomchenko\r\n - Alex Ryan\r\n - Alexander\r\n | ||||
|     - Alexander Kuvaev\r\n - Alexander Rusakov\r\n - Alexander Tarasyuk\r\n - Ali | ||||
|     Sabzevari\r\n - Aluan Haddad\r\n - amaksimovich2\r\n - Anatoly Ressin\r\n - Anders | ||||
|     Hejlsberg\r\n - Anders Kaseorg\r\n - Andre Sutherland\r\n - Andreas Martin\r\n | ||||
|     - Andrej Baran\r\n - Andrew\r\n - Andrew Branch\r\n - Andrew Casey\r\n - Andrew | ||||
|     Faulkner\r\n - Andrew Ochsner\r\n - Andrew Stegmaier\r\n - Andrew Z Allen\r\n | ||||
|     - Andrey Roenko\r\n - Andrii Dieiev\r\n - András Parditka\r\n - Andy Hanson\r\n | ||||
|     - Anil Anar\r\n - Anix\r\n - Anton Khlynovskiy\r\n - Anton Tolmachev\r\n - Anubha | ||||
|     Mathur\r\n - AnyhowStep\r\n - Armando Aguirre\r\n - Arnaud Tournier\r\n - Arnav | ||||
|     Singh\r\n - Arpad Borsos\r\n - Artem Tyurin\r\n - Arthur Ozga\r\n - Asad Saeeduddin\r\n | ||||
|     - Austin Cummings\r\n - Avery Morin\r\n - Aziz Khambati\r\n - Basarat Ali Syed\r\n | ||||
|     - @begincalendar\r\n - Ben Duffield\r\n - Ben Lichtman\r\n - Ben Mosher\r\n - | ||||
|     Benedikt Meurer\r\n - Benjamin Bock\r\n - Benjamin Lichtman\r\n - Benny Neugebauer\r\n | ||||
|     - BigAru\r\n - Bill Ticehurst\r\n - Blaine Bublitz\r\n - Blake Embrey\r\n - @bluelovers\r\n | ||||
|     - @bootstraponline\r\n - Bowden Kelly\r\n - Bowden Kenny\r\n - Brad Zacher\r\n | ||||
|     - Brandon Banks\r\n - Brandon Bloom\r\n - Brandon Slade\r\n - Brendan Kenny\r\n | ||||
|     - Brett Mayen\r\n - Brian Terlson\r\n - Bryan Forbes\r\n - Caitlin Potter\r\n | ||||
|     - Caleb Sander\r\n - Cameron Taggart\r\n - @cedvdb\r\n - Charles\r\n - Charles | ||||
|     Pierce\r\n - Charly POLY\r\n - Chris Bubernak\r\n - Chris Patterson\r\n - christian\r\n | ||||
|     - Christophe Vidal\r\n - Chuck Jazdzewski\r\n - Clay Miller\r\n - Colby Russell\r\n | ||||
|     - Colin Snover\r\n - Collins Abitekaniza\r\n - Connor Clark\r\n - Cotton Hou\r\n | ||||
|     - csigs\r\n - Cyrus Najmabadi\r\n - Dafrok Zhang\r\n - Dahan Gong\r\n - Daiki | ||||
|     Nishikawa\r\n - Dan Corder\r\n - Dan Freeman\r\n - Dan Quirk\r\n - Dan Rollo\r\n | ||||
|     - Daniel Gooss\r\n - Daniel Imms\r\n - Daniel Krom\r\n - Daniel Król\r\n - Daniel | ||||
|     Lehenbauer\r\n - Daniel Rosenwasser\r\n - David Li\r\n - David Sheldrick\r\n - | ||||
|     David Sherret\r\n - David Souther\r\n - David Staheli\r\n - Denis Nedelyaev\r\n | ||||
|     - Derek P Sifford\r\n - Dhruv Rajvanshi\r\n - Dick van den Brink\r\n - Diogo Franco | ||||
|     (Kovensky)\r\n - Dirk Bäumer\r\n - Dirk Holtwick\r\n - Dmitrijs Minajevs\r\n - | ||||
|     Dom Chen\r\n - Donald Pipowitch\r\n - Doug Ilijev\r\n - dreamran43@gmail.com\r\n | ||||
|     - @e-cloud\r\n - Ecole Keine\r\n - Eddie Jaoude\r\n - Edward Thomson\r\n - EECOLOR\r\n | ||||
|     - Eli Barzilay\r\n - Elizabeth Dinella\r\n - Ely Alamillo\r\n - Eric Grube\r\n | ||||
|     - Eric Tsang\r\n - Erik Edrosa\r\n - Erik McClenney\r\n - Esakki Raj\r\n - Ethan | ||||
|     Resnick\r\n - Ethan Rubio\r\n - Eugene Timokhov\r\n - Evan Cahill\r\n - Evan Martin\r\n | ||||
|     - Evan Sebastian\r\n - ExE Boss\r\n - Eyas Sharaiha\r\n - Fabian Cook\r\n - @falsandtru\r\n | ||||
|     - Filipe Silva\r\n - @flowmemo\r\n - Forbes Lindesay\r\n - Francois Hendriks\r\n | ||||
|     - Francois Wouts\r\n - Frank Wallis\r\n - František Žiacik\r\n - Frederico Bittencourt\r\n | ||||
|     - fullheightcoding\r\n - Gabe Moothart\r\n - Gabriel Isenberg\r\n - Gabriela Araujo | ||||
|     Britto\r\n - Gabriela Britto\r\n - gb714us\r\n - Gilad Peleg\r\n - Godfrey Chan\r\n | ||||
|     - Gorka Hernández Estomba\r\n - Graeme Wicksted\r\n - Guillaume Salles\r\n - Guy | ||||
|     Bedford\r\n - hafiz\r\n - Halasi Tamás\r\n - Hendrik Liebau\r\n - Henry Mercer\r\n | ||||
|     - Herrington Darkholme\r\n - Hoang Pham\r\n - Holger Jeromin\r\n - Homa Wong\r\n | ||||
|     - Hye Sung Jung\r\n - Iain Monro\r\n - @IdeaHunter\r\n - Igor Novozhilov\r\n - | ||||
|     Igor Oleinikov\r\n - Ika\r\n - iliashkolyar\r\n - IllusionMH\r\n - Ingvar Stepanyan\r\n | ||||
|     - Ingvar Stepanyan\r\n - Isiah Meadows\r\n - ispedals\r\n - Ivan Enderlin\r\n | ||||
|     - Ivo Gabe de Wolff\r\n - Iwata Hidetaka\r\n - Jack Bates\r\n - Jack Williams\r\n | ||||
|     - Jake Boone\r\n - Jakub Korzeniowski\r\n - Jakub Młokosiewicz\r\n - James Henry\r\n | ||||
|     - James Keane\r\n - James Whitney\r\n - Jan Melcher\r\n - Jason Freeman\r\n - | ||||
|     Jason Jarrett\r\n - Jason Killian\r\n - Jason Ramsay\r\n - JBerger\r\n - Jean | ||||
|     Pierre\r\n - Jed Mao\r\n - Jeff Wilcox\r\n - Jeffrey Morlan\r\n - Jesse Schalken\r\n | ||||
|     - Jesse Trinity\r\n - Jing Ma\r\n - Jiri Tobisek\r\n - Joe Calzaretta\r\n - Joe | ||||
|     Chung\r\n - Joel Day\r\n - Joey Watts\r\n - Johannes Rieken\r\n - John Doe\r\n | ||||
|     - John Vilk\r\n - Jonathan Bond-Caron\r\n - Jonathan Park\r\n - Jonathan Toland\r\n | ||||
|     - Jordan Harband\r\n - Jordi Oliveras Rovira\r\n - Joscha Feth\r\n - Joseph Wunderlich\r\n | ||||
|     - Josh Abernathy\r\n - Josh Goldberg\r\n - Josh Kalderimis\r\n - Josh Soref\r\n | ||||
|     - Juan Luis Boya García\r\n - Julian Williams\r\n - Justin Bay\r\n - Justin Johansson\r\n | ||||
|     - jwbay\r\n - K. Preißer\r\n - Kagami Sascha Rosylight\r\n - Kanchalai Tanglertsampan\r\n | ||||
|     - karthikkp\r\n - Kate Miháliková\r\n - Keen Yee Liau\r\n - Keith Mashinter\r\n | ||||
|     - Ken Howard\r\n - Kenji Imamula\r\n - Kerem Kat\r\n - Kevin Donnelly\r\n - Kevin | ||||
|     Gibbons\r\n - Kevin Lang\r\n - Khải\r\n - Kitson Kelly\r\n - Klaus Meinhardt\r\n | ||||
|     - Kris Zyp\r\n - Kyle Kelley\r\n - Kārlis Gaņģis\r\n - laoxiong\r\n - Leon Aves\r\n | ||||
|     - Limon Monte\r\n - Lorant Pinter\r\n - Lucien Greathouse\r\n - Luka Hartwig\r\n | ||||
|     - Lukas Elmer\r\n - M.Yoshimura\r\n - Maarten Sijm\r\n - Magnus Hiie\r\n - Magnus | ||||
|     Kulke\r\n - Manish Bansal\r\n - Manish Giri\r\n - Marcus Noble\r\n - Marin Marinov\r\n | ||||
|     - Marius Schulz\r\n - Markus Johnsson\r\n - Markus Wolf\r\n - Martin\r\n - Martin | ||||
|     Hiller\r\n - Martin Johns\r\n - Martin Probst\r\n - Martin Vseticka\r\n - Martyn | ||||
|     Janes\r\n - Masahiro Wakame\r\n - Mateusz Burzyński\r\n - Matt Bierner\r\n - Matt | ||||
|     McCutchen\r\n - Matt Mitchell\r\n - Matthew Aynalem\r\n - Matthew Miller\r\n - | ||||
|     Mattias Buelens\r\n - Max Heiber\r\n - Maxwell Paul Brickner\r\n - @meyer\r\n | ||||
|     - Micah Zoltu\r\n - @micbou\r\n - Michael\r\n - Michael Crane\r\n - Michael Henderson\r\n | ||||
|     - Michael Tamm\r\n - Michael Tang\r\n - Michal Przybys\r\n - Mike Busyrev\r\n | ||||
|     - Mike Morearty\r\n - Milosz Piechocki\r\n - Mine Starks\r\n - Minh Nguyen\r\n | ||||
|     - Mohamed Hegazy\r\n - Mohsen Azimi\r\n - Mukesh Prasad\r\n - Myles Megyesi\r\n | ||||
|     - Nathan Day\r\n - Nathan Fenner\r\n - Nathan Shively-Sanders\r\n - Nathan Yee\r\n | ||||
|     - ncoley\r\n - Nicholas Yang\r\n - Nicu Micleușanu\r\n - @nieltg\r\n - Nima Zahedi\r\n | ||||
|     - Noah Chen\r\n - Noel Varanda\r\n - Noel Yoo\r\n - Noj Vek\r\n - nrcoley\r\n | ||||
|     - Nuno Arruda\r\n - Oleg Mihailik\r\n - Oleksandr Chekhovskyi\r\n - Omer Sheikh\r\n | ||||
|     - Orta Therox\r\n - Orta Therox\r\n - Oskar Grunning\r\n - Oskar Segersva¨rd\r\n | ||||
|     - Oussama Ben Brahim\r\n - Ozair Patel\r\n - Patrick McCartney\r\n - Patrick Zhong\r\n | ||||
|     - Paul Koerbitz\r\n - Paul van Brenk\r\n - @pcbro\r\n - Pedro Maltez\r\n - Pete | ||||
|     Bacon Darwin\r\n - Peter Burns\r\n - Peter Šándor\r\n - Philip Pesca\r\n - Philippe | ||||
|     Voinov\r\n - Pi Lanningham\r\n - Piero Cangianiello\r\n - Pierre-Antoine Mills\r\n | ||||
|     - @piloopin\r\n - Pranav Senthilnathan\r\n - Prateek Goel\r\n - Prateek Nayak\r\n | ||||
|     - Prayag Verma\r\n - Priyantha Lankapura\r\n - @progre\r\n - Punya Biswal\r\n | ||||
|     - r7kamura\r\n - Rado Kirov\r\n - Raj Dosanjh\r\n - rChaser53\r\n - Reiner Dolp\r\n | ||||
|     - Remo H. Jansen\r\n - @rflorian\r\n - Rhys van der Waerden\r\n - @rhysd\r\n - | ||||
|     Ricardo N Feliciano\r\n - Richard Karmazín\r\n - Richard Knoll\r\n - Roger Spratley\r\n | ||||
|     - Ron Buckton\r\n - Rostislav Galimsky\r\n - Rowan Wyborn\r\n - rpgeeganage\r\n | ||||
|     - Ruwan Pradeep Geeganage\r\n - Ryan Cavanaugh\r\n - Ryan Clarke\r\n - Ryohei | ||||
|     Ikegami\r\n - Salisbury, Tom\r\n - Sam Bostock\r\n - Sam Drugan\r\n - Sam El-Husseini\r\n | ||||
|     - Sam Lanning\r\n - Sangmin Lee\r\n - Sanket Mishra\r\n - Sarangan Rajamanickam\r\n | ||||
|     - Sasha Joseph\r\n - Sean Barag\r\n - Sergey Rubanov\r\n - Sergey Shandar\r\n | ||||
|     - Sergey Tychinin\r\n - Sergii Bezliudnyi\r\n - Sergio Baidon\r\n - Sharon Rolel\r\n | ||||
|     - Sheetal Nandi\r\n - Shengping Zhong\r\n - Sheon Han\r\n - Shyyko Serhiy\r\n | ||||
|     - Siddharth Singh\r\n - sisisin\r\n - Slawomir Sadziak\r\n - Solal Pirelli\r\n | ||||
|     - Soo Jae Hwang\r\n - Stan Thomas\r\n - Stanislav Iliev\r\n - Stanislav Sysoev\r\n | ||||
|     - Stas Vilchik\r\n - Stephan Ginthör\r\n - Steve Lucco\r\n - @styfle\r\n - Sudheesh | ||||
|     Singanamalla\r\n - Suhas\r\n - Suhas Deshpande\r\n - superkd37\r\n - Sébastien | ||||
|     Arod\r\n - @T18970237136\r\n - @t_\r\n - Tan Li Hau\r\n - Tapan Prakash\r\n - | ||||
|     Taras Mankovski\r\n - Tarik Ozket\r\n - Tetsuharu Ohzeki\r\n - The Gitter Badger\r\n | ||||
|     - Thomas den Hollander\r\n - Thorsten Ball\r\n - Tien Hoanhtien\r\n - Tim Lancina\r\n | ||||
|     - Tim Perry\r\n - Tim Schaub\r\n - Tim Suchanek\r\n - Tim Viiding-Spader\r\n - | ||||
|     Tingan Ho\r\n - Titian Cernicova-Dragomir\r\n - tkondo\r\n - Todd Thomson\r\n | ||||
|     - togru\r\n - Tom J\r\n - Torben Fitschen\r\n - Toxyxer\r\n - @TravCav\r\n - Troy | ||||
|     Tae\r\n - TruongSinh Tran-Nguyen\r\n - Tycho Grouwstra\r\n - uhyo\r\n - Vadi Taslim\r\n | ||||
|     - Vakhurin Sergey\r\n - Valera Rozuvan\r\n - Vilic Vane\r\n - Vimal Raghubir\r\n | ||||
|     - Vladimir Kurchatkin\r\n - Vladimir Matveev\r\n - Vyacheslav Pukhanov\r\n - Wenlu | ||||
|     Wang\r\n - Wes Souza\r\n - Wesley Wigham\r\n - William Orr\r\n - Wilson Hobbs\r\n | ||||
|     - xiaofa\r\n - xl1\r\n - Yacine Hmito\r\n - Yang Cao\r\n - York Yao\r\n - @yortus\r\n | ||||
|     - Yoshiki Shibukawa\r\n - Yuichi Nukiyama\r\n - Yuval Greenfield\r\n - Yuya Tanaka\r\n | ||||
|     - Z\r\n - Zeeshan Ahmed\r\n - Zev Spitz\r\n - Zhengbo Li\r\n - Zixiang Li\r\n | ||||
|     - @Zzzen\r\n - 阿卡琳" | ||||
							
								
								
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| --- | ||||
| name: undici | ||||
| version: 5.28.4 | ||||
| version: 5.28.5 | ||||
| type: npm | ||||
| summary: An HTTP/1.1 client, written from scratch for Node.js | ||||
| homepage: https://undici.nodejs.org | ||||
|  | ||||
							
								
								
									
										39
									
								
								.licenses/npm/uuid-3.4.0.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										39
									
								
								.licenses/npm/uuid-3.4.0.dep.yml
									
									
									
										generated
									
									
									
								
							| @ -1,39 +0,0 @@ | ||||
| --- | ||||
| name: uuid | ||||
| version: 3.4.0 | ||||
| type: npm | ||||
| summary: RFC4122 (v1, v4, and v5) UUIDs | ||||
| homepage:  | ||||
| license: mit | ||||
| licenses: | ||||
| - sources: LICENSE.md | ||||
|   text: | | ||||
|     The MIT License (MIT) | ||||
| 
 | ||||
|     Copyright (c) 2010-2016 Robert Kieffer and other contributors | ||||
| 
 | ||||
|     Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
|     of this software and associated documentation files (the "Software"), to deal | ||||
|     in the Software without restriction, including without limitation the rights | ||||
|     to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
|     copies of the Software, and to permit persons to whom the Software is | ||||
|     furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
|     The above copyright notice and this permission notice shall be included in all | ||||
|     copies or substantial portions of the Software. | ||||
| 
 | ||||
|     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
|     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
|     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
|     AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
|     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
|     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
|     SOFTWARE. | ||||
| notices: | ||||
| - sources: AUTHORS | ||||
|   text: |- | ||||
|     Robert Kieffer <robert@broofa.com> | ||||
|     Christoph Tavan <dev@tavan.de> | ||||
|     AJ ONeal <coolaj86@gmail.com> | ||||
|     Vincent Voyer <vincent@zeroload.net> | ||||
|     Roman Shtylman <shtylman@gmail.com> | ||||
| @ -308,6 +308,15 @@ build: | ||||
|         cache: true | ||||
| ``` | ||||
| 
 | ||||
| ## Recommended permissions | ||||
| 
 | ||||
| When using the `setup-dotnet` action in your GitHub Actions workflow, it is recommended to set the following permissions to ensure proper functionality: | ||||
| 
 | ||||
| ```yaml | ||||
| permissions: | ||||
|   contents: read # access to check out code and install dependencies | ||||
| ``` | ||||
| 
 | ||||
| ## License | ||||
| 
 | ||||
| The scripts and documentation in this project are released under the [MIT License](LICENSE) | ||||
|  | ||||
							
								
								
									
										7485
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7485
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										7501
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7501
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										573
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										573
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							| @ -72,14 +72,12 @@ | ||||
| .PARAMETER Verbose | ||||
|     Displays diagnostics information. | ||||
| .PARAMETER AzureFeed | ||||
|     Default: https://dotnetcli.azureedge.net/dotnet | ||||
|     Default: https://builds.dotnet.microsoft.com/dotnet | ||||
|     For internal use only. | ||||
|     Allows using a different storage to download SDK archives from. | ||||
|     This parameter is only used if $NoCdn is false. | ||||
| .PARAMETER UncachedFeed | ||||
|     For internal use only. | ||||
|     Allows using a different storage to download SDK archives from. | ||||
|     This parameter is only used if $NoCdn is true. | ||||
| .PARAMETER ProxyAddress | ||||
|     If set, the installer will use the proxy when making web requests | ||||
| .PARAMETER ProxyUseDefaultCredentials | ||||
| @ -90,8 +88,6 @@ | ||||
| .PARAMETER SkipNonVersionedFiles | ||||
|     Default: false | ||||
|     Skips installing non-versioned files if they already exist, such as dotnet.exe. | ||||
| .PARAMETER NoCdn | ||||
|     Disable downloading from the Azure CDN, and use the uncached feed directly. | ||||
| .PARAMETER JSonFile | ||||
|     Determines the SDK version from a user specified global.json file | ||||
|     Note: global.json must have a value for 'SDK:Version' | ||||
| @ -111,13 +107,13 @@ | ||||
| #> | ||||
| [cmdletbinding()] | ||||
| param( | ||||
|    [string]$Channel="LTS", | ||||
|     [string]$Channel = "LTS", | ||||
|     [string]$Quality, | ||||
|    [string]$Version="Latest", | ||||
|     [string]$Version = "Latest", | ||||
|     [switch]$Internal, | ||||
|     [string]$JSonFile, | ||||
|    [Alias('i')][string]$InstallDir="<auto>", | ||||
|    [string]$Architecture="<auto>", | ||||
|     [Alias('i')][string]$InstallDir = "<auto>", | ||||
|     [string]$Architecture = "<auto>", | ||||
|     [string]$Runtime, | ||||
|     [Obsolete("This parameter may be removed in a future version of this script. The recommended alternative is '-Runtime dotnet'.")] | ||||
|     [switch]$SharedRuntime, | ||||
| @ -128,18 +124,17 @@ param( | ||||
|     [string]$FeedCredential, | ||||
|     [string]$ProxyAddress, | ||||
|     [switch]$ProxyUseDefaultCredentials, | ||||
|    [string[]]$ProxyBypassList=@(), | ||||
|     [string[]]$ProxyBypassList = @(), | ||||
|     [switch]$SkipNonVersionedFiles, | ||||
|    [switch]$NoCdn, | ||||
|    [int]$DownloadTimeout=1200, | ||||
|     [int]$DownloadTimeout = 1200, | ||||
|     [switch]$KeepZip, | ||||
|    [string]$ZipPath=[System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()), | ||||
|     [string]$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()), | ||||
|     [switch]$Help | ||||
| ) | ||||
| 
 | ||||
| Set-StrictMode -Version Latest | ||||
| $ErrorActionPreference="Stop" | ||||
| $ProgressPreference="SilentlyContinue" | ||||
| $ErrorActionPreference = "Stop" | ||||
| $ProgressPreference = "SilentlyContinue" | ||||
| 
 | ||||
| function Say($str) { | ||||
|     try { | ||||
| @ -186,7 +181,7 @@ function Say-Verbose($str) { | ||||
| function Measure-Action($name, $block) { | ||||
|     $time = Measure-Command $block | ||||
|     $totalSeconds = $time.TotalSeconds | ||||
|     Say-Verbose "⏱ Action '$name' took $totalSeconds seconds" | ||||
|     Say-Verbose "Action '$name' took $totalSeconds seconds" | ||||
| } | ||||
| 
 | ||||
| function Get-Remote-File-Size($zipUri) { | ||||
| @ -243,14 +238,13 @@ function Get-Machine-Architecture() { | ||||
|     # To get the correct architecture, we need to use PROCESSOR_ARCHITEW6432. | ||||
|     # PS x64 doesn't define this, so we fall back to PROCESSOR_ARCHITECTURE. | ||||
|     # Possible values: amd64, x64, x86, arm64, arm | ||||
|     if( $ENV:PROCESSOR_ARCHITEW6432 -ne $null ) { | ||||
|     if ( $ENV:PROCESSOR_ARCHITEW6432 -ne $null ) { | ||||
|         return $ENV:PROCESSOR_ARCHITEW6432 | ||||
|     } | ||||
| 
 | ||||
|     try {         | ||||
|         if( ((Get-CimInstance -ClassName CIM_OperatingSystem).OSArchitecture) -like "ARM*") { | ||||
|             if( [Environment]::Is64BitOperatingSystem ) | ||||
|             { | ||||
|         if ( ((Get-CimInstance -ClassName CIM_OperatingSystem).OSArchitecture) -like "ARM*") { | ||||
|             if ( [Environment]::Is64BitOperatingSystem ) { | ||||
|                 return "arm64" | ||||
|             }   | ||||
|             return "arm" | ||||
| @ -279,13 +273,13 @@ function Get-CLIArchitecture-From-Architecture([string]$Architecture) { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function ValidateFeedCredential([string] $FeedCredential) | ||||
| { | ||||
| function ValidateFeedCredential([string] $FeedCredential) { | ||||
|     if ($Internal -and [string]::IsNullOrWhitespace($FeedCredential)) { | ||||
|         $message = "Provide credentials via -FeedCredential parameter." | ||||
|         if ($DryRun) { | ||||
|             Say-Warning "$message" | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             throw "$message" | ||||
|         } | ||||
|     } | ||||
| @ -377,8 +371,7 @@ function Load-Assembly([string] $Assembly) { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, [bool]$DisableFeedCredential) | ||||
| { | ||||
| function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, [bool]$DisableFeedCredential) { | ||||
|     $cts = New-Object System.Threading.CancellationTokenSource | ||||
| 
 | ||||
|     $downloadScript = { | ||||
| @ -389,19 +382,21 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|             # HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet. | ||||
|             Load-Assembly -Assembly System.Net.Http | ||||
| 
 | ||||
|             if(-not $ProxyAddress) { | ||||
|             if (-not $ProxyAddress) { | ||||
|                 try { | ||||
|                     # Despite no proxy being explicitly specified, we may still be behind a default proxy | ||||
|                     $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy; | ||||
|                     if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { | ||||
|                     if ($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { | ||||
|                         if ($null -ne $DefaultProxy.GetProxy($Uri)) { | ||||
|                             $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString | ||||
|                         } else { | ||||
|                         } | ||||
|                         else { | ||||
|                             $ProxyAddress = $null | ||||
|                         } | ||||
|                         $ProxyUseDefaultCredentials = $true | ||||
|                     } | ||||
|                 } catch { | ||||
|                 } | ||||
|                 catch { | ||||
|                     # Eat the exception and move forward as the above code is an attempt | ||||
|                     #    at resolving the DefaultProxy that may not have been a problem. | ||||
|                     $ProxyAddress = $null | ||||
| @ -410,15 +405,14 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|             } | ||||
| 
 | ||||
|             $HttpClientHandler = New-Object System.Net.Http.HttpClientHandler | ||||
|             if($ProxyAddress) { | ||||
|             if ($ProxyAddress) { | ||||
|                 $HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{ | ||||
|                     Address=$ProxyAddress; | ||||
|                     UseDefaultCredentials=$ProxyUseDefaultCredentials; | ||||
|                     Address               = $ProxyAddress; | ||||
|                     UseDefaultCredentials = $ProxyUseDefaultCredentials; | ||||
|                     BypassList            = $ProxyBypassList; | ||||
|                 } | ||||
|             }        | ||||
|             if ($DisableRedirect) | ||||
|             { | ||||
|             if ($DisableRedirect) { | ||||
|                 $HttpClientHandler.AllowAutoRedirect = $false | ||||
|             } | ||||
|             $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler | ||||
| @ -427,7 +421,7 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|             # Defaulting to 20 minutes allows it to work over much slower connections. | ||||
|             $HttpClient.Timeout = New-TimeSpan -Seconds $DownloadTimeout | ||||
| 
 | ||||
|             if ($HeaderOnly){ | ||||
|             if ($HeaderOnly) { | ||||
|                 $completionOption = [System.Net.Http.HttpCompletionOption]::ResponseHeadersRead | ||||
|             } | ||||
|             else { | ||||
| @ -452,8 +446,7 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|                     $DownloadException.Data["StatusCode"] = [int] $Response.StatusCode | ||||
|                     $DownloadException.Data["ErrorMessage"] = "Unable to download $Uri. Returned HTTP status code: " + $DownloadException.Data["StatusCode"] | ||||
| 
 | ||||
|                     if (404 -eq [int] $Response.StatusCode) | ||||
|                     { | ||||
|                     if (404 -eq [int] $Response.StatusCode) { | ||||
|                         $cts.Cancel() | ||||
|                     } | ||||
|                 } | ||||
| @ -492,10 +485,8 @@ function GetHTTPResponse([Uri] $Uri, [bool]$HeaderOnly, [bool]$DisableRedirect, | ||||
|     try { | ||||
|         return Invoke-With-Retry $downloadScript $cts.Token | ||||
|     } | ||||
|     finally | ||||
|     { | ||||
|         if ($null -ne $cts) | ||||
|         { | ||||
|     finally { | ||||
|         if ($null -ne $cts) { | ||||
|             $cts.Dispose() | ||||
|         } | ||||
|     } | ||||
| @ -613,11 +604,9 @@ function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string | ||||
|     elseif ($Runtime -eq "windowsdesktop") { | ||||
|         # The windows desktop runtime is part of the core runtime layout prior to 5.0 | ||||
|         $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/windowsdesktop-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip" | ||||
|         if ($SpecificVersion -match '^(\d+)\.(.*)$') | ||||
|         { | ||||
|         if ($SpecificVersion -match '^(\d+)\.(.*)$') { | ||||
|             $majorVersion = [int]$Matches[1] | ||||
|             if ($majorVersion -ge 5) | ||||
|             { | ||||
|             if ($majorVersion -ge 5) { | ||||
|                 $PayloadURL = "$AzureFeed/WindowsDesktop/$SpecificVersion/windowsdesktop-runtime-$SpecificProductVersion-win-$CLIArchitecture.zip" | ||||
|             } | ||||
|         } | ||||
| @ -667,8 +656,7 @@ function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion, [stri | ||||
| 
 | ||||
|             if ($productVersionResponse.StatusCode -eq 200) { | ||||
|                 $productVersion = $productVersionResponse.Content.ReadAsStringAsync().Result.Trim() | ||||
|                 if ($productVersion -ne $SpecificVersion) | ||||
|                 { | ||||
|                 if ($productVersion -ne $SpecificVersion) { | ||||
|                     Say "Using alternate version $productVersion found in $ProductVersionTxtURL" | ||||
|                 } | ||||
|                 return $productVersion | ||||
| @ -683,8 +671,7 @@ function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion, [stri | ||||
|     } | ||||
| 
 | ||||
|     # Getting the version number with productVersion.txt has failed. Try parsing the download link for a version number. | ||||
|     if ([string]::IsNullOrEmpty($PackageDownloadLink)) | ||||
|     { | ||||
|     if ([string]::IsNullOrEmpty($PackageDownloadLink)) { | ||||
|         Say-Verbose "Using the default value '$SpecificVersion' as the product version." | ||||
|         return $SpecificVersion | ||||
|     } | ||||
| @ -696,21 +683,21 @@ function Get-Product-Version([string]$AzureFeed, [string]$SpecificVersion, [stri | ||||
| function Get-Product-Version-Url([string]$AzureFeed, [string]$SpecificVersion, [string]$PackageDownloadLink, [bool]$Flattened) { | ||||
|     Say-Invocation $MyInvocation | ||||
| 
 | ||||
|     $majorVersion=$null | ||||
|     $majorVersion = $null | ||||
|     if ($SpecificVersion -match '^(\d+)\.(.*)') { | ||||
|         $majorVersion = $Matches[1] -as[int] | ||||
|         $majorVersion = $Matches[1] -as [int] | ||||
|     } | ||||
| 
 | ||||
|     $pvFileName='productVersion.txt' | ||||
|     if($Flattened) { | ||||
|         if(-not $Runtime) { | ||||
|             $pvFileName='sdk-productVersion.txt' | ||||
|     $pvFileName = 'productVersion.txt' | ||||
|     if ($Flattened) { | ||||
|         if (-not $Runtime) { | ||||
|             $pvFileName = 'sdk-productVersion.txt' | ||||
|         } | ||||
|         elseif($Runtime -eq "dotnet") { | ||||
|             $pvFileName='runtime-productVersion.txt' | ||||
|         elseif ($Runtime -eq "dotnet") { | ||||
|             $pvFileName = 'runtime-productVersion.txt' | ||||
|         } | ||||
|         else { | ||||
|             $pvFileName="$Runtime-productVersion.txt" | ||||
|             $pvFileName = "$Runtime-productVersion.txt" | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -744,16 +731,14 @@ function Get-Product-Version-Url([string]$AzureFeed, [string]$SpecificVersion, [ | ||||
|     return $ProductVersionTxtURL | ||||
| } | ||||
| 
 | ||||
| function Get-ProductVersionFromDownloadLink([string]$PackageDownloadLink, [string]$SpecificVersion) | ||||
| { | ||||
| function Get-ProductVersionFromDownloadLink([string]$PackageDownloadLink, [string]$SpecificVersion) { | ||||
|     Say-Invocation $MyInvocation | ||||
| 
 | ||||
|     #product specific version follows the product name | ||||
|     #for filename 'dotnet-sdk-3.1.404-win-x64.zip': the product version is 3.1.400 | ||||
|     $filename = $PackageDownloadLink.Substring($PackageDownloadLink.LastIndexOf("/") + 1) | ||||
|     $filenameParts = $filename.Split('-') | ||||
|     if ($filenameParts.Length -gt 2) | ||||
|     { | ||||
|     if ($filenameParts.Length -gt 2) { | ||||
|         $productVersion = $filenameParts[2] | ||||
|         Say-Verbose "Extracted product version '$productVersion' from download link '$PackageDownloadLink'." | ||||
|     } | ||||
| @ -771,6 +756,9 @@ function Get-User-Share-Path() { | ||||
|     if (!$InstallRoot) { | ||||
|         $InstallRoot = "$env:LocalAppData\Microsoft\dotnet" | ||||
|     } | ||||
|     elseif ($InstallRoot -like "$env:ProgramFiles\dotnet\?*") { | ||||
|         Say-Warning "The install root specified by the environment variable DOTNET_INSTALL_DIR points to the sub folder of $env:ProgramFiles\dotnet which is the default dotnet install root using .NET SDK installer. It is better to keep aligned with .NET SDK installer." | ||||
|     } | ||||
|     return $InstallRoot | ||||
| } | ||||
| 
 | ||||
| @ -783,6 +771,19 @@ function Resolve-Installation-Path([string]$InstallDir) { | ||||
|     return $InstallDir | ||||
| } | ||||
| 
 | ||||
| function Test-User-Write-Access([string]$InstallDir) { | ||||
|     try { | ||||
|         $tempFileName = [guid]::NewGuid().ToString() | ||||
|         $tempFilePath = Join-Path -Path $InstallDir -ChildPath $tempFileName | ||||
|         New-Item -Path $tempFilePath -ItemType File -Force | ||||
|         Remove-Item $tempFilePath -Force | ||||
|         return $true | ||||
|     } | ||||
|     catch { | ||||
|         return $false | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) { | ||||
|     Say-Invocation $MyInvocation | ||||
| 
 | ||||
| @ -858,7 +859,7 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { | ||||
|             if (($null -eq $PathWithVersion) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) { | ||||
|                 $DestinationPath = Get-Absolute-Path $(Join-Path -Path $OutPath -ChildPath $entry.FullName) | ||||
|                 $DestinationDir = Split-Path -Parent $DestinationPath | ||||
|                 $OverrideFiles=$OverrideNonVersionedFiles -Or (-Not (Test-Path $DestinationPath)) | ||||
|                 $OverrideFiles = $OverrideNonVersionedFiles -Or (-Not (Test-Path $DestinationPath)) | ||||
|                 if ((-Not $DestinationPath.EndsWith("\")) -And $OverrideFiles) { | ||||
|                     New-Item -ItemType Directory -Force -Path $DestinationDir | Out-Null | ||||
|                     [System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, $DestinationPath, $OverrideNonVersionedFiles) | ||||
| @ -866,8 +867,7 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     catch | ||||
|     { | ||||
|     catch { | ||||
|         Say-Error "Failed to extract package. Exception: $_" | ||||
|         throw; | ||||
|     } | ||||
| @ -954,7 +954,8 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) { | ||||
|         if (-Not $env:path.Contains($SuffixedBinPath)) { | ||||
|             Say "Adding to current process PATH: `"$BinPath`". Note: This change will not be visible if PowerShell was run as a child process." | ||||
|             $env:path = $SuffixedBinPath + $env:path | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             Say-Verbose "Current process PATH already contains `"$BinPath`"" | ||||
|         } | ||||
|     } | ||||
| @ -963,36 +964,60 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot) { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function PrintDryRunOutput($Invocation, $DownloadLinks) | ||||
| { | ||||
| function PrintDryRunOutput($Invocation, $DownloadLinks) { | ||||
|     Say "Payload URLs:" | ||||
|      | ||||
|     for ($linkIndex=0; $linkIndex -lt $DownloadLinks.count; $linkIndex++) { | ||||
|     for ($linkIndex = 0; $linkIndex -lt $DownloadLinks.count; $linkIndex++) { | ||||
|         Say "URL #$linkIndex - $($DownloadLinks[$linkIndex].type): $($DownloadLinks[$linkIndex].downloadLink)" | ||||
|     } | ||||
|     $RepeatableCommand = ".\$ScriptName -Version `"$SpecificVersion`" -InstallDir `"$InstallRoot`" -Architecture `"$CLIArchitecture`"" | ||||
|     if ($Runtime -eq "dotnet") { | ||||
|        $RepeatableCommand+=" -Runtime `"dotnet`"" | ||||
|         $RepeatableCommand += " -Runtime `"dotnet`"" | ||||
|     } | ||||
|     elseif ($Runtime -eq "aspnetcore") { | ||||
|        $RepeatableCommand+=" -Runtime `"aspnetcore`"" | ||||
|         $RepeatableCommand += " -Runtime `"aspnetcore`"" | ||||
|     } | ||||
| 
 | ||||
|     foreach ($key in $Invocation.BoundParameters.Keys) { | ||||
|         if (-not (@("Architecture","Channel","DryRun","InstallDir","Runtime","SharedRuntime","Version","Quality","FeedCredential") -contains $key)) { | ||||
|             $RepeatableCommand+=" -$key `"$($Invocation.BoundParameters[$key])`"" | ||||
|         if (-not (@("Architecture", "Channel", "DryRun", "InstallDir", "Runtime", "SharedRuntime", "Version", "Quality", "FeedCredential") -contains $key)) { | ||||
|             $RepeatableCommand += " -$key `"$($Invocation.BoundParameters[$key])`"" | ||||
|         } | ||||
|     } | ||||
|     if ($Invocation.BoundParameters.Keys -contains "FeedCredential") { | ||||
|         $RepeatableCommand+=" -FeedCredential `"<feedCredential>`"" | ||||
|         $RepeatableCommand += " -FeedCredential `"<feedCredential>`"" | ||||
|     } | ||||
|     Say "Repeatable invocation: $RepeatableCommand" | ||||
|     if ($SpecificVersion -ne $EffectiveVersion) | ||||
|     { | ||||
|     if ($SpecificVersion -ne $EffectiveVersion) { | ||||
|         Say "NOTE: Due to finding a version manifest with this runtime, it would actually install with version '$EffectiveVersion'" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| # 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) { | ||||
|     Say-Invocation $MyInvocation  | ||||
| 
 | ||||
| @ -1010,19 +1035,18 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|     } | ||||
|     $akaMsLink += "/$Channel" | ||||
|     if (-not [string]::IsNullOrEmpty($Quality)) { | ||||
|         $akaMsLink +="/$Quality" | ||||
|         $akaMsLink += "/$Quality" | ||||
|     } | ||||
|     $akaMsLink +="/$Product-win-$Architecture.zip" | ||||
|     $akaMsLink += "/$Product-win-$Architecture.zip" | ||||
|     Say-Verbose  "Constructed aka.ms link: '$akaMsLink'." | ||||
|     $akaMsDownloadLink=$null | ||||
|     $akaMsDownloadLink = $null | ||||
| 
 | ||||
|     for ($maxRedirections = 9; $maxRedirections -ge 0; $maxRedirections--) | ||||
|     { | ||||
|     for ($maxRedirections = 9; $maxRedirections -ge 0; $maxRedirections--) { | ||||
|         #get HTTP response | ||||
|         #do not pass credentials as a part of the $akaMsLink and do not apply credentials in the GetHTTPResponse function | ||||
|         #otherwise the redirect link would have credentials as well | ||||
|         #it would result in applying credentials twice to the resulting link and thus breaking it, and in echoing credentials to the output as a part of redirect link | ||||
|         $Response= GetHTTPResponse -Uri $akaMsLink -HeaderOnly $true -DisableRedirect $true -DisableFeedCredential $true | ||||
|         $Response = GetHTTPResponse -Uri $akaMsLink -HeaderOnly $true -DisableRedirect $true -DisableFeedCredential $true | ||||
|         Say-Verbose "Received response:`n$Response" | ||||
| 
 | ||||
|         if ([string]::IsNullOrEmpty($Response)) { | ||||
| @ -1031,8 +1055,7 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|         } | ||||
| 
 | ||||
|         #if HTTP code is 301 (Moved Permanently), the redirect link exists | ||||
|         if  ($Response.StatusCode -eq 301) | ||||
|         { | ||||
|         if ($Response.StatusCode -eq 301) { | ||||
|             try { | ||||
|                 $akaMsDownloadLink = $Response.Headers.GetValues("Location")[0] | ||||
| 
 | ||||
| @ -1051,9 +1074,13 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
|                 return $null | ||||
|             } | ||||
|         } | ||||
|         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. | ||||
|             $actualRedirectUrl = Sanitize-RedirectUrl $akaMsDownloadLink | ||||
|             if ($null -ne $actualRedirectUrl) { | ||||
|                 $akaMsDownloadLink = $actualRedirectUrl | ||||
|             } | ||||
| 
 | ||||
|             return $akaMsDownloadLink | ||||
|         } | ||||
| 
 | ||||
| @ -1069,7 +1096,7 @@ function Get-AkaMSDownloadLink([string]$Channel, [string]$Quality, [bool]$Intern | ||||
| function Get-AkaMsLink-And-Version([string] $NormalizedChannel, [string] $NormalizedQuality, [bool] $Internal, [string] $ProductName, [string] $Architecture) { | ||||
|     $AkaMsDownloadLink = Get-AkaMSDownloadLink -Channel $NormalizedChannel -Quality $NormalizedQuality -Internal $Internal -Product $ProductName -Architecture $Architecture | ||||
|     | ||||
|     if ([string]::IsNullOrEmpty($AkaMsDownloadLink)){ | ||||
|     if ([string]::IsNullOrEmpty($AkaMsDownloadLink)) { | ||||
|         if (-not [string]::IsNullOrEmpty($NormalizedQuality)) { | ||||
|             # if quality is specified - exit with error - there is no fallback approach | ||||
|             Say-Error "Failed to locate the latest version in the channel '$NormalizedChannel' with '$NormalizedQuality' quality for '$ProductName', os: 'win', architecture: '$Architecture'." | ||||
| @ -1102,27 +1129,21 @@ function Get-AkaMsLink-And-Version([string] $NormalizedChannel, [string] $Normal | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| function Get-Feeds-To-Use() | ||||
| { | ||||
| function Get-Feeds-To-Use() { | ||||
|     $feeds = @( | ||||
|     "https://dotnetcli.azureedge.net/dotnet", | ||||
|     "https://dotnetbuilds.azureedge.net/public" | ||||
|         "https://builds.dotnet.microsoft.com/dotnet" | ||||
|         "https://ci.dot.net/public" | ||||
|     ) | ||||
| 
 | ||||
|     if (-not [string]::IsNullOrEmpty($AzureFeed)) { | ||||
|         $feeds = @($AzureFeed) | ||||
|     } | ||||
| 
 | ||||
|     if ($NoCdn) { | ||||
|         $feeds = @( | ||||
|         "https://dotnetcli.blob.core.windows.net/dotnet", | ||||
|         "https://dotnetbuilds.blob.core.windows.net/public" | ||||
|         ) | ||||
| 
 | ||||
|     if (-not [string]::IsNullOrEmpty($UncachedFeed)) { | ||||
|             $feeds = @($UncachedFeed) | ||||
|     } | ||||
|     } | ||||
| 
 | ||||
|     Write-Verbose "Initialized feeds: $feeds" | ||||
| 
 | ||||
|     return $feeds | ||||
| } | ||||
| @ -1177,8 +1198,7 @@ function Prepare-Install-Directory { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| if ($Help) | ||||
| { | ||||
| if ($Help) { | ||||
|     Get-Help $PSCommandPath -Examples | ||||
|     exit | ||||
| } | ||||
| @ -1206,6 +1226,10 @@ Measure-Action "Product discovery" { | ||||
| } | ||||
| 
 | ||||
| $InstallRoot = Resolve-Installation-Path $InstallDir | ||||
| if (-not (Test-User-Write-Access $InstallRoot)) { | ||||
|     Say-Error "The current user doesn't have write access to the installation root '$InstallRoot' to install .NET. Please try specifying a different installation directory using the -InstallDir parameter, or ensure the selected directory has the appropriate permissions." | ||||
|     throw | ||||
| } | ||||
| Say-Verbose "InstallRoot: $InstallRoot" | ||||
| $ScriptName = $MyInvocation.MyCommand.Name | ||||
| ($assetName, $dotnetPackageRelativePath) = Resolve-AssetName-And-RelativePath -Runtime $Runtime | ||||
| @ -1222,13 +1246,12 @@ if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) { | ||||
|     ($DownloadLink, $SpecificVersion, $EffectiveVersion) = Get-AkaMsLink-And-Version $NormalizedChannel $NormalizedQuality $Internal $NormalizedProduct $CLIArchitecture | ||||
|      | ||||
|     if ($null -ne $DownloadLink) { | ||||
|         $DownloadLinks += New-Object PSObject -Property @{downloadLink="$DownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='aka.ms'} | ||||
|         $DownloadLinks += New-Object PSObject -Property @{downloadLink = "$DownloadLink"; specificVersion = "$SpecificVersion"; effectiveVersion = "$EffectiveVersion"; type = 'aka.ms' } | ||||
|         Say-Verbose "Generated aka.ms link $DownloadLink with version $EffectiveVersion" | ||||
|          | ||||
|         if (-Not $DryRun) { | ||||
|             Say-Verbose "Checking if the version $EffectiveVersion is already installed" | ||||
|             if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) | ||||
|             { | ||||
|             if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) { | ||||
|                 Say "$assetName with version '$EffectiveVersion' is already installed." | ||||
|                 Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot | ||||
|                 return | ||||
| @ -1239,34 +1262,31 @@ if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) { | ||||
| 
 | ||||
| # Primary and legacy links cannot be used if a quality was specified. | ||||
| # If we already have an aka.ms link, no need to search the blob feeds. | ||||
| if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count) | ||||
| { | ||||
| if ([string]::IsNullOrEmpty($NormalizedQuality) -and 0 -eq $DownloadLinks.count) { | ||||
|     foreach ($feed in $feeds) { | ||||
|         try { | ||||
|             $SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $feed -Channel $Channel -Version $Version -JSonFile $JSonFile | ||||
|             $DownloadLink, $EffectiveVersion = Get-Download-Link -AzureFeed $feed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture | ||||
|             $LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $feed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture | ||||
|              | ||||
|             $DownloadLinks += New-Object PSObject -Property @{downloadLink="$DownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='primary'} | ||||
|             $DownloadLinks += New-Object PSObject -Property @{downloadLink = "$DownloadLink"; specificVersion = "$SpecificVersion"; effectiveVersion = "$EffectiveVersion"; type = 'primary' } | ||||
|             Say-Verbose "Generated primary link $DownloadLink with version $EffectiveVersion" | ||||
|      | ||||
|             if (-not [string]::IsNullOrEmpty($LegacyDownloadLink)) { | ||||
|                 $DownloadLinks += New-Object PSObject -Property @{downloadLink="$LegacyDownloadLink";specificVersion="$SpecificVersion";effectiveVersion="$EffectiveVersion";type='legacy'} | ||||
|                 $DownloadLinks += New-Object PSObject -Property @{downloadLink = "$LegacyDownloadLink"; specificVersion = "$SpecificVersion"; effectiveVersion = "$EffectiveVersion"; type = 'legacy' } | ||||
|                 Say-Verbose "Generated legacy link $LegacyDownloadLink with version $EffectiveVersion" | ||||
|             } | ||||
|      | ||||
|             if (-Not $DryRun) { | ||||
|                 Say-Verbose "Checking if the version $EffectiveVersion is already installed" | ||||
|                 if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) | ||||
|                 { | ||||
|                 if (Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $EffectiveVersion) { | ||||
|                     Say "$assetName with version '$EffectiveVersion' is already installed." | ||||
|                     Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot | ||||
|                     return | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         catch | ||||
|         { | ||||
|         catch { | ||||
|             Say-Verbose "Failed to acquire download links from feed $feed. Exception: $_" | ||||
|         } | ||||
|     } | ||||
| @ -1289,8 +1309,7 @@ $DownloadSucceeded = $false | ||||
| $DownloadedLink = $null | ||||
| $ErrorMessages = @() | ||||
| 
 | ||||
| foreach ($link in $DownloadLinks) | ||||
| { | ||||
| foreach ($link in $DownloadLinks) { | ||||
|     Say-Verbose "Downloading `"$($link.type)`" link $($link.downloadLink)" | ||||
| 
 | ||||
|     try { | ||||
| @ -1310,7 +1329,8 @@ foreach ($link in $DownloadLinks) | ||||
|      | ||||
|         if ($PSItem.Exception.Data.Contains("ErrorMessage")) { | ||||
|             $ErrorMessage = $PSItem.Exception.Data["ErrorMessage"] | ||||
|         } else { | ||||
|         } | ||||
|         else { | ||||
|             $ErrorMessage = $PSItem.Exception.Message | ||||
|         } | ||||
| 
 | ||||
| @ -1361,47 +1381,48 @@ if (-not $KeepZip) { | ||||
| 
 | ||||
| Measure-Action "Setting up shell environment" { Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot } | ||||
| 
 | ||||
| Say "Note that the script does not resolve dependencies during installation." | ||||
| Say "To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install/windows#dependencies" | ||||
| Say "Note that the script does not ensure your Windows version is supported during the installation." | ||||
| Say "To check the list of supported versions, go to https://learn.microsoft.com/dotnet/core/install/windows#supported-versions" | ||||
| Say "Installed version is $($DownloadedLink.effectiveVersion)" | ||||
| Say "Installation finished" | ||||
| 
 | ||||
| # SIG # Begin signature block | ||||
| # MIIoLAYJKoZIhvcNAQcCoIIoHTCCKBkCAQExDzANBglghkgBZQMEAgEFADB5Bgor | ||||
| # MIIoRgYJKoZIhvcNAQcCoIIoNzCCKDMCAQExDzANBglghkgBZQMEAgEFADB5Bgor | ||||
| # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG | ||||
| # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAcjJpspXTX0Wfr | ||||
| # XrmBKKJAMp5FGvSyRcbMwr8jAJ2D2qCCDXYwggX0MIID3KADAgECAhMzAAADrzBA | ||||
| # DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAA6hOL3sfG/4jH | ||||
| # iO4VqZoOTVqC+yp2rOhb1M2cc+ic7KCCDXYwggX0MIID3KADAgECAhMzAAAEBGx0 | ||||
| # Bv9XKydyAAAAAAQEMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p | ||||
| # bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw | ||||
| # bmcgUENBIDIwMTEwHhcNMjQwOTEyMjAxMTE0WhcNMjUwOTExMjAxMTE0WjB0MQsw | ||||
| # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u | ||||
| # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB | ||||
| # AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA | ||||
| # hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG | ||||
| # 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN | ||||
| # xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL | ||||
| # go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB | ||||
| # tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE | ||||
| # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw | ||||
| # AQC0KDfaY50MDqsEGdlIzDHBd6CqIMRQWW9Af1LHDDTuFjfDsvna0nEuDSYJmNyz | ||||
| # NB10jpbg0lhvkT1AzfX2TLITSXwS8D+mBzGCWMM/wTpciWBV/pbjSazbzoKvRrNo | ||||
| # DV/u9omOM2Eawyo5JJJdNkM2d8qzkQ0bRuRd4HarmGunSouyb9NY7egWN5E5lUc3 | ||||
| # a2AROzAdHdYpObpCOdeAY2P5XqtJkk79aROpzw16wCjdSn8qMzCBzR7rvH2WVkvF | ||||
| # HLIxZQET1yhPb6lRmpgBQNnzidHV2Ocxjc8wNiIDzgbDkmlx54QPfw7RwQi8p1fy | ||||
| # 4byhBrTjv568x8NGv3gwb0RbAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE | ||||
| # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU8huhNbETDU+ZWllL4DNMPCijEU4w | ||||
| # RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW | ||||
| # MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci | ||||
| # MBQGA1UEBRMNMjMwMDEyKzUwMjkyMzAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci | ||||
| # tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j | ||||
| # b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG | ||||
| # CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu | ||||
| # Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 | ||||
| # MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd | ||||
| # mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ | ||||
| # 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY | ||||
| # 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp | ||||
| # XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn | ||||
| # TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT | ||||
| # e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG | ||||
| # OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O | ||||
| # PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk | ||||
| # ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx | ||||
| # HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt | ||||
| # CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq | ||||
| # MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAIjmD9IpQVvfB1QehvpC | ||||
| # Ge7QeTQkKQ7j3bmDMjwSqFL4ri6ae9IFTdpywn5smmtSIyKYDn3/nHtaEn0X1NBj | ||||
| # L5oP0BjAy1sqxD+uy35B+V8wv5GrxhMDJP8l2QjLtH/UglSTIhLqyt8bUAqVfyfp | ||||
| # h4COMRvwwjTvChtCnUXXACuCXYHWalOoc0OU2oGN+mPJIJJxaNQc1sjBsMbGIWv3 | ||||
| # cmgSHkCEmrMv7yaidpePt6V+yPMik+eXw3IfZ5eNOiNgL1rZzgSJfTnvUqiaEQ0X | ||||
| # dG1HbkDv9fv6CTq6m4Ty3IzLiwGSXYxRIXTxT4TYs5VxHy2uFjFXWVSL0J2ARTYL | ||||
| # E4Oyl1wXDF1PX4bxg1yDMfKPHcE1Ijic5lx1KdK1SkaEJdto4hd++05J9Bf9TAmi | ||||
| # u6EK6C9Oe5vRadroJCK26uCUI4zIjL/qG7mswW+qT0CW0gnR9JHkXCWNbo8ccMk1 | ||||
| # sJatmRoSAifbgzaYbUz8+lv+IXy5GFuAmLnNbGjacB3IMGpa+lbFgih57/fIhamq | ||||
| # 5VhxgaEmn/UjWyr+cPiAFWuTVIpfsOjbEAww75wURNM1Imp9NJKye1O24EspEHmb | ||||
| # DmqCUcq7NqkOKIG4PVm3hDDED/WQpzJDkvu4FrIbvyTGVU01vKsg4UfcdiZ0fQ+/ | ||||
| # V0hf8yrtq9CkB8iIuk5bBxuPMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq | ||||
| # hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x | ||||
| # EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv | ||||
| # bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 | ||||
| @ -1441,144 +1462,144 @@ Say "Installation finished" | ||||
| # XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA | ||||
| # 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt | ||||
| # Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr | ||||
| # /Xmfwb1tbWrJUnMTDXpQzTGCGgwwghoIAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | ||||
| # /Xmfwb1tbWrJUnMTDXpQzTGCGiYwghoiAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw | ||||
| # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN | ||||
| # aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp | ||||
| # Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB | ||||
| # Z25pbmcgUENBIDIwMTECEzMAAAQEbHQG/1crJ3IAAAAABAQwDQYJYIZIAWUDBAIB | ||||
| # BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO | ||||
| # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEILE0f3lJHQgU2RZWXUC1oqZH | ||||
| # SyMVCuT1h5mXGiSSjTDHMEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | ||||
| # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIL7Zm9jjqasUipeS7XNbT5Gz | ||||
| # uhEwSf09z2Ab+694mR/3MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A | ||||
| # cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB | ||||
| # BQAEggEANxDFgCiCDFasXK4jelzA8ed3cn/ZebTOsL/D/5LQTgwhbjtfp1Dp7awF | ||||
| # 8vESgjYXq22XMBz5vV12f2f14XzxG1kW17bP9OR+D2C3GUlN2xQstIhslXJRKVwi | ||||
| # lpFqHGFKy8o6sssvdrtsatlfrtC+ZChbQ1nyJmYWiCotVTwoi6UMA3EiXfQ/6KGo | ||||
| # o8MykKgtMWaolI63lITY2EWtUowSgg7IToyrZEYOH3p45F3Rb3mfVl5GE9u8BPBZ | ||||
| # WyZ3JZPojeJZPBwoh746RijTpga+MIPTLMT5/pyEFF37XoTfKy+pmIy2g27fGF0f | ||||
| # dUTMVnaeP3Gsz/QoRIYGwRZHxPIn06GCF5YwgheSBgorBgEEAYI3AwMBMYIXgjCC | ||||
| # F34GCSqGSIb3DQEHAqCCF28wghdrAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFRBgsq | ||||
| # hkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | ||||
| # AwQCAQUABCDsnfXLdwRAAmajQ5qXHFhiKlkumRT841LqpvZZhWG0uwIGZbwTAVg6 | ||||
| # GBIyMDI0MDIxNDIxMTUyNS45OVowBIACAfSggdGkgc4wgcsxCzAJBgNVBAYTAlVT | ||||
| # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK | ||||
| # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVy | ||||
| # aWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNzAzLTA1 | ||||
| # RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCC | ||||
| # Ee0wggcgMIIFCKADAgECAhMzAAAB6pokctVZP2FjAAEAAAHqMA0GCSqGSIb3DQEB | ||||
| # CwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH | ||||
| # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV | ||||
| # BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTIwNjE4NDUz | ||||
| # MFoXDTI1MDMwNTE4NDUzMFowgcsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo | ||||
| # aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y | ||||
| # cG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMx | ||||
| # JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjozNzAzLTA1RTAtRDk0NzElMCMGA1UE | ||||
| # AxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEB | ||||
| # BQADggIPADCCAgoCggIBALULX/FIPyAH1fsu52ijatZvaSypoXrlC0mRtCmaxzob | ||||
| # huDkw6/pY/+4nhc4m8pf9zW3R6PihYGp0YPpVuNdfhPQp/KVO6WvMq2DGfFmHurW | ||||
| # 4PQPL/DkbQMkM9vqjFCvPq8xXZnfL1nGN9moGcN+oaif/hUMedmF1qzbay9ILkYf | ||||
| # LCxDYn3Qwzsvh5xjxOcsjzmRddNURJvT23Eva0cxisH4ocLLTx2zfpqfshw4Z9Ga | ||||
| # EdsWg9rmib1galUpLzF5PsQDBbtZtcv+Wjmn0pFEiMCWwEEcPVN0YG5ysYLdNBdJ | ||||
| # On2zsOOS+80W5RrQEqzPpSIIvEkZBJmF3aI4lMR8nV/FiTadjpIIqxX5Wa1XlqI/ | ||||
| # Nj+xagVjnjb7POsA+vh6Wu+v24HpyL8pyL/8Q4RFkRRME9cwT+Jr63yOtPbLe6DX | ||||
| # kxIJW6E6w2ua5kXBpEKtEQPTLPhX3CUxMYcglbnmI0zcc9UknX285K+sI/2WwRwT | ||||
| # BZkhDUULI86eQzV+zvzzR1qEBrlSY+oyTlYQrHMM9WnTzVflFDocZVTPpl2BDSNx | ||||
| # Pn0Qb4IoM9EPqbHyi/MilL+v/AQc8q3mQ6FiuPJAddz0ocpNZ9ekBWPVLKq3lfie | ||||
| # v4yl65u/438+NAQ+vSJgkONLMmuoguEGzmnK1vq/JHwdRUyn6YADiteM7Dja+Qd9 | ||||
| # AgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUK4FFJaJR5ukXQFTUxMhyiwVuWV4wHwYD | ||||
| # VR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZO | ||||
| # aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIw | ||||
| # VGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBc | ||||
| # BggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0 | ||||
| # cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYD | ||||
| # VR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMC | ||||
| # B4AwDQYJKoZIhvcNAQELBQADggIBACiDrVZeP37+fFVtfcbfsqC/Kg0Ce67bDceh | ||||
| # ZmPcfRgJ5Ddv0pJlOFVOFbiIVwesqeEUwFtclfi5AjneQ5ZJpYJpXfELOelG3dzj | ||||
| # +BKfd287/UY/cwmSkl+CjnoKBL3Ms6I/fWR+alR0+p6RlviK8xHoug9vkc2WrRZs | ||||
| # GnMVu2xOM2tPJ+qpyoDBzqv30N/ZRBOoNrS/PCkDwLGICDYqVs/IzAE49yv2ElPy | ||||
| # walf9mEsOHXV1lxtQDNcejVEmitJJ+1Vr2EtafPEbMQZp89TAuagROKE4YuohCUK | ||||
| # m+v3geJqTQarTBjqV25RCOT+XFngTMDD9wYx6TwndB2I1Ly726NiHUHs0uvq3ciC | ||||
| # V9JwNXdt1VZ63WK1NSgpVEsiK9EPABPt1EfXcKrfaPYkbkFi79eK1ETxx3NomYNU | ||||
| # HNiGU+X1Be8L7qpHwjo0g3/33XhtOr9LiDoUXh/V2LFTETiqV9Q8yLEavQW3j9LQ | ||||
| # /h/CaGz5YdGfrY8HiPfMIeLEokKxGf0hHcTEFApB0yLlq6KoHrFAEANR/4XuFIpl | ||||
| # 9sDywVIWt4tKqG+P6pRAXzg1zG5rGlslZWmw7XwgvhBu3jkLP9AxrsSYwY2ftrww | ||||
| # ze5NA6VDLS7pz+OrXXWLUmoyNrJNx5Bk0wEwzkQxzkOvmbdPhsOP1ZM0uA/xIV7c | ||||
| # SpNpZUw5MIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG | ||||
| # 9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO | ||||
| # BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy | ||||
| # MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw | ||||
| # MTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJV | ||||
| # BQAEggEAfTNcpMwgkFxkb0hBch2MCvTb1mGCFv8rZWTkR/aRZTyzuAIEb2GfL4qB | ||||
| # rPycLC2+q4gaksj1Cv+mRTEq+ysl0aWbXgPiRNiijlnuWKRPZ4nlcGkeXu5zxJ1W | ||||
| # uUOCIe03s6eJCUZseRZkNHB1/CqIlk/YB5yqB38cfq6ct+lWKoSCbSwRVh3Du6am | ||||
| # jxnQRa4njduu1xywcKZYp9NGGeAgRDpMNbvFKF4Qf3krbTAn3vIVDBay6oeiHo2I | ||||
| # x1RLrRC/CEYZ7oJ8tyc3SUE2/Jd00M4EKax+z3xTIkOmyMBZjEe1el92WVcUWukT | ||||
| # ACoQjF5jPyXnfYGH7rjevjpI5u2T66GCF7AwghesBgorBgEEAYI3AwMBMYIXnDCC | ||||
| # F5gGCSqGSIb3DQEHAqCCF4kwgheFAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFaBgsq | ||||
| # hkiG9w0BCRABBKCCAUkEggFFMIIBQQIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl | ||||
| # AwQCAQUABCBjHcYL0Rw5C6IE3Lyb3B0i9qsTzN6j8bzChm+bMp97RgIGZ2Ld17Jt | ||||
| # GBMyMDI1MDExMjAwNDMxNy4yNTZaMASAAgH0oIHZpIHWMIHTMQswCQYDVQQGEwJV | ||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt | ||||
| # ZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB | ||||
| # AOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az | ||||
| # /1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V2 | ||||
| # 9YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oa | ||||
| # ezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkN | ||||
| # yjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7K | ||||
| # MtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRf | ||||
| # NN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SU | ||||
| # HDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoY | ||||
| # WmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5 | ||||
| # C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8 | ||||
| # FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TAS | ||||
| # BgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1 | ||||
| # Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUw | ||||
| # UzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNy | ||||
| # b3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoG | ||||
| # CCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB | ||||
| # hjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fO | ||||
| # mhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w | ||||
| # a2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggr | ||||
| # BgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNv | ||||
| # bS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3 | ||||
| # DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEz | ||||
| # tTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJW | ||||
| # AAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G | ||||
| # 82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/Aye | ||||
| # ixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI9 | ||||
| # 5ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1j | ||||
| # dEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZ | ||||
| # KCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xB | ||||
| # Zj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuP | ||||
| # Ntq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvp | ||||
| # e784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCA1Aw | ||||
| # ggI4AgEBMIH5oYHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu | ||||
| # Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv | ||||
| # cmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScw | ||||
| # JQYDVQQLEx5uU2hpZWxkIFRTUyBFU046MzcwMy0wNUUwLUQ5NDcxJTAjBgNVBAMT | ||||
| # HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAInb | ||||
| # HtxB+OlGyQnxQYhy04KSYSSPoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNV | ||||
| # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv | ||||
| # c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||
| # UENBIDIwMTAwDQYJKoZIhvcNAQELBQACBQDpdwuXMCIYDzIwMjQwMjE0MDk1MTE5 | ||||
| # WhgPMjAyNDAyMTUwOTUxMTlaMHcwPQYKKwYBBAGEWQoEATEvMC0wCgIFAOl3C5cC | ||||
| # AQAwCgIBAAICAbgCAf8wBwIBAAICFGEwCgIFAOl4XRcCAQAwNgYKKwYBBAGEWQoE | ||||
| # AjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkq | ||||
| # hkiG9w0BAQsFAAOCAQEAD3oj3Gr5HTA5vQkFXZE9QSfCqxmL4ez3qxPD1t/UMJ9w | ||||
| # 93APM6n5MjApe6tpBjo4Oe83WMnfsWNA5ZRu8B/XJhyJ8531k5XMROCaVX6eTOrO | ||||
| # 70mkxtszD1E2m5iFx2RYJKS2ldkFAnykkFMc4ezXHa+RAijQA3rQp2VNidnVEFkO | ||||
| # jkaZY2FoA2dbG7v9ZjkQsmrycREGNiakPhAgqqmTiUlDPvul5gJx24VGL0z7JZhP | ||||
| # KUsccmv6HF3sgD6FjhENyZtD1+NrRfVQHTrjitjpC/dX9ux2OP8pjPi3WIdPfEsI | ||||
| # 2PhWNWSEof4cWFv/lLlYAUVeHPDcafr+2umlLYb62zGCBA0wggQJAgEBMIGTMHwx | ||||
| # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt | ||||
| # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p | ||||
| # Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB6pokctVZP2FjAAEAAAHq | ||||
| # MA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQw | ||||
| # LwYJKoZIhvcNAQkEMSIEIL2oG23lx47V7tAc0IyUsnuhSrJEjOACK32L1AXSjdl/ | ||||
| # MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgKY+h1eNkNHiLCDSW0sA1cGHk | ||||
| # bW4qooi+ryyMp6S4ZngwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK | ||||
| # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 | ||||
| # IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg | ||||
| # MjAxMAITMwAAAeqaJHLVWT9hYwABAAAB6jAiBCB7j2iMmFJTNAbY6vZ80pGTL0BC | ||||
| # A2VAW00KF9MbtVlx1zANBgkqhkiG9w0BAQsFAASCAgA1ArfmkqTc7BoI6J+6zHkc | ||||
| # TrfkFzsjKWBJpcPWwOPOZOdxfO850UPyrCLJgTclSkgnDBSSDQLqjhV2Q3EeM5tm | ||||
| # iBFU1IO7RIMeF4hTB2jOzGuvX46zRms8/booKtLBlPRscHvYbXgOUqIn9M2ymtZo | ||||
| # aMp08VpWw+PxTbSa6HN6jQiwVVtRg9nsGd4gY/mO6+agIkbSs6hY2oV6HyhDH3CB | ||||
| # DvEL3z7BCJ5Dx52K3XE2BUDR6nLhkGvxOxRaJ1GmJQXMMILDebq6ULx0ULThmpUQ | ||||
| # y6aifjEa3r60cjg29rKd/4PGmbDBaRAnVs7JEaxdSsTR75Ak7OKQymZ4yPI3bTkx | ||||
| # 1t/LCEKtia/oqv3tFMP8KtSUHZEK8PvmvRCJII2JrAUrxTYzrohxf/TL95sZdmGg | ||||
| # QNyQC2T+h816Kl7i+RrtXi5i6kSYqnTlr7uKFU4idVNRVxqiO/oumXhf6REHp1Wi | ||||
| # V60E8w5gawis5jnaJqZMeCiyHSLhm+zvXaCMm1AHUWQ6zK/GWOp1Y0wHiJRr5pnf | ||||
| # 4wIKAt7oKWL/clx2jikqesxYFfGBq0YnfRUyHt3bscb83xfbFMjcbok/UI8fxWQM | ||||
| # vLsaEzFVp+a7wRqLf4KjiYzF4hORFWoGlZbGglkVYiYswX8Emsx5cn2F5M9cznRn | ||||
| # 4d+LeskiXr3Z0pV6Ooki3w== | ||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||
| # U2VydmljZaCCEf4wggcoMIIFEKADAgECAhMzAAAB+vs7RNN3M8bTAAEAAAH6MA0G | ||||
| # CSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u | ||||
| # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp | ||||
| # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTI0 | ||||
| # MDcyNTE4MzExMVoXDTI1MTAyMjE4MzExMVowgdMxCzAJBgNVBAYTAlVTMRMwEQYD | ||||
| # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy | ||||
| # b3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9w | ||||
| # ZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjQzMUEt | ||||
| # MDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl | ||||
| # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyhZVBM3PZcBfEpAf7fII | ||||
| # hygwYVVP64USeZbSlRR3pvJebva0LQCDW45yOrtpwIpGyDGX+EbCbHhS5Td4J0Yl | ||||
| # c83ztLEbbQD7M6kqR0Xj+n82cGse/QnMH0WRZLnwggJdenpQ6UciM4nMYZvdQjyb | ||||
| # A4qejOe9Y073JlXv3VIbdkQH2JGyT8oB/LsvPL/kAnJ45oQIp7Sx57RPQ/0O6qay | ||||
| # J2SJrwcjA8auMdAnZKOixFlzoooh7SyycI7BENHTpkVKrRV5YelRvWNTg1pH4EC2 | ||||
| # KO2bxsBN23btMeTvZFieGIr+D8mf1lQQs0Ht/tMOVdah14t7Yk+xl5P4Tw3xfAGg | ||||
| # Hsvsa6ugrxwmKTTX1kqXH5XCdw3TVeKCax6JV+ygM5i1NroJKwBCW11Pwi0z/ki9 | ||||
| # 0ZeO6XfEE9mCnJm76Qcxi3tnW/Y/3ZumKQ6X/iVIJo7Lk0Z/pATRwAINqwdvzpdt | ||||
| # X2hOJib4GR8is2bpKks04GurfweWPn9z6jY7GBC+js8pSwGewrffwgAbNKm82ZDF | ||||
| # vqBGQQVJwIHSXpjkS+G39eyYOG2rcILBIDlzUzMFFJbNh5tDv3GeJ3EKvC4vNSAx | ||||
| # tGfaG/mQhK43YjevsB72LouU78rxtNhuMXSzaHq5fFiG3zcsYHaa4+w+YmMrhTEz | ||||
| # D4SAish35BjoXP1P1Ct4Va0CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBRjjHKbL5WV | ||||
| # 6kd06KocQHphK9U/vzAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBf | ||||
| # BgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz | ||||
| # L2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmww | ||||
| # bAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29m | ||||
| # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El | ||||
| # MjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUF | ||||
| # BwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAuFbCorFrvodG | ||||
| # +ZNJH3Y+Nz5QpUytQVObOyYFrgcGrxq6MUa4yLmxN4xWdL1kygaW5BOZ3xBlPY7V | ||||
| # puf5b5eaXP7qRq61xeOrX3f64kGiSWoRi9EJawJWCzJfUQRThDL4zxI2pYc1wnPp | ||||
| # 7Q695bHqwZ02eaOBudh/IfEkGe0Ofj6IS3oyZsJP1yatcm4kBqIH6db1+weM4q46 | ||||
| # NhAfAf070zF6F+IpUHyhtMbQg5+QHfOuyBzrt67CiMJSKcJ3nMVyfNlnv6yvttYz | ||||
| # LK3wS+0QwJUibLYJMI6FGcSuRxKlq6RjOhK9L3QOjh0VCM11rHM11ZmN0euJbbBC | ||||
| # VfQEufOLNkG88MFCUNE10SSbM/Og/CbTko0M5wbVvQJ6CqLKjtHSoeoAGPeeX24f | ||||
| # 5cPYyTcKlbM6LoUdO2P5JSdI5s1JF/On6LiUT50adpRstZajbYEeX/N7RvSbkn0d | ||||
| # jD3BvT2Of3Wf9gIeaQIHbv1J2O/P5QOPQiVo8+0AKm6M0TKOduihhKxAt/6Yyk17 | ||||
| # Fv3RIdjT6wiL2qRIEsgOJp3fILw4mQRPu3spRfakSoQe5N0e4HWFf8WW2ZL0+c83 | ||||
| # Qzh3VtEPI6Y2e2BO/eWhTYbIbHpqYDfAtAYtaYIde87ZymXG3MO2wUjhL9HvSQzj | ||||
| # oquq+OoUmvfBUcB2e5L6QCHO6qTO7WowggdxMIIFWaADAgECAhMzAAAAFcXna54C | ||||
| # m0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE | ||||
| # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z | ||||
| # b2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp | ||||
| # Y2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMy | ||||
| # MjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH | ||||
| # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV | ||||
| # BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0B | ||||
| # AQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51 | ||||
| # yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY | ||||
| # 6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9 | ||||
| # cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN | ||||
| # 7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDua | ||||
| # Rr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74 | ||||
| # kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2 | ||||
| # K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5 | ||||
| # TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZk | ||||
| # i1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9Q | ||||
| # BXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3Pmri | ||||
| # Lq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUC | ||||
| # BBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJl | ||||
| # pxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIB | ||||
| # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y | ||||
| # eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA | ||||
| # YgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU | ||||
| # 1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2Ny | ||||
| # bC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIw | ||||
| # MTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDov | ||||
| # L3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0w | ||||
| # Ni0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/yp | ||||
| # b+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulm | ||||
| # ZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM | ||||
| # 9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECW | ||||
| # OKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4 | ||||
| # FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3Uw | ||||
| # xTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPX | ||||
| # fx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVX | ||||
| # VAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC | ||||
| # onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU | ||||
| # 5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEG | ||||
| # ahC0HVUzWLOhcGbyoYIDWTCCAkECAQEwggEBoYHZpIHWMIHTMQswCQYDVQQGEwJV | ||||
| # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE | ||||
| # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl | ||||
| # bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT | ||||
| # Tjo0MzFBLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg | ||||
| # U2VydmljZaIjCgEBMAcGBSsOAwIaAxUA94Z+bUJn+nKwBvII6sg0Ny7aPDaggYMw | ||||
| # gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE | ||||
| # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD | ||||
| # VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsF | ||||
| # AAIFAOss/ykwIhgPMjAyNTAxMTExNDMxMDVaGA8yMDI1MDExMjE0MzEwNVowdzA9 | ||||
| # BgorBgEEAYRZCgQBMS8wLTAKAgUA6yz/KQIBADAKAgEAAgIpggIB/zAHAgEAAgIT | ||||
| # XjAKAgUA6y5QqQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAow | ||||
| # CAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBCwUAA4IBAQCHE6DSGdY4 | ||||
| # KF25iAsxQP9F9Lz6ye/vrWGv+j0aSzSbjHVM3kMcEmX9278XgAKgAYII/f16uDtE | ||||
| # 7VlEwnKGXujGF249I864U50QFt9hIxqCeuvrshDq8a4Q4KVmuDTosYjS114IJeBK | ||||
| # LMOBRgLQCIC+wmvdP4EeYH1tnMIEASFvptE+XBro44/A5pmx5UiDJRL1AG4+aO3x | ||||
| # 13psQu7H3thmbGy7Sf0Azjx0PZ+1QUVI7jWNk9DWjGd18G4SQD8Uxeh0v73/dQx1 | ||||
| # XsFhsyvnrw6uUrxkoAdurif9kyKS+ppo4j9ZkPXzzuc95s1bPcPAyjXCu07Tlunj | ||||
| # sXttGVEPQIeXMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT | ||||
| # Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m | ||||
| # dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB | ||||
| # IDIwMTACEzMAAAH6+ztE03czxtMAAQAAAfowDQYJYIZIAWUDBAIBBQCgggFKMBoG | ||||
| # CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgxenDb/df | ||||
| # q8XJS+q7Oxyca1ryDMmDRA0I3mtr+xYHGZQwgfoGCyqGSIb3DQEJEAIvMYHqMIHn | ||||
| # MIHkMIG9BCB98n8tya8+B2jjU/dpJRIwHwHHpco5ogNStYocbkOeVjCBmDCBgKR+ | ||||
| # MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS | ||||
| # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT | ||||
| # HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB+vs7RNN3M8bTAAEA | ||||
| # AAH6MCIEIC8gtQ6HRW7jzwlpg15qoYopXwF01KaO1EM5tYzqJwx/MA0GCSqGSIb3 | ||||
| # DQEBCwUABIICAIsSn8x3zVS870Zf4pa+jfZjdOq++5dHpeLg46sujQ3w+xj3RyhB | ||||
| # nRa3kjWyU9nNF6hrt0Q+ILOxUt3jCd3hbB1ZuspwbXdoRtRLfuLPvGiSmINdgFR4 | ||||
| # LD/jXLrq9USAHYXHzhuYhaVLIpn7M87TbFuGFVaByjmohZRcPCE8y8b7/RIlGm7B | ||||
| # wgx0thZA4lHWFyj8j7CwjmueOJSSZ9an4P9VHFKJ63kYub4J1VxbeApGAeeS32SD | ||||
| # oI3zDdC+iI+IetR9BUHGcR3Vg7j7c0T+NcrIoPPNb4Ff90Ue24h5RDJMQWrM56ak | ||||
| # VEWgVlzhf8CeyeO7/ButBUZu8VLkH0DQraK9UKptZFKOXMELoi/oZL6IJftHp5vU | ||||
| # +sPpF3NuuXw8Z5eL9jZ7A1y+H7nMhdXP2pojHDN213VZqeoUoOZlbFl6spDF1hFP | ||||
| # 44Fu7TPGEwUNS213Pwln2SJ8SayeVUxsreo4pTvhDl/xZ+B7WNuLL7hatWFGrcf3 | ||||
| # w/HiVCoTfsY49SaN6zAK6akS3KI6KZHfzjaxDw+4LHo8gL68Ik1HZe4W1jaLYaED | ||||
| # LWvKIinaH2vwU0J4a+oX+64eSh0tI9Ef3aM6jn9LgqubY36TzptUTWcsM3vv3YGB | ||||
| # Dnf7LPxSt4/s5bUgAHvkWTjESdtIbt6Pxqz4BRha+ckPYBj968t3mSh6 | ||||
| # SIG # End signature block | ||||
|  | ||||
							
								
								
									
										125
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							| @ -956,6 +956,37 @@ get_absolute_path() { | ||||
|     return 0 | ||||
| } | ||||
| 
 | ||||
| # args: | ||||
| # override - $1 (boolean, true or false) | ||||
| get_cp_options() { | ||||
|     eval $invocation | ||||
| 
 | ||||
|     local override="$1" | ||||
|     local override_switch="" | ||||
| 
 | ||||
|     if [ "$override" = false ]; then | ||||
|         override_switch="-n" | ||||
| 
 | ||||
|         # create temporary files to check if 'cp -u' is supported | ||||
|         tmp_dir="$(mktemp -d)" | ||||
|         tmp_file="$tmp_dir/testfile" | ||||
|         tmp_file2="$tmp_dir/testfile2" | ||||
| 
 | ||||
|         touch "$tmp_file" | ||||
| 
 | ||||
|         # use -u instead of -n if it's available | ||||
|         if cp -u "$tmp_file" "$tmp_file2" 2>/dev/null; then | ||||
|             override_switch="-u" | ||||
|         fi | ||||
| 
 | ||||
|         # clean up | ||||
|         rm -f "$tmp_file" "$tmp_file2" | ||||
|         rm -rf "$tmp_dir" | ||||
|     fi | ||||
| 
 | ||||
|     echo "$override_switch" | ||||
| } | ||||
| 
 | ||||
| # args: | ||||
| # input_files - stdin | ||||
| # root_path - $1 | ||||
| @ -967,16 +998,7 @@ copy_files_or_dirs_from_list() { | ||||
|     local root_path="$(remove_trailing_slash "$1")" | ||||
|     local out_path="$(remove_trailing_slash "$2")" | ||||
|     local override="$3" | ||||
|     local override_switch="" | ||||
| 
 | ||||
|     if [ "$override" = false ]; then | ||||
|         override_switch="-n" | ||||
| 
 | ||||
|         # use -u instead of -n when it's available | ||||
|         if cp -u --help >/dev/null 2>&1; then | ||||
|             override_switch="-u" | ||||
|         fi | ||||
|     fi | ||||
|     local override_switch="$(get_cp_options "$override")" | ||||
| 
 | ||||
|     cat | uniq | while read -r file_path; do | ||||
|         local path="$(remove_beginning_slash "${file_path#$root_path}")" | ||||
| @ -1250,6 +1272,61 @@ downloadwget() { | ||||
|     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() { | ||||
|     eval $invocation | ||||
| 
 | ||||
| @ -1302,6 +1379,11 @@ get_download_link_from_aka_ms() { | ||||
|             return 1 | ||||
|         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'." | ||||
|         return 0 | ||||
|     else | ||||
| @ -1313,24 +1395,17 @@ get_download_link_from_aka_ms() { | ||||
| get_feeds_to_use() | ||||
| { | ||||
|     feeds=( | ||||
|     "https://dotnetcli.azureedge.net/dotnet" | ||||
|     "https://dotnetbuilds.azureedge.net/public" | ||||
|     "https://builds.dotnet.microsoft.com/dotnet" | ||||
|     "https://ci.dot.net/public" | ||||
|     ) | ||||
| 
 | ||||
|     if [[ -n "$azure_feed" ]]; then | ||||
|         feeds=("$azure_feed") | ||||
|     fi | ||||
| 
 | ||||
|     if [[ "$no_cdn" == "true" ]]; then | ||||
|         feeds=( | ||||
|         "https://dotnetcli.blob.core.windows.net/dotnet" | ||||
|         "https://dotnetbuilds.blob.core.windows.net/public" | ||||
|         ) | ||||
| 
 | ||||
|     if [[ -n "$uncached_feed" ]]; then | ||||
|         feeds=("$uncached_feed") | ||||
|     fi | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| # THIS FUNCTION MAY EXIT (if the determined version is already installed). | ||||
| @ -1461,7 +1536,7 @@ generate_regular_links() { | ||||
|         link_types+=("legacy") | ||||
|     else | ||||
|         legacy_download_link="" | ||||
|         say_verbose "Cound not construct a legacy_download_link; omitting..." | ||||
|         say_verbose "Could not construct a legacy_download_link; omitting..." | ||||
|     fi | ||||
| 
 | ||||
|     #  Check if the SDK version is already installed. | ||||
| @ -1564,7 +1639,7 @@ install_dotnet() { | ||||
|                 say "The resource at $link_type link '$download_link' is not available." | ||||
|                 ;; | ||||
|             *) | ||||
|                 say "Failed to download $link_type link '$download_link': $download_error_msg" | ||||
|                 say "Failed to download $link_type link '$download_link': $http_code $download_error_msg" | ||||
|                 ;; | ||||
|             esac | ||||
|             rm -f "$zip_path" 2>&1 && say_verbose "Temporary archive file $zip_path was removed" | ||||
| @ -1625,7 +1700,6 @@ install_dir="<auto>" | ||||
| architecture="<auto>" | ||||
| dry_run=false | ||||
| no_path=false | ||||
| no_cdn=false | ||||
| azure_feed="" | ||||
| uncached_feed="" | ||||
| feed_credential="" | ||||
| @ -1698,10 +1772,6 @@ do | ||||
|             verbose=true | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --no-cdn|-[Nn]o[Cc]dn) | ||||
|             no_cdn=true | ||||
|             non_dynamic_parameters+=" $name" | ||||
|             ;; | ||||
|         --azure-feed|-[Aa]zure[Ff]eed) | ||||
|             shift | ||||
|             azure_feed="$1" | ||||
| @ -1806,13 +1876,10 @@ do | ||||
|             echo "  --verbose,-Verbose                 Display diagnostics information." | ||||
|             echo "  --azure-feed,-AzureFeed            For internal use only." | ||||
|             echo "                                     Allows using a different storage to download SDK archives from." | ||||
|             echo "                                     This parameter is only used if --no-cdn is false." | ||||
|             echo "  --uncached-feed,-UncachedFeed      For internal use only." | ||||
|             echo "                                     Allows using a different storage to download SDK archives from." | ||||
|             echo "                                     This parameter is only used if --no-cdn is true." | ||||
|             echo "  --skip-non-versioned-files         Skips non-versioned files if they already exist, such as the dotnet executable." | ||||
|             echo "      -SkipNonVersionedFiles" | ||||
|             echo "  --no-cdn,-NoCdn                    Disable downloading from the Azure CDN, and use the uncached feed directly." | ||||
|             echo "  --jsonfile <JSONFILE>              Determines the SDK version from a user specified global.json file." | ||||
|             echo "                                     Note: global.json must have a value for 'SDK:Version'" | ||||
|             echo "  --keep-zip,-KeepZip                If set, downloaded file is kept." | ||||
|  | ||||
							
								
								
									
										164
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										164
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -9,12 +9,12 @@ | ||||
|       "version": "4.0.0", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/cache": "^3.2.4", | ||||
|         "@actions/cache": "^4.0.2", | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/github": "^6.0.0", | ||||
|         "@actions/glob": "^0.4.0", | ||||
|         "@actions/http-client": "^2.2.1", | ||||
|         "@actions/http-client": "^2.2.3", | ||||
|         "@actions/io": "^1.0.2", | ||||
|         "fast-xml-parser": "^4.4.1", | ||||
|         "json5": "^2.2.3", | ||||
| @ -51,11 +51,12 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache": { | ||||
|       "version": "3.2.4", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.4.tgz", | ||||
|       "integrity": "sha512-RuHnwfcDagtX+37s0ZWy7clbOfnZ7AlDJQ7k/9rzt2W4Gnwde3fa/qjSjVuz4vLcLIpc7fUob27CMrqiWZytYA==", | ||||
|       "version": "4.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.2.tgz", | ||||
|       "integrity": "sha512-cBr7JL1q+JKjbBd3w3SZN5OQ1Xg+/D8QLMcE7MpgpghZlL4biBO0ZEeraoTxCZyfN0YY0dxXlLgsgGv/sT5BTg==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/core": "^1.10.0", | ||||
|         "@actions/core": "^1.11.1", | ||||
|         "@actions/exec": "^1.0.1", | ||||
|         "@actions/glob": "^0.1.0", | ||||
|         "@actions/http-client": "^2.1.1", | ||||
| @ -63,8 +64,8 @@ | ||||
|         "@azure/abort-controller": "^1.1.0", | ||||
|         "@azure/ms-rest-js": "^2.6.0", | ||||
|         "@azure/storage-blob": "^12.13.0", | ||||
|         "semver": "^6.3.1", | ||||
|         "uuid": "^3.3.3" | ||||
|         "@protobuf-ts/plugin": "^2.9.4", | ||||
|         "semver": "^6.3.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/cache/node_modules/@actions/glob": { | ||||
| @ -85,20 +86,13 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/core": { | ||||
|       "version": "1.10.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", | ||||
|       "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", | ||||
|       "version": "1.11.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", | ||||
|       "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@actions/http-client": "^2.0.1", | ||||
|         "uuid": "^8.3.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/core/node_modules/uuid": { | ||||
|       "version": "8.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", | ||||
|       "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", | ||||
|       "bin": { | ||||
|         "uuid": "dist/bin/uuid" | ||||
|         "@actions/exec": "^1.1.1", | ||||
|         "@actions/http-client": "^2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/exec": { | ||||
| @ -130,9 +124,10 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@actions/http-client": { | ||||
|       "version": "2.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz", | ||||
|       "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", | ||||
|       "version": "2.2.3", | ||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", | ||||
|       "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "tunnel": "^0.0.6", | ||||
|         "undici": "^5.25.4" | ||||
| @ -1037,9 +1032,10 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@fastify/busboy": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", | ||||
|       "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", | ||||
|       "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", | ||||
|       "license": "MIT", | ||||
|       "engines": { | ||||
|         "node": ">=14" | ||||
|       } | ||||
| @ -1674,6 +1670,83 @@ | ||||
|         "node": ">=8.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.5.tgz", | ||||
|       "integrity": "sha512-KCzNRTFye837XdfPjS85gGzxgPGVDR3W8Px2G3etXuouNog9W+Cr+U0IBTFADrRWXC2x+OSNjXxrdZEiw+H5Cw==", | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/plugin-framework": "^2.9.5", | ||||
|         "@protobuf-ts/protoc": "^2.9.5", | ||||
|         "@protobuf-ts/runtime": "^2.9.5", | ||||
|         "@protobuf-ts/runtime-rpc": "^2.9.5", | ||||
|         "typescript": "^3.9" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "protoc-gen-dump": "bin/protoc-gen-dump", | ||||
|         "protoc-gen-ts": "bin/protoc-gen-ts" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.5.tgz", | ||||
|       "integrity": "sha512-DYNQ8Ga3xwPZMfaZGRCnDOcEdQZK9MorTXngVoFLnHWEE8zLhUjFVtdkChZtTih6rl8Z6akyA7hRgj/GrJF58Q==", | ||||
|       "license": "(Apache-2.0 AND BSD-3-Clause)", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.5", | ||||
|         "typescript": "^3.9" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin-framework/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/plugin/node_modules/typescript": { | ||||
|       "version": "3.9.10", | ||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", | ||||
|       "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "tsc": "bin/tsc", | ||||
|         "tsserver": "bin/tsserver" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=4.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/protoc": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.5.tgz", | ||||
|       "integrity": "sha512-n6a7OHfr/Ubw483L6kNJB0wBCe/Ops0A652zB6J6nR2x1o+pjVFrMCeeQQsqxkYpQwQ8FCIETSxrMpfOBKTIvQ==", | ||||
|       "license": "Apache-2.0", | ||||
|       "bin": { | ||||
|         "protoc": "protoc.js" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.5.tgz", | ||||
|       "integrity": "sha512-SsumigRe3IqNTCQvVZUqDQExsKF72eyAMiWlYb5Jwj3eU4z8UH7JLlSfb/Wjidz4b/chTN6zh5AXBSKl0Asm3A==", | ||||
|       "license": "(Apache-2.0 AND BSD-3-Clause)" | ||||
|     }, | ||||
|     "node_modules/@protobuf-ts/runtime-rpc": { | ||||
|       "version": "2.9.5", | ||||
|       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.5.tgz", | ||||
|       "integrity": "sha512-NWAb1TaV4CR+BknZr1WRVT5Ws2AupVwGgRNes4oPAFrgLNXQotDFl2E6pmsjPwME8sAgJVzeSr7bUqQVyoAK2A==", | ||||
|       "license": "Apache-2.0", | ||||
|       "dependencies": { | ||||
|         "@protobuf-ts/runtime": "^2.9.5" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@sinclair/typebox": { | ||||
|       "version": "0.27.8", | ||||
|       "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", | ||||
| @ -2907,9 +2980,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/cross-spawn": { | ||||
|       "version": "7.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | ||||
|       "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", | ||||
|       "version": "7.0.6", | ||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", | ||||
|       "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "path-key": "^3.1.0", | ||||
| @ -4795,12 +4868,12 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/micromatch": { | ||||
|       "version": "4.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", | ||||
|       "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", | ||||
|       "version": "4.0.8", | ||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", | ||||
|       "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "braces": "^3.0.2", | ||||
|         "braces": "^3.0.3", | ||||
|         "picomatch": "^2.3.1" | ||||
|       }, | ||||
|       "engines": { | ||||
| @ -5187,10 +5260,11 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/prettier": { | ||||
|       "version": "3.2.5", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", | ||||
|       "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", | ||||
|       "version": "3.4.2", | ||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", | ||||
|       "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "bin": { | ||||
|         "prettier": "bin/prettier.cjs" | ||||
|       }, | ||||
| @ -5828,9 +5902,10 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/undici": { | ||||
|       "version": "5.28.4", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", | ||||
|       "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", | ||||
|       "version": "5.28.5", | ||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", | ||||
|       "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@fastify/busboy": "^2.0.0" | ||||
|       }, | ||||
| @ -5887,15 +5962,6 @@ | ||||
|         "punycode": "^2.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/uuid": { | ||||
|       "version": "3.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||
|       "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", | ||||
|       "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.", | ||||
|       "bin": { | ||||
|         "uuid": "bin/uuid" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/v8-to-istanbul": { | ||||
|       "version": "9.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", | ||||
|  | ||||
| @ -26,12 +26,12 @@ | ||||
|   "author": "GitHub", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/cache": "^3.2.4", | ||||
|     "@actions/cache": "^4.0.2", | ||||
|     "@actions/core": "^1.10.0", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/github": "^6.0.0", | ||||
|     "@actions/glob": "^0.4.0", | ||||
|     "@actions/http-client": "^2.2.1", | ||||
|     "@actions/http-client": "^2.2.3", | ||||
|     "@actions/io": "^1.0.2", | ||||
|     "fast-xml-parser": "^4.4.1", | ||||
|     "json5": "^2.2.3", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user