Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3a4f6e1af5 | ||
|  | 25f376e348 | ||
|  | d4e4b6bbc1 | ||
|  | 28b532bcb3 | ||
|  | 51ab6d2e30 | ||
|  | 99d3141d9b | ||
|  | 7a6d8a8234 | ||
|  | 7136edc5e8 | ||
|  | 8df1039502 | ||
|  | 870c199c48 | ||
|  | 83a06ff9d9 | ||
|  | 292cc14be8 | ||
|  | 68b1d5a3da | 
							
								
								
									
										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' | ||||||
							
								
								
									
										4
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/e2e-cache.yml
									
									
									
									
										vendored
									
									
								
							| @ -121,7 +121,7 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-13, windows-latest, ubuntu-latest] |         os: [macos-13, windows-latest, ubuntu-22.04] | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
| @ -170,7 +170,7 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-13, windows-latest, ubuntu-latest] |         os: [macos-13, windows-latest, ubuntu-22.04] | ||||||
|     needs: sbt-save |     needs: sbt-save | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|  | |||||||
							
								
								
									
										85
									
								
								.github/workflows/e2e-versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										85
									
								
								.github/workflows/e2e-versions.yml
									
									
									
									
										vendored
									
									
								
							| @ -31,7 +31,8 @@ jobs: | |||||||
|             'semeru', |             'semeru', | ||||||
|             'corretto', |             'corretto', | ||||||
|             'dragonwell', |             'dragonwell', | ||||||
|             'sapmachine' |             'sapmachine', | ||||||
|  |             'jetbrains' | ||||||
|           ] # internally 'adopt-hotspot' is the same as 'adopt' |           ] # internally 'adopt-hotspot' is the same as 'adopt' | ||||||
|         version: ['21', '11', '17'] |         version: ['21', '11', '17'] | ||||||
|         exclude: |         exclude: | ||||||
| @ -51,7 +52,7 @@ jobs: | |||||||
|             version: 21 |             version: 21 | ||||||
|           - distribution: graalvm |           - distribution: graalvm | ||||||
|             os: macos-latest |             os: macos-latest | ||||||
|             version: 17 |             version: 17.0.12 | ||||||
|           - distribution: graalvm |           - distribution: graalvm | ||||||
|             os: windows-latest |             os: windows-latest | ||||||
|             version: 21 |             version: 21 | ||||||
| @ -70,6 +71,8 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           java-version: ${{ matrix.version }} |           java-version: ${{ matrix.version }} | ||||||
|           distribution: ${{ matrix.distribution }} |           distribution: ${{ matrix.distribution }} | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|       - name: Verify Java |       - name: Verify Java | ||||||
|         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" |         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | ||||||
|         shell: bash |         shell: bash | ||||||
| @ -103,6 +106,12 @@ jobs: | |||||||
|           - distribution: sapmachine |           - distribution: sapmachine | ||||||
|             os: ubuntu-latest |             os: ubuntu-latest | ||||||
|             version: '17.0.7' |             version: '17.0.7' | ||||||
|  |           - distribution: jetbrains | ||||||
|  |             os: ubuntu-latest | ||||||
|  |             version: '11.0.11' | ||||||
|  |           - distribution: jetbrains | ||||||
|  |             os: ubuntu-latest | ||||||
|  |             version: '17.0.7' | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
| @ -115,6 +124,8 @@ jobs: | |||||||
|       - name: Verify Java |       - name: Verify Java | ||||||
|         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" |         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | ||||||
|         shell: bash |         shell: bash | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
| 
 | 
 | ||||||
|   setup-java-check-latest: |   setup-java-check-latest: | ||||||
|     name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }} |     name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }} | ||||||
| @ -125,7 +136,14 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-latest, windows-latest, ubuntu-latest] |         os: [macos-latest, windows-latest, ubuntu-latest] | ||||||
|         distribution: |         distribution: | ||||||
|           ['temurin', 'zulu', 'liberica', 'dragonwell', 'sapmachine'] |           [ | ||||||
|  |             'temurin', | ||||||
|  |             'zulu', | ||||||
|  |             'liberica', | ||||||
|  |             'dragonwell', | ||||||
|  |             'sapmachine', | ||||||
|  |             'jetbrains' | ||||||
|  |           ] | ||||||
|         exclude: |         exclude: | ||||||
|           - distribution: dragonwell |           - distribution: dragonwell | ||||||
|             os: macos-latest |             os: macos-latest | ||||||
| @ -139,6 +157,8 @@ jobs: | |||||||
|           distribution: ${{ matrix.distribution }} |           distribution: ${{ matrix.distribution }} | ||||||
|           java-version: 11 |           java-version: 11 | ||||||
|           check-latest: true |           check-latest: true | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|       - name: Verify Java |       - name: Verify Java | ||||||
|         run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}" |         run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}" | ||||||
|         shell: bash |         shell: bash | ||||||
| @ -152,7 +172,14 @@ jobs: | |||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-latest, windows-latest, ubuntu-latest] |         os: [macos-latest, windows-latest, ubuntu-latest] | ||||||
|         distribution: |         distribution: | ||||||
|           ['temurin', 'zulu', 'liberica', 'dragonwell', 'sapmachine'] |           [ | ||||||
|  |             'temurin', | ||||||
|  |             'zulu', | ||||||
|  |             'liberica', | ||||||
|  |             'dragonwell', | ||||||
|  |             'sapmachine', | ||||||
|  |             'jetbrains' | ||||||
|  |           ] | ||||||
|         exclude: |         exclude: | ||||||
|           - distribution: dragonwell |           - distribution: dragonwell | ||||||
|             os: macos-latest |             os: macos-latest | ||||||
| @ -167,6 +194,8 @@ jobs: | |||||||
|           java-version: | |           java-version: | | ||||||
|             11 |             11 | ||||||
|             17 |             17 | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|       - name: Verify Java env variables |       - name: Verify Java env variables | ||||||
|         run: | |         run: | | ||||||
|           $versionsArr = "11","17" |           $versionsArr = "11","17" | ||||||
| @ -258,7 +287,8 @@ jobs: | |||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         os: [macos-13, windows-latest, ubuntu-latest] |         os: [macos-13, windows-latest, ubuntu-latest] | ||||||
|         distribution: ['temurin', 'zulu', 'liberica', 'semeru', 'sapmachine'] |         distribution: | ||||||
|  |           ['temurin', 'zulu', 'liberica', 'semeru', 'sapmachine', 'jetbrains'] | ||||||
|         java-package: ['jre'] |         java-package: ['jre'] | ||||||
|         version: ['17.0'] |         version: ['17.0'] | ||||||
|         include: |         include: | ||||||
| @ -282,6 +312,47 @@ jobs: | |||||||
|             java-package: jre |             java-package: jre | ||||||
|             version: '8' |             version: '8' | ||||||
|             os: windows-latest |             os: windows-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jdk+jcef | ||||||
|  |             version: '11' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jdk+jcef | ||||||
|  |             version: '17' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jdk+jcef | ||||||
|  |             version: '21' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jre+jcef | ||||||
|  |             version: '11' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jre+jcef | ||||||
|  |             version: '17' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jre+jcef | ||||||
|  |             version: '21' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jdk+ft | ||||||
|  |             version: '17' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jdk+ft | ||||||
|  |             version: '21' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jre+ft | ||||||
|  |             version: '17' | ||||||
|  |             os: ubuntu-latest | ||||||
|  |           - distribution: 'jetbrains' | ||||||
|  |             java-package: jre+ft | ||||||
|  |             version: '21' | ||||||
|  |             os: ubuntu-latest | ||||||
|  | 
 | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
| @ -292,6 +363,8 @@ jobs: | |||||||
|           java-version: ${{ matrix.version }} |           java-version: ${{ matrix.version }} | ||||||
|           java-package: ${{ matrix.java-package }} |           java-package: ${{ matrix.java-package }} | ||||||
|           distribution: ${{ matrix.distribution }} |           distribution: ${{ matrix.distribution }} | ||||||
|  |         env: | ||||||
|  |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|       - name: Verify Java |       - name: Verify Java | ||||||
|         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" |         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | ||||||
|         shell: bash |         shell: bash | ||||||
| @ -305,7 +378,7 @@ jobs: | |||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         # x86 is not supported on macOS |         # x86 is not supported on macOS | ||||||
|         os: [windows-latest, ubuntu-latest] |         os: [windows-latest, ubuntu-22.04] | ||||||
|         distribution: ['liberica', 'zulu', 'corretto'] |         distribution: ['liberica', 'zulu', 'corretto'] | ||||||
|         version: ['11'] |         version: ['11'] | ||||||
|     steps: |     steps: | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ name: 'Publish Immutable Action Version' | |||||||
| 
 | 
 | ||||||
| on: | on: | ||||||
|   release: |   release: | ||||||
|     types: [created] |     types: [published] | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   publish: |   publish: | ||||||
| @ -17,6 +17,4 @@ jobs: | |||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|       - name: Publish |       - name: Publish | ||||||
|         id: publish |         id: publish | ||||||
|         uses: actions/publish-immutable-action@0.0.1 |         uses: actions/publish-immutable-action@v0.0.4 | ||||||
|         with: |  | ||||||
|           github-token: ${{ secrets.GITHUB_TOKEN }} |  | ||||||
|  | |||||||
| @ -23,7 +23,7 @@ jobs: | |||||||
|     steps: |     steps: | ||||||
|       - name: Update the ${{ env.TAG_NAME }} tag |       - name: Update the ${{ env.TAG_NAME }} tag | ||||||
|         id: update-major-tag |         id: update-major-tag | ||||||
|         uses: actions/publish-action@v0.2.2 |         uses: actions/publish-action@v0.3.0 | ||||||
|         with: |         with: | ||||||
|           source-tag: ${{ env.TAG_NAME }} |           source-tag: ${{ env.TAG_NAME }} | ||||||
|           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} |           slack-webhook: ${{ secrets.SLACK_WEBHOOK }} | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/cache.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/core.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@actions/http-client.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/plugin.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/protoc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/@protobuf-ts/runtime.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/camel-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/camel-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/commander.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/commander.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/dot-object.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/dot-object.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/fs.realpath.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/fs.realpath.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/glob.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/glob.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/inflight.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/inflight.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/inherits.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/inherits.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/lodash.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/lodash.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/lower-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/lower-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/no-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/no-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/once.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/once.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/pascal-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/pascal-case.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/path-is-absolute.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/path-is-absolute.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/path-to-regexp.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/path-to-regexp.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/prettier.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/prettier.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/ts-poet.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/ts-poet.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/twirp-ts.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/twirp-ts.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/typescript.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/undici.dep.yml
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/wrappy.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/wrappy.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								.licenses/npm/yaml.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								.licenses/npm/yaml.dep.yml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @ -110,6 +110,7 @@ Currently, the following distributions are supported: | |||||||
| | `dragonwell` | Alibaba Dragonwell JDK | [Link](https://dragonwell-jdk.io/) | [Link](https://www.aliyun.com/product/dragonwell/) | | `dragonwell` | Alibaba Dragonwell JDK | [Link](https://dragonwell-jdk.io/) | [Link](https://www.aliyun.com/product/dragonwell/) | ||||||
| | `sapmachine` | SAP SapMachine JDK/JRE | [Link](https://sapmachine.io/) | [Link](https://github.com/SAP/SapMachine/blob/sapmachine/LICENSE) | | `sapmachine` | SAP SapMachine JDK/JRE | [Link](https://sapmachine.io/) | [Link](https://github.com/SAP/SapMachine/blob/sapmachine/LICENSE) | ||||||
| | `graalvm` | Oracle GraalVM | [Link](https://www.graalvm.org/) | [Link](https://www.oracle.com/downloads/licenses/graal-free-license.html) | | `graalvm` | Oracle GraalVM | [Link](https://www.graalvm.org/) | [Link](https://www.oracle.com/downloads/licenses/graal-free-license.html) | ||||||
|  | | `jetbrains` | JetBrains Runtime | [Link](https://github.com/JetBrains/JetBrainsRuntime/) | [Link](https://github.com/JetBrains/JetBrainsRuntime/blob/main/LICENSE) | ||||||
| 
 | 
 | ||||||
| **NOTE:** The different distributors can provide discrepant list of available versions / supported configurations. Please refer to the official documentation to see the list of supported versions. | **NOTE:** The different distributors can provide discrepant list of available versions / supported configurations. Please refer to the official documentation to see the list of supported versions. | ||||||
| 
 | 
 | ||||||
| @ -272,6 +273,15 @@ In the example above multiple JDKs are installed for the same job. The result af | |||||||
| - [Modifying Maven Toolchains](docs/advanced-usage.md#Modifying-Maven-Toolchains) | - [Modifying Maven Toolchains](docs/advanced-usage.md#Modifying-Maven-Toolchains) | ||||||
| - [Java Version File](docs/advanced-usage.md#Java-version-file) | - [Java Version File](docs/advanced-usage.md#Java-version-file) | ||||||
| 
 | 
 | ||||||
|  | ## Recommended permissions | ||||||
|  | 
 | ||||||
|  | When using the `setup-java` 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 | ## License | ||||||
| 
 | 
 | ||||||
| The scripts and documentation in this project are released under the [MIT License](LICENSE). | The scripts and documentation in this project are released under the [MIT License](LICENSE). | ||||||
|  | |||||||
							
								
								
									
										1454
									
								
								__tests__/data/jetbrains.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1454
									
								
								__tests__/data/jetbrains.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,1454 @@ | |||||||
|  | [ | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b465.3", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 465.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b458.1", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 458.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b453.2", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 453.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.11b1207.24", | ||||||
|  |       "semver": "17.0.11", | ||||||
|  |       "build": 1207.24, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.11b1207.23", | ||||||
|  |       "semver": "17.0.11", | ||||||
|  |       "build": 1207.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b446.1", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 446.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.14", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b829.27", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 829.27, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.23", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.12", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.21", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.21, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.6", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b375.1", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 375.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.1", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1186.1", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1186.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1171.14", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1171.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b829.26", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 829.26, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b346.3", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 346.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1000.48", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1000.48, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b341.4", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 341.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.17", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.17, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1166.2", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1166.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1162.7", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1162.7, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.11", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.9", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.7", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.7, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1000.47", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1000.47, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1000.46", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1000.46, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.3", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1080.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1080.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1072.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1072.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1070.2", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1070.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1063.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1063.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1000.32", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1000.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1059.3", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1059.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8b1000.22", | ||||||
|  |       "semver": "17.0.8", | ||||||
|  |       "build": 1000.22, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8b1000.8", | ||||||
|  |       "semver": "17.0.8", | ||||||
|  |       "build": 1000.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.6", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.5", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.5, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b985.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 985.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b979.4", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 979.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b829.16", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 829.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b966.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 966.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b964.1", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 964.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b829.14", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 829.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b953.1", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 953.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.9", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b469.82", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 469.82, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.5", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.5, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b653.34", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 653.34, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.4", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b653.32", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 653.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b802.4", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 802.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b802.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 802.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b785.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 785.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b779.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 779.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b762.1", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 762.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.25", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b759.1", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 759.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.23", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.14", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b469.71", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 469.71, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_16b2043.64", | ||||||
|  |       "semver": "11.0.16", | ||||||
|  |       "build": 2043.64, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.6", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b469.67", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 469.67, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b653.1", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 653.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b646.8", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 646.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b629.2", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 629.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b617.2", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 617.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b469.62", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 469.62, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b597.1", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 597.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4b469.53", | ||||||
|  |       "semver": "17.0.4", | ||||||
|  |       "build": 469.53, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4b469.44", | ||||||
|  |       "semver": "17.0.4", | ||||||
|  |       "build": 469.44, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.3b469.37", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.37, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.32", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.30", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.19", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.19, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b498.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 498.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.16", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.12", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b463.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 463.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b423.10", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 423.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_15b2043.56", | ||||||
|  |       "semver": "11.0.15", | ||||||
|  |       "build": 2043.56, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.45", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.45, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.2b396.4", | ||||||
|  |       "semver": "17.0.2", | ||||||
|  |       "build": 396.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.25", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.22", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.22, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.17", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.17, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.14", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.11", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b2043.2", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 2043.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b1751.46", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 1751.46, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b1993.2", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 1993.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_2b315.1", | ||||||
|  |       "semver": "17.0.2", | ||||||
|  |       "build": 315.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b1982.1", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 1982.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1890.3", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1890.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.25", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.24", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.24, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.21", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.21, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_1b164.8", | ||||||
|  |       "semver": "17.0.1", | ||||||
|  |       "build": 164.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.19", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.19, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_13-b1504.49", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1504.49, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_1b164.4", | ||||||
|  |       "semver": "17.0.1", | ||||||
|  |       "build": 164.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.16", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1751.11", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1751.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1729.1", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1729.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1715.4", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1715.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1692.9", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1692.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.37", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.37, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1665.1", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1665.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.28", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.28, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.27", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.27, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.16", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.13", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.13, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.12", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1542.1", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1542.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.8", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "11_0_11b1536.2", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1536.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b465.3", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 465.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b458.1", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 458.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b453.2", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 453.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.11b1207.24", | ||||||
|  |       "semver": "17.0.11", | ||||||
|  |       "build": 1207.24, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.11b1207.23", | ||||||
|  |       "semver": "17.0.11", | ||||||
|  |       "build": 1207.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.3b446.1", | ||||||
|  |       "semver": "21.0.3", | ||||||
|  |       "build": 446.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.14", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b829.27", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 829.27, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.23", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.12", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.21", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.21, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.6", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b375.1", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 375.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1207.1", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1207.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1186.1", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1186.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1171.14", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1171.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b829.26", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 829.26, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b346.3", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 346.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1000.48", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1000.48, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-21.0.2b341.4", | ||||||
|  |       "semver": "21.0.2", | ||||||
|  |       "build": 341.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.10b1087.17", | ||||||
|  |       "semver": "17.0.10", | ||||||
|  |       "build": 1087.17, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1166.2", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1166.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1162.7", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1162.7, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.11", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.9", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.7", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.7, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1000.47", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1000.47, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1000.46", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1000.46, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.9b1087.3", | ||||||
|  |       "semver": "17.0.9", | ||||||
|  |       "build": 1087.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1080.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1080.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1072.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1072.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1070.2", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1070.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1063.1", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1063.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1000.32", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1000.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8.1b1059.3", | ||||||
|  |       "semver": "17.0.8.1", | ||||||
|  |       "build": 1059.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8b1000.22", | ||||||
|  |       "semver": "17.0.8", | ||||||
|  |       "build": 1000.22, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.8b1000.8", | ||||||
|  |       "semver": "17.0.8", | ||||||
|  |       "build": 1000.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.6", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.5", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.5, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b1000.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 1000.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b985.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 985.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b979.4", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 979.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b829.16", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 829.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b966.2", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 966.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b964.1", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 964.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b829.14", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 829.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.7b953.1", | ||||||
|  |       "semver": "17.0.7", | ||||||
|  |       "build": 953.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.9", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b469.82", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 469.82, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.5", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.5, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b653.34", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 653.34, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.4", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b829.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 829.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b653.32", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 653.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b802.4", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 802.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b802.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 802.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b785.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 785.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.6b779.1", | ||||||
|  |       "semver": "17.0.6", | ||||||
|  |       "build": 779.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b762.1", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 762.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.25", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b759.1", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 759.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.23", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.23, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.14", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b469.71", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 469.71, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_16b2043.64", | ||||||
|  |       "semver": "11.0.16", | ||||||
|  |       "build": 2043.64, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b653.6", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 653.6, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.5b469.67", | ||||||
|  |       "semver": "17.0.5", | ||||||
|  |       "build": 469.67, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b653.1", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 653.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b646.8", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 646.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b629.2", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 629.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b617.2", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 617.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b469.62", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 469.62, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4.1b597.1", | ||||||
|  |       "semver": "17.0.4.1", | ||||||
|  |       "build": 597.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4b469.53", | ||||||
|  |       "semver": "17.0.4", | ||||||
|  |       "build": 469.53, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.4b469.44", | ||||||
|  |       "semver": "17.0.4", | ||||||
|  |       "build": 469.44, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr-release-17.0.3b469.37", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.37, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.32", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.32, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.30", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.19", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.19, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b498.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 498.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.16", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.12", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b469.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 469.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b463.3", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 463.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.3b423.10", | ||||||
|  |       "semver": "17.0.3", | ||||||
|  |       "build": 423.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_15b2043.56", | ||||||
|  |       "semver": "11.0.15", | ||||||
|  |       "build": 2043.56, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.45", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.45, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17.0.2b396.4", | ||||||
|  |       "semver": "17.0.2", | ||||||
|  |       "build": 396.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.25", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.22", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.22, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.17", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.17, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.14", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.14, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b2043.11", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 2043.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b2043.2", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 2043.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14_1b1751.46", | ||||||
|  |       "semver": "11.0.14.1", | ||||||
|  |       "build": 1751.46, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b1993.2", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 1993.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_2b315.1", | ||||||
|  |       "semver": "17.0.2", | ||||||
|  |       "build": 315.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_14b1982.1", | ||||||
|  |       "semver": "11.0.14", | ||||||
|  |       "build": 1982.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1890.3", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1890.3, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.25", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.25, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.24", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.24, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.21", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.21, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_1b164.8", | ||||||
|  |       "semver": "17.0.1", | ||||||
|  |       "build": 164.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.19", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.19, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_13-b1504.49", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1504.49, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr17_0_1b164.4", | ||||||
|  |       "semver": "17.0.1", | ||||||
|  |       "build": 164.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_13b1751.16", | ||||||
|  |       "semver": "11.0.13", | ||||||
|  |       "build": 1751.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1751.11", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1751.11, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1729.1", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1729.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1715.4", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1715.4, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1692.9", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1692.9, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.37", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.37, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jbr11_0_12b1665.1", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1665.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.28", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.28, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_12-b1504.27", | ||||||
|  |       "semver": "11.0.12", | ||||||
|  |       "build": 1504.27, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.16", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.16, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.13", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.13, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.12", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.12, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1542.1", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1542.1, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "jb11_0_11-b1504.8", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1504.8, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "tag_name": "11_0_11b1536.2", | ||||||
|  |       "semver": "11.0.11", | ||||||
|  |       "build": 1536.2, | ||||||
|  |       "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
							
								
								
									
										120
									
								
								__tests__/distributors/jetbrains-installer.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								__tests__/distributors/jetbrains-installer.test.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,120 @@ | |||||||
|  | import https from 'https'; | ||||||
|  | import {HttpClient} from '@actions/http-client'; | ||||||
|  | import {JetBrainsDistribution} from '../../src/distributions/jetbrains/installer'; | ||||||
|  | 
 | ||||||
|  | import manifestData from '../data/jetbrains.json'; | ||||||
|  | import os from 'os'; | ||||||
|  | 
 | ||||||
|  | describe('getAvailableVersions', () => { | ||||||
|  |   let spyHttpClient: jest.SpyInstance; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson'); | ||||||
|  |     spyHttpClient.mockReturnValue({ | ||||||
|  |       statusCode: 200, | ||||||
|  |       headers: {}, | ||||||
|  |       result: [] | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   afterEach(() => { | ||||||
|  |     jest.resetAllMocks(); | ||||||
|  |     jest.clearAllMocks(); | ||||||
|  |     jest.restoreAllMocks(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('load available versions', async () => { | ||||||
|  |     spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson'); | ||||||
|  |     spyHttpClient.mockReturnValueOnce({ | ||||||
|  |       statusCode: 200, | ||||||
|  |       headers: {}, | ||||||
|  |       result: manifestData as any | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     const distribution = new JetBrainsDistribution({ | ||||||
|  |       version: '17', | ||||||
|  |       architecture: 'x64', | ||||||
|  |       packageType: 'jdk', | ||||||
|  |       checkLatest: false | ||||||
|  |     }); | ||||||
|  |     const availableVersions = await distribution['getAvailableVersions'](); | ||||||
|  |     expect(availableVersions).not.toBeNull(); | ||||||
|  | 
 | ||||||
|  |     const length = | ||||||
|  |       os.platform() === 'win32' | ||||||
|  |         ? manifestData.length - 1 | ||||||
|  |         : manifestData.length + 1; | ||||||
|  |     expect(availableVersions.length).toBe(length); | ||||||
|  |   }, 10_000); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | describe('findPackageForDownload', () => { | ||||||
|  |   it.each([ | ||||||
|  |     ['17', '17.0.11+1207.24'], | ||||||
|  |     ['11.0', '11.0.16+2043.64'], | ||||||
|  |     ['11.0.11', '11.0.11+1542.1'], | ||||||
|  |     ['21.0.2', '21.0.2+375.1'], | ||||||
|  |     ['21', '21.0.3+465.3'], | ||||||
|  |     ['x', '21.0.3+465.3'] | ||||||
|  |   ])('version is resolved correctly %s -> %s', async (input, expected) => { | ||||||
|  |     const distribution = new JetBrainsDistribution({ | ||||||
|  |       version: input, | ||||||
|  |       architecture: 'x64', | ||||||
|  |       packageType: 'jdk', | ||||||
|  |       checkLatest: false | ||||||
|  |     }); | ||||||
|  |     distribution['getAvailableVersions'] = async () => manifestData as any; | ||||||
|  |     const resolvedVersion = await distribution['findPackageForDownload'](input); | ||||||
|  |     expect(resolvedVersion.version).toBe(expected); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it.each(['17', '11.0', '11.0.11', '21.0.2', '21'])( | ||||||
|  |     'version %s can be downloaded', | ||||||
|  |     async input => { | ||||||
|  |       const distribution = new JetBrainsDistribution({ | ||||||
|  |         version: input, | ||||||
|  |         architecture: 'x64', | ||||||
|  |         packageType: 'jdk', | ||||||
|  |         checkLatest: false | ||||||
|  |       }); | ||||||
|  |       distribution['getAvailableVersions'] = async () => manifestData as any; | ||||||
|  |       const resolvedVersion = await distribution['findPackageForDownload']( | ||||||
|  |         input | ||||||
|  |       ); | ||||||
|  |       const url = resolvedVersion.url; | ||||||
|  |       const options = {method: 'HEAD'}; | ||||||
|  | 
 | ||||||
|  |       https.request(url, options, res => { | ||||||
|  |         // JetBrains uses 403 for inexistent packages
 | ||||||
|  |         expect(res.statusCode).not.toBe(403); | ||||||
|  |         res.resume(); | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |   ); | ||||||
|  | 
 | ||||||
|  |   it('version is not found', async () => { | ||||||
|  |     const distribution = new JetBrainsDistribution({ | ||||||
|  |       version: '8.0.452', | ||||||
|  |       architecture: 'x64', | ||||||
|  |       packageType: 'jdk', | ||||||
|  |       checkLatest: false | ||||||
|  |     }); | ||||||
|  |     distribution['getAvailableVersions'] = async () => manifestData as any; | ||||||
|  |     await expect(distribution['findPackageForDownload']('8.x')).rejects.toThrow( | ||||||
|  |       /Could not find satisfied version for SemVer */ | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('version list is empty', async () => { | ||||||
|  |     const distribution = new JetBrainsDistribution({ | ||||||
|  |       version: '8', | ||||||
|  |       architecture: 'x64', | ||||||
|  |       packageType: 'jdk', | ||||||
|  |       checkLatest: false | ||||||
|  |     }); | ||||||
|  |     distribution['getAvailableVersions'] = async () => []; | ||||||
|  |     await expect(distribution['findPackageForDownload']('8')).rejects.toThrow( | ||||||
|  |       /Could not find satisfied version for SemVer */ | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -3,7 +3,8 @@ import * as core from '@actions/core'; | |||||||
| import { | import { | ||||||
|   convertVersionToSemver, |   convertVersionToSemver, | ||||||
|   isVersionSatisfies, |   isVersionSatisfies, | ||||||
|   isCacheFeatureAvailable |   isCacheFeatureAvailable, | ||||||
|  |   isGhes | ||||||
| } from '../src/util'; | } from '../src/util'; | ||||||
| 
 | 
 | ||||||
| jest.mock('@actions/cache'); | jest.mock('@actions/cache'); | ||||||
| @ -80,3 +81,41 @@ describe('convertVersionToSemver', () => { | |||||||
|     expect(actual).toBe(expected); |     expect(actual).toBe(expected); | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  | 
 | ||||||
|  | describe('isGhes', () => { | ||||||
|  |   const pristineEnv = process.env; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     jest.resetModules(); | ||||||
|  |     process.env = {...pristineEnv}; | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   afterAll(() => { | ||||||
|  |     process.env = pristineEnv; | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is not defined', async () => { | ||||||
|  |     delete process.env['GITHUB_SERVER_URL']; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to github.com', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable is set to a GitHub Enterprise Cloud-style URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://contoso.ghe.com'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns false when the GITHUB_SERVER_URL environment variable has a .localhost suffix', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://mock-github.localhost'; | ||||||
|  |     expect(isGhes()).toBeFalsy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('returns true when the GITHUB_SERVER_URL environment variable is set to some other URL', async () => { | ||||||
|  |     process.env['GITHUB_SERVER_URL'] = 'https://src.onpremise.fabrikam.com'; | ||||||
|  |     expect(isGhes()).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
|  | |||||||
							
								
								
									
										10273
									
								
								dist/cleanup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10273
									
								
								dist/cleanup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										10559
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10559
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -10,6 +10,7 @@ | |||||||
|   - [Alibaba Dragonwell](#Alibaba-Dragonwell) |   - [Alibaba Dragonwell](#Alibaba-Dragonwell) | ||||||
|   - [SapMachine](#SapMachine) |   - [SapMachine](#SapMachine) | ||||||
|   - [GraalVM](#GraalVM) |   - [GraalVM](#GraalVM) | ||||||
|  |   - [JetBrains](#JetBrains) | ||||||
| - [Installing custom Java package type](#Installing-custom-Java-package-type) | - [Installing custom Java package type](#Installing-custom-Java-package-type) | ||||||
| - [Installing custom Java architecture](#Installing-custom-Java-architecture) | - [Installing custom Java architecture](#Installing-custom-Java-architecture) | ||||||
| - [Installing custom Java distribution from local file](#Installing-Java-from-local-file) | - [Installing custom Java distribution from local file](#Installing-Java-from-local-file) | ||||||
| @ -171,6 +172,64 @@ steps: | |||||||
|     native-image -cp java HelloWorldApp |     native-image -cp java HelloWorldApp | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | ### JetBrains | ||||||
|  | 
 | ||||||
|  | **NOTE:** JetBrains is only available for LTS versions on 11 or later (11, 17, 21, etc.). | ||||||
|  | 
 | ||||||
|  | Not all minor LTS versions are guarenteed to be available, since JetBrains considers what to ship IntelliJ IDEA with, most commonly on JDK 11. | ||||||
|  | For example, `11.0.24` is not available but `11.0.16` is. | ||||||
|  | 
 | ||||||
|  | ```yaml | ||||||
|  | steps: | ||||||
|  | - uses: actions/checkout@v4 | ||||||
|  | - uses: actions/setup-java@v4 | ||||||
|  |   with: | ||||||
|  |     distribution: 'jetbrains' | ||||||
|  |     java-version: '11' | ||||||
|  | - run: java -cp java HelloWorldApp | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The JetBrains installer uses the GitHub API to fetch the latest version. If you believe your project is going to be running into rate limits, you can provide a | ||||||
|  | GitHub token to the action to increase the rate limit. Set the `GITHUB_TOKEN` environment variable to the value of your GitHub token in the workflow file. | ||||||
|  | 
 | ||||||
|  | ```yaml | ||||||
|  | steps: | ||||||
|  | - uses: actions/checkout@v4 | ||||||
|  | - uses: actions/setup-java@v4 | ||||||
|  |   with: | ||||||
|  |     distribution: 'jetbrains' | ||||||
|  |     java-version: '17' | ||||||
|  |     java-package: 'jdk' # optional (jdk, jre, jdk+jcef, jre+jcef, jdk+ft, or jre+ft) - defaults to jdk | ||||||
|  |   env: | ||||||
|  |     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  | - run: java -cp java HelloWorldApp | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | You can specify your package type (as shown in the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases/)) in the `java-package` parameter.  | ||||||
|  | The available package types are: | ||||||
|  | 
 | ||||||
|  | - `jdk` - JBRSDK | ||||||
|  | - `jre` - JBR (Vanilla) | ||||||
|  | - `jdk+jcef` - JBRSDK with JCEF | ||||||
|  | - `jre+jcef` - JBR with JCEF | ||||||
|  | - `jdk+ft` - JBRSDK (FreeType) | ||||||
|  | - `jre+ft` - JBR (FreeType) | ||||||
|  | 
 | ||||||
|  | ### GraalVM | ||||||
|  | **NOTE:** Oracle GraalVM is only available for JDK 17 and later. | ||||||
|  | 
 | ||||||
|  | ```yaml | ||||||
|  | steps: | ||||||
|  | - uses: actions/checkout@v4 | ||||||
|  | - uses: actions/setup-java@v4 | ||||||
|  |   with: | ||||||
|  |     distribution: 'graalvm' | ||||||
|  |     java-version: '21' | ||||||
|  | - run: | | ||||||
|  |     java -cp java HelloWorldApp | ||||||
|  |     native-image -cp java HelloWorldApp | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ## Installing custom Java package type | ## Installing custom Java package type | ||||||
| ```yaml | ```yaml | ||||||
| steps: | steps: | ||||||
| @ -183,7 +242,6 @@ steps: | |||||||
| - run: java -cp java HelloWorldApp | - run: java -cp java HelloWorldApp | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ## Installing custom Java architecture | ## Installing custom Java architecture | ||||||
| 
 | 
 | ||||||
| ```yaml | ```yaml | ||||||
|  | |||||||
							
								
								
									
										285
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										285
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -9,18 +9,18 @@ | |||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "license": "MIT", |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/cache": "^3.2.4", |         "@actions/cache": "^4.0.0", | ||||||
|         "@actions/core": "^1.10.0", |         "@actions/core": "^1.10.0", | ||||||
|         "@actions/exec": "^1.0.4", |         "@actions/exec": "^1.0.4", | ||||||
|         "@actions/glob": "^0.4.0", |         "@actions/glob": "^0.4.0", | ||||||
|         "@actions/http-client": "^2.2.1", |         "@actions/http-client": "^2.2.3", | ||||||
|         "@actions/io": "^1.0.2", |         "@actions/io": "^1.0.2", | ||||||
|         "@actions/tool-cache": "^2.0.1", |         "@actions/tool-cache": "^2.0.1", | ||||||
|         "semver": "^7.6.0", |         "semver": "^7.6.0", | ||||||
|         "xmlbuilder2": "^2.4.0" |         "xmlbuilder2": "^2.4.0" | ||||||
|       }, |       }, | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
|         "@types/jest": "^29.5.12", |         "@types/jest": "^29.5.14", | ||||||
|         "@types/node": "^20.11.24", |         "@types/node": "^20.11.24", | ||||||
|         "@types/semver": "^7.5.8", |         "@types/semver": "^7.5.8", | ||||||
|         "@typescript-eslint/eslint-plugin": "^5.54.0", |         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
| @ -47,11 +47,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/cache": { |     "node_modules/@actions/cache": { | ||||||
|       "version": "3.2.4", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.4.tgz", |       "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-4.0.0.tgz", | ||||||
|       "integrity": "sha512-RuHnwfcDagtX+37s0ZWy7clbOfnZ7AlDJQ7k/9rzt2W4Gnwde3fa/qjSjVuz4vLcLIpc7fUob27CMrqiWZytYA==", |       "integrity": "sha512-WIuxjnZ44lNYtIS4fqSaYvF00hORdy3cSin+jx8xNgBVGWnNIAiCBHjlwusVQlcgExoQC9pHXGrDsZyZr7rCDQ==", | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/core": "^1.10.0", |         "@actions/core": "^1.11.1", | ||||||
|         "@actions/exec": "^1.0.1", |         "@actions/exec": "^1.0.1", | ||||||
|         "@actions/glob": "^0.1.0", |         "@actions/glob": "^0.1.0", | ||||||
|         "@actions/http-client": "^2.1.1", |         "@actions/http-client": "^2.1.1", | ||||||
| @ -59,8 +60,9 @@ | |||||||
|         "@azure/abort-controller": "^1.1.0", |         "@azure/abort-controller": "^1.1.0", | ||||||
|         "@azure/ms-rest-js": "^2.6.0", |         "@azure/ms-rest-js": "^2.6.0", | ||||||
|         "@azure/storage-blob": "^12.13.0", |         "@azure/storage-blob": "^12.13.0", | ||||||
|  |         "@protobuf-ts/plugin": "^2.9.4", | ||||||
|         "semver": "^6.3.1", |         "semver": "^6.3.1", | ||||||
|         "uuid": "^3.3.3" |         "twirp-ts": "^2.5.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/cache/node_modules/@actions/glob": { |     "node_modules/@actions/cache/node_modules/@actions/glob": { | ||||||
| @ -81,20 +83,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/core": { |     "node_modules/@actions/core": { | ||||||
|       "version": "1.10.1", |       "version": "1.11.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz", |       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", | ||||||
|       "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==", |       "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@actions/http-client": "^2.0.1", |         "@actions/exec": "^1.1.1", | ||||||
|         "uuid": "^8.3.2" |         "@actions/http-client": "^2.0.1" | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "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" |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/exec": { |     "node_modules/@actions/exec": { | ||||||
| @ -115,9 +109,10 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@actions/http-client": { |     "node_modules/@actions/http-client": { | ||||||
|       "version": "2.2.1", |       "version": "2.2.3", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz", |       "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", | ||||||
|       "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", |       "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "tunnel": "^0.0.6", |         "tunnel": "^0.0.6", | ||||||
|         "undici": "^5.25.4" |         "undici": "^5.25.4" | ||||||
| @ -1604,6 +1599,83 @@ | |||||||
|         "node": ">=8.0.0" |         "node": ">=8.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@protobuf-ts/plugin": { | ||||||
|  |       "version": "2.9.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.9.4.tgz", | ||||||
|  |       "integrity": "sha512-Db5Laq5T3mc6ERZvhIhkj1rn57/p8gbWiCKxQWbZBBl20wMuqKoHbRw4tuD7FyXi+IkwTToaNVXymv5CY3E8Rw==", | ||||||
|  |       "license": "Apache-2.0", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobuf-ts/plugin-framework": "^2.9.4", | ||||||
|  |         "@protobuf-ts/protoc": "^2.9.4", | ||||||
|  |         "@protobuf-ts/runtime": "^2.9.4", | ||||||
|  |         "@protobuf-ts/runtime-rpc": "^2.9.4", | ||||||
|  |         "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.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin-framework/-/plugin-framework-2.9.4.tgz", | ||||||
|  |       "integrity": "sha512-9nuX1kjdMliv+Pes8dQCKyVhjKgNNfwxVHg+tx3fLXSfZZRcUHMc1PMwB9/vTvc6gBKt9QGz5ERqSqZc0++E9A==", | ||||||
|  |       "license": "(Apache-2.0 AND BSD-3-Clause)", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobuf-ts/runtime": "^2.9.4", | ||||||
|  |         "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.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.9.4.tgz", | ||||||
|  |       "integrity": "sha512-hQX+nOhFtrA+YdAXsXEDrLoGJqXHpgv4+BueYF0S9hy/Jq0VRTVlJS1Etmf4qlMt/WdigEes5LOd/LDzui4GIQ==", | ||||||
|  |       "license": "Apache-2.0", | ||||||
|  |       "bin": { | ||||||
|  |         "protoc": "protoc.js" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobuf-ts/runtime": { | ||||||
|  |       "version": "2.9.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.9.4.tgz", | ||||||
|  |       "integrity": "sha512-vHRFWtJJB/SiogWDF0ypoKfRIZ41Kq+G9cEFj6Qm1eQaAhJ1LDFvgZ7Ja4tb3iLOQhz0PaoPnnOijF1qmEqTxg==", | ||||||
|  |       "license": "(Apache-2.0 AND BSD-3-Clause)" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@protobuf-ts/runtime-rpc": { | ||||||
|  |       "version": "2.9.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.9.4.tgz", | ||||||
|  |       "integrity": "sha512-y9L9JgnZxXFqH5vD4d7j9duWvIJ7AShyBRoNKJGhu9Q27qIbchfzli66H9RvrQNIFk5ER7z1Twe059WZGqERcA==", | ||||||
|  |       "license": "Apache-2.0", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobuf-ts/runtime": "^2.9.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@sinclair/typebox": { |     "node_modules/@sinclair/typebox": { | ||||||
|       "version": "0.27.8", |       "version": "0.27.8", | ||||||
|       "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", |       "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", | ||||||
| @ -1703,10 +1775,11 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/jest": { |     "node_modules/@types/jest": { | ||||||
|       "version": "29.5.12", |       "version": "29.5.14", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", |       "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", | ||||||
|       "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", |       "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "expect": "^29.0.0", |         "expect": "^29.0.0", | ||||||
|         "pretty-format": "^29.0.0" |         "pretty-format": "^29.0.0" | ||||||
| @ -2328,6 +2401,16 @@ | |||||||
|         "node": ">=6" |         "node": ">=6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/camel-case": { | ||||||
|  |       "version": "4.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", | ||||||
|  |       "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "pascal-case": "^3.1.2", | ||||||
|  |         "tslib": "^2.0.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/camelcase": { |     "node_modules/camelcase": { | ||||||
|       "version": "5.3.1", |       "version": "5.3.1", | ||||||
|       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", |       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", | ||||||
| @ -2462,6 +2545,15 @@ | |||||||
|         "node": ">= 0.8" |         "node": ">= 0.8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/commander": { | ||||||
|  |       "version": "6.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", | ||||||
|  |       "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/concat-map": { |     "node_modules/concat-map": { | ||||||
|       "version": "0.0.1", |       "version": "0.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||||
| @ -2495,10 +2587,11 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/cross-spawn": { |     "node_modules/cross-spawn": { | ||||||
|       "version": "7.0.3", |       "version": "7.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", |       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", | ||||||
|       "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", |       "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "path-key": "^3.1.0", |         "path-key": "^3.1.0", | ||||||
|         "shebang-command": "^2.0.0", |         "shebang-command": "^2.0.0", | ||||||
| @ -2604,6 +2697,19 @@ | |||||||
|         "node": ">=6.0.0" |         "node": ">=6.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/dot-object": { | ||||||
|  |       "version": "2.1.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz", | ||||||
|  |       "integrity": "sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "commander": "^6.1.0", | ||||||
|  |         "glob": "^7.1.6" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "dot-object": "bin/dot-object" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/electron-to-chromium": { |     "node_modules/electron-to-chromium": { | ||||||
|       "version": "1.4.589", |       "version": "1.4.589", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.589.tgz", |       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.589.tgz", | ||||||
| @ -3165,8 +3271,7 @@ | |||||||
|     "node_modules/fs.realpath": { |     "node_modules/fs.realpath": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||||||
|       "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", |       "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" | ||||||
|       "dev": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/fsevents": { |     "node_modules/fsevents": { | ||||||
|       "version": "2.3.3", |       "version": "2.3.3", | ||||||
| @ -3234,7 +3339,6 @@ | |||||||
|       "version": "7.2.3", |       "version": "7.2.3", | ||||||
|       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", |       "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", | ||||||
|       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", |       "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", | ||||||
|       "dev": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "fs.realpath": "^1.0.0", |         "fs.realpath": "^1.0.0", | ||||||
|         "inflight": "^1.0.4", |         "inflight": "^1.0.4", | ||||||
| @ -3402,7 +3506,6 @@ | |||||||
|       "version": "1.0.6", |       "version": "1.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", |       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||||||
|       "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", |       "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", | ||||||
|       "dev": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "once": "^1.3.0", |         "once": "^1.3.0", | ||||||
|         "wrappy": "1" |         "wrappy": "1" | ||||||
| @ -3411,8 +3514,7 @@ | |||||||
|     "node_modules/inherits": { |     "node_modules/inherits": { | ||||||
|       "version": "2.0.4", |       "version": "2.0.4", | ||||||
|       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||||||
|       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", |       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | ||||||
|       "dev": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/is-arrayish": { |     "node_modules/is-arrayish": { | ||||||
|       "version": "0.2.1", |       "version": "0.2.1", | ||||||
| @ -4255,6 +4357,12 @@ | |||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lodash": { | ||||||
|  |       "version": "4.17.21", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", | ||||||
|  |       "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/lodash.memoize": { |     "node_modules/lodash.memoize": { | ||||||
|       "version": "4.1.2", |       "version": "4.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", |       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", | ||||||
| @ -4267,6 +4375,15 @@ | |||||||
|       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", |       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lower-case": { | ||||||
|  |       "version": "2.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", | ||||||
|  |       "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "tslib": "^2.0.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/lru-cache": { |     "node_modules/lru-cache": { | ||||||
|       "version": "5.1.1", |       "version": "5.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", | ||||||
| @ -4322,12 +4439,13 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/micromatch": { |     "node_modules/micromatch": { | ||||||
|       "version": "4.0.5", |       "version": "4.0.8", | ||||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", |       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", | ||||||
|       "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", |       "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "braces": "^3.0.2", |         "braces": "^3.0.3", | ||||||
|         "picomatch": "^2.3.1" |         "picomatch": "^2.3.1" | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
| @ -4391,6 +4509,16 @@ | |||||||
|       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", |       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/no-case": { | ||||||
|  |       "version": "3.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", | ||||||
|  |       "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "lower-case": "^2.0.2", | ||||||
|  |         "tslib": "^2.0.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/node-fetch": { |     "node_modules/node-fetch": { | ||||||
|       "version": "2.7.0", |       "version": "2.7.0", | ||||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", |       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", | ||||||
| @ -4466,7 +4594,6 @@ | |||||||
|       "version": "1.4.0", |       "version": "1.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | ||||||
|       "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", |       "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", | ||||||
|       "dev": true, |  | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "wrappy": "1" |         "wrappy": "1" | ||||||
|       } |       } | ||||||
| @ -4572,6 +4699,16 @@ | |||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/pascal-case": { | ||||||
|  |       "version": "3.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", | ||||||
|  |       "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "no-case": "^3.0.4", | ||||||
|  |         "tslib": "^2.0.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/path-exists": { |     "node_modules/path-exists": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", | ||||||
| @ -4585,7 +4722,6 @@ | |||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||||||
|       "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", |       "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", | ||||||
|       "dev": true, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
| @ -4605,6 +4741,12 @@ | |||||||
|       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", |       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/path-to-regexp": { | ||||||
|  |       "version": "6.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", | ||||||
|  |       "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", | ||||||
|  |       "license": "MIT" | ||||||
|  |     }, | ||||||
|     "node_modules/path-type": { |     "node_modules/path-type": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", | ||||||
| @ -4718,7 +4860,6 @@ | |||||||
|       "version": "2.8.8", |       "version": "2.8.8", | ||||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", |       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", | ||||||
|       "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", |       "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", | ||||||
|       "dev": true, |  | ||||||
|       "bin": { |       "bin": { | ||||||
|         "prettier": "bin-prettier.js" |         "prettier": "bin-prettier.js" | ||||||
|       }, |       }, | ||||||
| @ -5257,6 +5398,16 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ts-poet": { | ||||||
|  |       "version": "4.15.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", | ||||||
|  |       "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", | ||||||
|  |       "license": "Apache-2.0", | ||||||
|  |       "dependencies": { | ||||||
|  |         "lodash": "^4.17.15", | ||||||
|  |         "prettier": "^2.5.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/tslib": { |     "node_modules/tslib": { | ||||||
|       "version": "2.6.2", |       "version": "2.6.2", | ||||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", | ||||||
| @ -5291,6 +5442,35 @@ | |||||||
|         "node": ">=0.6.11 <=0.7.0 || >=0.7.3" |         "node": ">=0.6.11 <=0.7.0 || >=0.7.3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/twirp-ts": { | ||||||
|  |       "version": "2.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/twirp-ts/-/twirp-ts-2.5.0.tgz", | ||||||
|  |       "integrity": "sha512-JTKIK5Pf/+3qCrmYDFlqcPPUx+ohEWKBaZy8GL8TmvV2VvC0SXVyNYILO39+GCRbqnuP6hBIF+BVr8ZxRz+6fw==", | ||||||
|  |       "license": "MIT", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@protobuf-ts/plugin-framework": "^2.0.7", | ||||||
|  |         "camel-case": "^4.1.2", | ||||||
|  |         "dot-object": "^2.1.4", | ||||||
|  |         "path-to-regexp": "^6.2.0", | ||||||
|  |         "ts-poet": "^4.5.0", | ||||||
|  |         "yaml": "^1.10.2" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "protoc-gen-twirp_ts": "protoc-gen-twirp_ts" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@protobuf-ts/plugin": "^2.5.0", | ||||||
|  |         "ts-proto": "^1.81.3" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "@protobuf-ts/plugin": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "ts-proto": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/type-check": { |     "node_modules/type-check": { | ||||||
|       "version": "0.4.0", |       "version": "0.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", |       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | ||||||
| @ -5338,9 +5518,10 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/undici": { |     "node_modules/undici": { | ||||||
|       "version": "5.28.4", |       "version": "5.28.5", | ||||||
|       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", |       "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", | ||||||
|       "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", |       "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", | ||||||
|  |       "license": "MIT", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@fastify/busboy": "^2.0.0" |         "@fastify/busboy": "^2.0.0" | ||||||
|       }, |       }, | ||||||
| @ -5459,8 +5640,7 @@ | |||||||
|     "node_modules/wrappy": { |     "node_modules/wrappy": { | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||||||
|       "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", |       "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" | ||||||
|       "dev": true |  | ||||||
|     }, |     }, | ||||||
|     "node_modules/write-file-atomic": { |     "node_modules/write-file-atomic": { | ||||||
|       "version": "4.0.2", |       "version": "4.0.2", | ||||||
| @ -5545,6 +5725,15 @@ | |||||||
|       "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", |       "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/yaml": { | ||||||
|  |       "version": "1.10.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", | ||||||
|  |       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", | ||||||
|  |       "license": "ISC", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/yargs": { |     "node_modules/yargs": { | ||||||
|       "version": "17.7.2", |       "version": "17.7.2", | ||||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", |       "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", | ||||||
|  | |||||||
| @ -26,18 +26,18 @@ | |||||||
|   "author": "GitHub", |   "author": "GitHub", | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/cache": "^3.2.4", |     "@actions/cache": "^4.0.0", | ||||||
|     "@actions/core": "^1.10.0", |     "@actions/core": "^1.10.0", | ||||||
|     "@actions/exec": "^1.0.4", |     "@actions/exec": "^1.0.4", | ||||||
|     "@actions/glob": "^0.4.0", |     "@actions/glob": "^0.4.0", | ||||||
|     "@actions/http-client": "^2.2.1", |     "@actions/http-client": "^2.2.3", | ||||||
|     "@actions/io": "^1.0.2", |     "@actions/io": "^1.0.2", | ||||||
|     "@actions/tool-cache": "^2.0.1", |     "@actions/tool-cache": "^2.0.1", | ||||||
|     "semver": "^7.6.0", |     "semver": "^7.6.0", | ||||||
|     "xmlbuilder2": "^2.4.0" |     "xmlbuilder2": "^2.4.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@types/jest": "^29.5.12", |     "@types/jest": "^29.5.14", | ||||||
|     "@types/node": "^20.11.24", |     "@types/node": "^20.11.24", | ||||||
|     "@types/semver": "^7.5.8", |     "@types/semver": "^7.5.8", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", |     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
|  | |||||||
| @ -15,7 +15,8 @@ import { | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| 
 | 
 | ||||||
| export enum AdoptImplementation { | export enum AdoptImplementation { | ||||||
| @ -73,11 +74,13 @@ export class AdoptDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
| 
 |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  | |||||||
| @ -5,7 +5,8 @@ import path from 'path'; | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   convertVersionToSemver |   convertVersionToSemver, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import {JavaBase} from '../base-installer'; | import {JavaBase} from '../base-installer'; | ||||||
| import { | import { | ||||||
| @ -29,14 +30,14 @@ export class CorrettoDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
| 
 |     const extension = getDownloadArchiveExtension(); | ||||||
|     const extractedJavaPath = await extractJdkFile( |     if (process.platform === 'win32') { | ||||||
|       javaArchivePath, |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|       getDownloadArchiveExtension() |     } | ||||||
|     ); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|     const archivePath = path.join(extractedJavaPath, archiveName); |     const archivePath = path.join(extractedJavaPath, archiveName); | ||||||
|  | |||||||
| @ -12,6 +12,7 @@ import {OracleDistribution} from './oracle/installer'; | |||||||
| import {DragonwellDistribution} from './dragonwell/installer'; | import {DragonwellDistribution} from './dragonwell/installer'; | ||||||
| import {SapMachineDistribution} from './sapmachine/installer'; | import {SapMachineDistribution} from './sapmachine/installer'; | ||||||
| import {GraalVMDistribution} from './graalvm/installer'; | import {GraalVMDistribution} from './graalvm/installer'; | ||||||
|  | import {JetBrainsDistribution} from './jetbrains/installer'; | ||||||
| 
 | 
 | ||||||
| enum JavaDistribution { | enum JavaDistribution { | ||||||
|   Adopt = 'adopt', |   Adopt = 'adopt', | ||||||
| @ -27,7 +28,8 @@ enum JavaDistribution { | |||||||
|   Oracle = 'oracle', |   Oracle = 'oracle', | ||||||
|   Dragonwell = 'dragonwell', |   Dragonwell = 'dragonwell', | ||||||
|   SapMachine = 'sapmachine', |   SapMachine = 'sapmachine', | ||||||
|   GraalVM = 'graalvm' |   GraalVM = 'graalvm', | ||||||
|  |   JetBrains = 'jetbrains' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function getJavaDistribution( | export function getJavaDistribution( | ||||||
| @ -72,6 +74,8 @@ export function getJavaDistribution( | |||||||
|       return new SapMachineDistribution(installerOptions); |       return new SapMachineDistribution(installerOptions); | ||||||
|     case JavaDistribution.GraalVM: |     case JavaDistribution.GraalVM: | ||||||
|       return new GraalVMDistribution(installerOptions); |       return new GraalVMDistribution(installerOptions); | ||||||
|  |     case JavaDistribution.JetBrains: | ||||||
|  |       return new JetBrainsDistribution(installerOptions); | ||||||
|     default: |     default: | ||||||
|       return null; |       return null; | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -11,7 +11,8 @@ import { | |||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   getGitHubHttpHeaders, |   getGitHubHttpHeaders, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import {IDragonwellVersions, IDragonwellAllVersions} from './models'; | import {IDragonwellVersions, IDragonwellAllVersions} from './models'; | ||||||
| import { | import { | ||||||
| @ -100,14 +101,14 @@ export class DragonwellDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
| 
 |     const extension = getDownloadArchiveExtension(); | ||||||
|     const extractedJavaPath = await extractJdkFile( |     if (process.platform === 'win32') { | ||||||
|       javaArchivePath, |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|       getDownloadArchiveExtension() |     } | ||||||
|     ); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|     const archivePath = path.join(extractedJavaPath, archiveName); |     const archivePath = path.join(extractedJavaPath, archiveName); | ||||||
|  | |||||||
| @ -13,7 +13,8 @@ import { | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   getGitHubHttpHeaders |   getGitHubHttpHeaders, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import {HttpCodes} from '@actions/http-client'; | import {HttpCodes} from '@actions/http-client'; | ||||||
| import {GraalVMEAVersion} from './models'; | import {GraalVMEAVersion} from './models'; | ||||||
| @ -33,11 +34,13 @@ export class GraalVMDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
| 
 |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  | |||||||
							
								
								
									
										233
									
								
								src/distributions/jetbrains/installer.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								src/distributions/jetbrains/installer.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,233 @@ | |||||||
|  | import * as core from '@actions/core'; | ||||||
|  | import * as tc from '@actions/tool-cache'; | ||||||
|  | 
 | ||||||
|  | import fs from 'fs'; | ||||||
|  | import path from 'path'; | ||||||
|  | import semver from 'semver'; | ||||||
|  | 
 | ||||||
|  | import {JavaBase} from '../base-installer'; | ||||||
|  | import {IJetBrainsRawVersion, IJetBrainsVersion} from './models'; | ||||||
|  | import { | ||||||
|  |   JavaDownloadRelease, | ||||||
|  |   JavaInstallerOptions, | ||||||
|  |   JavaInstallerResults | ||||||
|  | } from '../base-models'; | ||||||
|  | import {extractJdkFile, isVersionSatisfies} from '../../util'; | ||||||
|  | import {OutgoingHttpHeaders} from 'http'; | ||||||
|  | import {HttpCodes} from '@actions/http-client'; | ||||||
|  | 
 | ||||||
|  | export class JetBrainsDistribution extends JavaBase { | ||||||
|  |   constructor(installerOptions: JavaInstallerOptions) { | ||||||
|  |     super('JetBrains', installerOptions); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   protected async findPackageForDownload( | ||||||
|  |     range: string | ||||||
|  |   ): Promise<JavaDownloadRelease> { | ||||||
|  |     const versionsRaw = await this.getAvailableVersions(); | ||||||
|  | 
 | ||||||
|  |     const versions = versionsRaw.map(v => { | ||||||
|  |       const formattedVersion = `${v.semver}+${v.build}`; | ||||||
|  | 
 | ||||||
|  |       return { | ||||||
|  |         version: formattedVersion, | ||||||
|  |         url: v.url | ||||||
|  |       } as JavaDownloadRelease; | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     const satisfiedVersions = versions | ||||||
|  |       .filter(item => isVersionSatisfies(range, item.version)) | ||||||
|  |       .sort((a, b) => { | ||||||
|  |         return -semver.compareBuild(a.version, b.version); | ||||||
|  |       }); | ||||||
|  | 
 | ||||||
|  |     const resolvedFullVersion = | ||||||
|  |       satisfiedVersions.length > 0 ? satisfiedVersions[0] : null; | ||||||
|  |     if (!resolvedFullVersion) { | ||||||
|  |       const availableOptions = versionsRaw | ||||||
|  |         .map(item => `${item.tag_name} (${item.semver}+${item.build})`) | ||||||
|  |         .join(', '); | ||||||
|  |       const availableOptionsMessage = availableOptions | ||||||
|  |         ? `\nAvailable versions: ${availableOptions}` | ||||||
|  |         : ''; | ||||||
|  |       throw new Error( | ||||||
|  |         `Could not find satisfied version for SemVer '${range}'. ${availableOptionsMessage}` | ||||||
|  |       ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return resolvedFullVersion; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   protected async downloadTool( | ||||||
|  |     javaRelease: JavaDownloadRelease | ||||||
|  |   ): Promise<JavaInstallerResults> { | ||||||
|  |     core.info( | ||||||
|  |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     const javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
|  | 
 | ||||||
|  |     core.info(`Extracting Java archive...`); | ||||||
|  |     const extractedJavaPath = await extractJdkFile(javaArchivePath, 'tar.gz'); | ||||||
|  | 
 | ||||||
|  |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  |     const archivePath = path.join(extractedJavaPath, archiveName); | ||||||
|  |     const version = this.getToolcacheVersionName(javaRelease.version); | ||||||
|  | 
 | ||||||
|  |     const javaPath = await tc.cacheDir( | ||||||
|  |       archivePath, | ||||||
|  |       this.toolcacheFolderName, | ||||||
|  |       version, | ||||||
|  |       this.architecture | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     return {version: javaRelease.version, path: javaPath}; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private async getAvailableVersions(): Promise<IJetBrainsVersion[]> { | ||||||
|  |     const platform = this.getPlatformOption(); | ||||||
|  |     const arch = this.distributionArchitecture(); | ||||||
|  | 
 | ||||||
|  |     if (core.isDebug()) { | ||||||
|  |       console.time('Retrieving available versions for JBR took'); // eslint-disable-line no-console
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // need to iterate through all pages to retrieve the list of all versions
 | ||||||
|  |     // GitHub API doesn't provide way to retrieve the count of pages to iterate so infinity loop
 | ||||||
|  |     let page_index = 1; | ||||||
|  |     const rawVersions: IJetBrainsRawVersion[] = []; | ||||||
|  |     const bearerToken = process.env.GITHUB_TOKEN; | ||||||
|  | 
 | ||||||
|  |     while (true) { | ||||||
|  |       const requestArguments = `per_page=100&page=${page_index}`; | ||||||
|  |       const requestHeaders: OutgoingHttpHeaders = {}; | ||||||
|  | 
 | ||||||
|  |       if (bearerToken) { | ||||||
|  |         requestHeaders['Authorization'] = `Bearer ${bearerToken}`; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const rawUrl = `https://api.github.com/repos/JetBrains/JetBrainsRuntime/releases?${requestArguments}`; | ||||||
|  | 
 | ||||||
|  |       if (core.isDebug() && page_index === 1) { | ||||||
|  |         // url is identical except page_index so print it once for debug
 | ||||||
|  |         core.debug(`Gathering available versions from '${rawUrl}'`); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const paginationPage = ( | ||||||
|  |         await this.http.getJson<IJetBrainsRawVersion[]>(rawUrl, requestHeaders) | ||||||
|  |       ).result; | ||||||
|  |       if (!paginationPage || paginationPage.length === 0) { | ||||||
|  |         // break infinity loop because we have reached end of pagination
 | ||||||
|  |         break; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       rawVersions.push(...paginationPage); | ||||||
|  |       page_index++; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // Add versions not available from the API but are downloadable
 | ||||||
|  |     const hidden = ['11_0_10b1145.115', '11_0_11b1341.60']; | ||||||
|  |     rawVersions.push(...hidden.map(tag => ({tag_name: tag, name: tag}))); | ||||||
|  | 
 | ||||||
|  |     const versions0 = rawVersions.map(async v => { | ||||||
|  |       // Release tags look like one of these:
 | ||||||
|  |       // jbr-release-21.0.3b465.3
 | ||||||
|  |       // jbr17-b87.7
 | ||||||
|  |       // jb11_0_11-b87.7
 | ||||||
|  |       // jbr11_0_15b2043.56
 | ||||||
|  |       // 11_0_11b1536.2
 | ||||||
|  |       // 11_0_11-b1522
 | ||||||
|  |       const tag = v.tag_name; | ||||||
|  | 
 | ||||||
|  |       // Extract version string
 | ||||||
|  |       const vstring = tag | ||||||
|  |         .replace('jbr-release-', '') | ||||||
|  |         .replace('jbr', '') | ||||||
|  |         .replace('jb', '') | ||||||
|  |         .replace('-', ''); | ||||||
|  | 
 | ||||||
|  |       const vsplit = vstring.split('b'); | ||||||
|  |       let semver = vsplit[0]; | ||||||
|  |       const build = +vsplit[1]; | ||||||
|  | 
 | ||||||
|  |       // Normalize semver
 | ||||||
|  |       if (!semver.includes('.') && !semver.includes('_')) | ||||||
|  |         semver = `${semver}.0.0`; | ||||||
|  | 
 | ||||||
|  |       // Construct URL
 | ||||||
|  |       let type: string; | ||||||
|  |       switch (this.packageType ?? '') { | ||||||
|  |         case 'jre': | ||||||
|  |           type = 'jbr'; | ||||||
|  |           break; | ||||||
|  |         case 'jdk+jcef': | ||||||
|  |           type = 'jbrsdk_jcef'; | ||||||
|  |           break; | ||||||
|  |         case 'jre+jcef': | ||||||
|  |           type = 'jbr_jcef'; | ||||||
|  |           break; | ||||||
|  |         case 'jdk+ft': | ||||||
|  |           type = 'jbrsdk_ft'; | ||||||
|  |           break; | ||||||
|  |         case 'jre+ft': | ||||||
|  |           type = 'jbr_ft'; | ||||||
|  |           break; | ||||||
|  |         default: | ||||||
|  |           type = 'jbrsdk'; | ||||||
|  |           break; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       let url = `https://cache-redirector.jetbrains.com/intellij-jbr/${type}-${semver}-${platform}-${arch}-b${build}.tar.gz`; | ||||||
|  |       let include = false; | ||||||
|  | 
 | ||||||
|  |       const res = await this.http.head(url); | ||||||
|  |       if (res.message.statusCode === HttpCodes.OK) { | ||||||
|  |         include = true; | ||||||
|  |       } else { | ||||||
|  |         url = `https://cache-redirector.jetbrains.com/intellij-jbr/${type}_nomod-${semver}-${platform}-${arch}-b${build}.tar.gz`; | ||||||
|  |         const res2 = await this.http.head(url); | ||||||
|  |         if (res2.message.statusCode === HttpCodes.OK) { | ||||||
|  |           include = true; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       const version = { | ||||||
|  |         tag_name: tag, | ||||||
|  |         semver: semver.replace(/_/g, '.'), | ||||||
|  |         build: build, | ||||||
|  |         url: url | ||||||
|  |       } as IJetBrainsVersion; | ||||||
|  | 
 | ||||||
|  |       return { | ||||||
|  |         item: version, | ||||||
|  |         include: include | ||||||
|  |       }; | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     const versions = await Promise.all(versions0).then(res => | ||||||
|  |       res.filter(item => item.include).map(item => item.item) | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     if (core.isDebug()) { | ||||||
|  |       core.startGroup('Print information about available versions'); | ||||||
|  |       console.timeEnd('Retrieving available versions for JBR took'); // eslint-disable-line no-console
 | ||||||
|  |       core.debug(`Available versions: [${versions.length}]`); | ||||||
|  |       core.debug(versions.map(item => item.semver).join(', ')); | ||||||
|  |       core.endGroup(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return versions; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   private getPlatformOption(): string { | ||||||
|  |     // Jetbrains has own platform names so need to map them
 | ||||||
|  |     switch (process.platform) { | ||||||
|  |       case 'darwin': | ||||||
|  |         return 'osx'; | ||||||
|  |       case 'win32': | ||||||
|  |         return 'windows'; | ||||||
|  |       default: | ||||||
|  |         return process.platform; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								src/distributions/jetbrains/models.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/distributions/jetbrains/models.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | // Raw Model from https://api.github.com/repos/JetBrains/JetBrainsRuntime/releases
 | ||||||
|  | 
 | ||||||
|  | export interface IJetBrainsRawVersion { | ||||||
|  |   tag_name: string; | ||||||
|  |   name: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface IJetBrainsVersion { | ||||||
|  |   tag_name: string; | ||||||
|  |   semver: string; | ||||||
|  |   build: number; | ||||||
|  |   url: string; | ||||||
|  | } | ||||||
| @ -8,7 +8,8 @@ import semver from 'semver'; | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import * as core from '@actions/core'; | import * as core from '@actions/core'; | ||||||
| import {ArchitectureOptions, LibericaVersion, OsVersions} from './models'; | import {ArchitectureOptions, LibericaVersion, OsVersions} from './models'; | ||||||
| @ -35,13 +36,8 @@ export class LibericaDistributions extends JavaBase { | |||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
|     if ( |     if (process.platform === 'win32') { | ||||||
|       process.platform === 'win32' && |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|       (this.architecture === 'arm64' || this.architecture === 'aarch64') |  | ||||||
|     ) { |  | ||||||
|       const javaArchivePathRenamed = `${javaArchivePath}.zip`; |  | ||||||
|       await fs.renameSync(javaArchivePath, javaArchivePathRenamed); |  | ||||||
|       javaArchivePath = javaArchivePathRenamed; |  | ||||||
|     } |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -7,7 +7,8 @@ import { | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   getGitHubHttpHeaders |   getGitHubHttpHeaders, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import * as core from '@actions/core'; | import * as core from '@actions/core'; | ||||||
| import * as tc from '@actions/tool-cache'; | import * as tc from '@actions/tool-cache'; | ||||||
| @ -27,22 +28,12 @@ export class MicrosoftDistributions extends JavaBase { | |||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     let javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
|     // Rename archive to add extension because after downloading
 |  | ||||||
|     // archive does not contain extension type and it leads to some issues
 |  | ||||||
|     // on Windows runners without PowerShell Core.
 |  | ||||||
|     //
 |  | ||||||
|     // For default PowerShell Windows it should contain extension type to unpack it.
 |  | ||||||
|     if ( |  | ||||||
|       process.platform === 'win32' && |  | ||||||
|       (this.architecture === 'arm64' || this.architecture === 'aarch64') |  | ||||||
|     ) { |  | ||||||
|       const javaArchivePathRenamed = `${javaArchivePath}.zip`; |  | ||||||
|       await fs.renameSync(javaArchivePath, javaArchivePathRenamed); |  | ||||||
|       javaArchivePath = javaArchivePathRenamed; |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
|  |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  | |||||||
| @ -10,7 +10,11 @@ import { | |||||||
|   JavaInstallerOptions, |   JavaInstallerOptions, | ||||||
|   JavaInstallerResults |   JavaInstallerResults | ||||||
| } from '../base-models'; | } from '../base-models'; | ||||||
| import {extractJdkFile, getDownloadArchiveExtension} from '../../util'; | import { | ||||||
|  |   extractJdkFile, | ||||||
|  |   getDownloadArchiveExtension, | ||||||
|  |   renameWinArchive | ||||||
|  | } from '../../util'; | ||||||
| import {HttpCodes} from '@actions/http-client'; | import {HttpCodes} from '@actions/http-client'; | ||||||
| 
 | 
 | ||||||
| const ORACLE_DL_BASE = 'https://download.oracle.com/java'; | const ORACLE_DL_BASE = 'https://download.oracle.com/java'; | ||||||
| @ -26,11 +30,13 @@ export class OracleDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
| 
 |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  | |||||||
| @ -9,7 +9,8 @@ import { | |||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   getGitHubHttpHeaders, |   getGitHubHttpHeaders, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import {JavaBase} from '../base-installer'; | import {JavaBase} from '../base-installer'; | ||||||
| import { | import { | ||||||
| @ -104,14 +105,14 @@ export class SapMachineDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
| 
 |     const extension = getDownloadArchiveExtension(); | ||||||
|     const extractedJavaPath = await extractJdkFile( |     if (process.platform === 'win32') { | ||||||
|       javaArchivePath, |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|       getDownloadArchiveExtension() |     } | ||||||
|     ); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|     const archivePath = path.join(extractedJavaPath, archiveName); |     const archivePath = path.join(extractedJavaPath, archiveName); | ||||||
|  | |||||||
| @ -8,7 +8,8 @@ import semver from 'semver'; | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import * as core from '@actions/core'; | import * as core from '@actions/core'; | ||||||
| import * as tc from '@actions/tool-cache'; | import * as tc from '@actions/tool-cache'; | ||||||
| @ -98,11 +99,13 @@ export class SemeruDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
| 
 |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath: string = await extractJdkFile( |     const extractedJavaPath: string = await extractJdkFile( | ||||||
|       javaArchivePath, |       javaArchivePath, | ||||||
|       extension |       extension | ||||||
|  | |||||||
| @ -15,7 +15,8 @@ import { | |||||||
| import { | import { | ||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| 
 | 
 | ||||||
| export enum TemurinImplementation { | export enum TemurinImplementation { | ||||||
| @ -76,11 +77,13 @@ export class TemurinDistribution extends JavaBase { | |||||||
|     core.info( |     core.info( | ||||||
|       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` |       `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` | ||||||
|     ); |     ); | ||||||
|     const javaArchivePath = await tc.downloadTool(javaRelease.url); |     let javaArchivePath = await tc.downloadTool(javaRelease.url); | ||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
| 
 |     if (process.platform === 'win32') { | ||||||
|  |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|  |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|     const archiveName = fs.readdirSync(extractedJavaPath)[0]; |     const archiveName = fs.readdirSync(extractedJavaPath)[0]; | ||||||
|  | |||||||
| @ -11,7 +11,8 @@ import { | |||||||
|   extractJdkFile, |   extractJdkFile, | ||||||
|   getDownloadArchiveExtension, |   getDownloadArchiveExtension, | ||||||
|   convertVersionToSemver, |   convertVersionToSemver, | ||||||
|   isVersionSatisfies |   isVersionSatisfies, | ||||||
|  |   renameWinArchive | ||||||
| } from '../../util'; | } from '../../util'; | ||||||
| import { | import { | ||||||
|   JavaDownloadRelease, |   JavaDownloadRelease, | ||||||
| @ -80,13 +81,8 @@ export class ZuluDistribution extends JavaBase { | |||||||
| 
 | 
 | ||||||
|     core.info(`Extracting Java archive...`); |     core.info(`Extracting Java archive...`); | ||||||
|     const extension = getDownloadArchiveExtension(); |     const extension = getDownloadArchiveExtension(); | ||||||
|     if ( |     if (process.platform === 'win32') { | ||||||
|       process.platform === 'win32' && |       javaArchivePath = renameWinArchive(javaArchivePath); | ||||||
|       (this.architecture === 'arm64' || this.architecture === 'aarch64') |  | ||||||
|     ) { |  | ||||||
|       const javaArchivePathRenamed = `${javaArchivePath}.zip`; |  | ||||||
|       await fs.renameSync(javaArchivePath, javaArchivePathRenamed); |  | ||||||
|       javaArchivePath = javaArchivePathRenamed; |  | ||||||
|     } |     } | ||||||
|     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); |     const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										19
									
								
								src/util.ts
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								src/util.ts
									
									
									
									
									
								
							| @ -92,7 +92,13 @@ export function isGhes(): boolean { | |||||||
|   const ghUrl = new URL( |   const ghUrl = new URL( | ||||||
|     process.env['GITHUB_SERVER_URL'] || 'https://github.com' |     process.env['GITHUB_SERVER_URL'] || 'https://github.com' | ||||||
|   ); |   ); | ||||||
|   return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM'; | 
 | ||||||
|  |   const hostname = ghUrl.hostname.trimEnd().toUpperCase(); | ||||||
|  |   const isGitHubHost = hostname === 'GITHUB.COM'; | ||||||
|  |   const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM'); | ||||||
|  |   const isLocalHost = hostname.endsWith('.LOCALHOST'); | ||||||
|  | 
 | ||||||
|  |   return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function isCacheFeatureAvailable(): boolean { | export function isCacheFeatureAvailable(): boolean { | ||||||
| @ -190,3 +196,14 @@ export function getGitHubHttpHeaders(): OutgoingHttpHeaders { | |||||||
|   } |   } | ||||||
|   return headers; |   return headers; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // Rename archive to add extension because after downloading
 | ||||||
|  | // archive does not contain extension type and it leads to some issues
 | ||||||
|  | // on Windows runners without PowerShell Core.
 | ||||||
|  | //
 | ||||||
|  | // For default PowerShell Windows it should contain extension type to unpack it.
 | ||||||
|  | export function renameWinArchive(javaArchivePath: string): string { | ||||||
|  |   const javaArchivePathRenamed = `${javaArchivePath}.zip`; | ||||||
|  |   fs.renameSync(javaArchivePath, javaArchivePathRenamed); | ||||||
|  |   return javaArchivePathRenamed; | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user