mirror of
https://github.com/actions/setup-java.git
synced 2025-04-19 17:36:45 +00:00
Compare commits
194 commits
Author | SHA1 | Date | |
---|---|---|---|
|
f4f1212c88 | ||
|
c5195efecf | ||
|
dd38875f93 | ||
|
148017a9b0 | ||
|
3b6c050358 | ||
|
b8ebb8ba1d | ||
|
799ee7c97e | ||
|
3a4f6e1af5 | ||
|
25f376e348 | ||
|
d4e4b6bbc1 | ||
|
28b532bcb3 | ||
|
51ab6d2e30 | ||
|
99d3141d9b | ||
|
7a6d8a8234 | ||
|
7136edc5e8 | ||
|
8df1039502 | ||
|
870c199c48 | ||
|
83a06ff9d9 | ||
|
292cc14be8 | ||
|
b36c23c0d9 | ||
|
40b9536ce5 | ||
|
0a40ce6f61 | ||
|
68b1d5a3da | ||
|
bcfbca5b71 | ||
|
78eae7945c | ||
|
2dfa2011c5 | ||
|
7467385c61 | ||
|
8e04ddff28 | ||
|
67fbd726da | ||
|
6a0805fcef | ||
|
fd08b9c8dc | ||
|
2e74cbce18 | ||
|
a1c6c9c867 | ||
|
99b8673ff6 | ||
|
5896cecc08 | ||
|
80ae3c2885 | ||
|
9704b39bf2 | ||
|
7a445ee88d | ||
|
3232623d9c | ||
|
c0660d8edc | ||
|
2f7af1b9c5 | ||
|
16ef37f8dd | ||
|
a2374547df | ||
|
387ac29b30 | ||
|
9eda6b51cc | ||
|
78078da0cd | ||
|
5caaba646e | ||
|
0ab4596768 | ||
|
4075bfc1b5 | ||
|
5b86b67f5b | ||
|
b943a4ed87 | ||
|
c16064d22c | ||
|
cd89f46ac9 | ||
|
4fb397523b | ||
|
33b10b64eb | ||
|
75c6561172 | ||
|
ebe05e0f88 | ||
|
46099e1f14 | ||
|
1a3cd386c6 | ||
|
91f49aa1b0 | ||
|
1f2faad7e0 | ||
|
45058d7f99 | ||
|
87c1c7064c | ||
|
5e4a7c3698 | ||
|
f4213ceea0 | ||
|
ba4a2dd11d | ||
|
01a228c633 | ||
|
07b6c30c67 | ||
|
c19d52bc93 | ||
|
3927f47357 | ||
|
cb77eb7f64 | ||
|
9ff43a1ebe | ||
|
575d86297c | ||
|
d70493eaf0 | ||
|
088a9ed5f6 | ||
|
8d9836d093 | ||
|
9f75459cbe | ||
|
827f99856d | ||
|
27bb911606 | ||
|
ddb82ce8a6 | ||
|
404e5db3a1 | ||
|
191ba8c6ba | ||
|
e42168ca1a | ||
|
5ffc13f417 | ||
|
669e0727d8 | ||
|
888b4006f3 | ||
|
676c490d4c | ||
|
0de5c66fc0 | ||
|
ea15b3b99c | ||
|
14d87b223c | ||
|
3f07048e3d | ||
|
9b86bbe88a | ||
|
8f12c5c4d1 | ||
|
e11351903a | ||
|
285fb318c5 | ||
|
308abcba03 | ||
|
03d1057e7d | ||
|
d401f0c450 | ||
|
5e1c7d44c8 | ||
|
bf3c595741 | ||
|
35e7c82cf7 | ||
|
5bbbb020e8 | ||
|
007465e618 | ||
|
8a24ed99d8 | ||
|
3dc9295fa8 | ||
|
81f1f778b7 | ||
|
06db6c25b8 | ||
|
545223a83e | ||
|
a3c7fb1220 | ||
|
1eb7169fc2 | ||
|
caaa9d738f | ||
|
1df8dbefe2 | ||
|
c3ac5dd0ed | ||
|
dcd29da2fa | ||
|
19eeec562b | ||
|
bd7e5d28eb | ||
|
6cdf39a6b6 | ||
|
7db6b4554c | ||
|
bf2f02c4a7 | ||
|
de1bb2b0c5 | ||
|
2c53c1a588 | ||
|
3617c43588 | ||
|
a82e6d0020 | ||
|
fbb269240e | ||
|
dfcd06a4b9 | ||
|
e150063ee4 | ||
|
eb1418aa81 | ||
|
499ae9c28b | ||
|
a18c333f3f | ||
|
26eeac8c9e | ||
|
cdc5f296eb | ||
|
b80173ab1e | ||
|
a96c2ca6ae | ||
|
7bbeb80d24 | ||
|
d854b6da19 | ||
|
749e4491fa | ||
|
aa53851224 | ||
|
5b36705a13 | ||
|
4656cbcede | ||
|
ef96bec0e4 | ||
|
8e8bf44561 | ||
|
40dd195c45 | ||
|
858120d4a8 | ||
|
ad9cecf99b | ||
|
8048bbee47 | ||
|
9e9f60b996 | ||
|
46f0194a3b | ||
|
c69efbe773 | ||
|
3c69e15101 | ||
|
bf1c35bd9d | ||
|
66a84830d9 | ||
|
8ac768a2cf | ||
|
2c7a4878f5 | ||
|
e2f30c1450 | ||
|
2dfaeac2db | ||
|
aa24fa78d2 | ||
|
25d94e7786 | ||
|
2fc49d780a | ||
|
e6a4b93088 | ||
|
821cc3dbd1 | ||
|
4903eafcd7 | ||
|
a0500669b7 | ||
|
d397c16c56 | ||
|
16cca5479d | ||
|
7b469c48c4 | ||
|
2506d21b74 | ||
|
187f735c38 | ||
|
48576e577e | ||
|
fa01820a3b | ||
|
62808131e1 | ||
|
ddbbc2fff5 | ||
|
4fba831118 | ||
|
11556068a2 | ||
|
ec303d3bdf | ||
|
1c449b9ad2 | ||
|
3e3d8c490f | ||
|
72dec17e4f | ||
|
e8f1c8b5ca | ||
|
05b9e395e1 | ||
|
860f600565 | ||
|
bae3140877 | ||
|
fa0272551b | ||
|
30cdb8c7dd | ||
|
dd80852400 | ||
|
4fe61d24fe | ||
|
45b7b136cf | ||
|
f56009127d | ||
|
fa513641c0 | ||
|
055250a105 | ||
|
0ed94a5678 | ||
|
83b77aa58b | ||
|
efcb607a6b | ||
|
ca584e7011 | ||
|
69e93308b0 |
159 changed files with 266886 additions and 108650 deletions
6
.eslintignore
Normal file
6
.eslintignore
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Ignore list
|
||||||
|
/*
|
||||||
|
|
||||||
|
# Do not ignore these folders:
|
||||||
|
!__tests__/
|
||||||
|
!src/
|
51
.eslintrc.js
Normal file
51
.eslintrc.js
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
// This is a reusable configuration file copied from https://github.com/actions/reusable-workflows/tree/main/reusable-configurations. Please don't make changes to this file as it's the subject of an automatic update.
|
||||||
|
module.exports = {
|
||||||
|
extends: [
|
||||||
|
'eslint:recommended',
|
||||||
|
'plugin:@typescript-eslint/recommended',
|
||||||
|
'plugin:eslint-plugin-jest/recommended',
|
||||||
|
'eslint-config-prettier'
|
||||||
|
],
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
plugins: ['@typescript-eslint', 'eslint-plugin-node', 'eslint-plugin-jest'],
|
||||||
|
rules: {
|
||||||
|
'@typescript-eslint/no-require-imports': 'error',
|
||||||
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||||
|
'@typescript-eslint/no-explicit-any': 'off',
|
||||||
|
'@typescript-eslint/no-empty-function': 'off',
|
||||||
|
'@typescript-eslint/ban-ts-comment': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'ts-ignore': 'allow-with-description'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'no-console': 'error',
|
||||||
|
'yoda': 'error',
|
||||||
|
'prefer-const': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
destructuring: 'all'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'no-control-regex': 'off',
|
||||||
|
'no-constant-condition': ['error', {checkLoops: false}],
|
||||||
|
'node/no-extraneous-import': 'error'
|
||||||
|
},
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: ['**/*{test,spec}.ts'],
|
||||||
|
rules: {
|
||||||
|
'@typescript-eslint/no-unused-vars': 'off',
|
||||||
|
'jest/no-standalone-expect': 'off',
|
||||||
|
'jest/no-conditional-expect': 'off',
|
||||||
|
'no-console': 'off',
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
env: {
|
||||||
|
node: true,
|
||||||
|
es6: true,
|
||||||
|
'jest/globals': true
|
||||||
|
}
|
||||||
|
};
|
1
.gitattributes
vendored
1
.gitattributes
vendored
|
@ -1,3 +1,4 @@
|
||||||
|
* text=auto eol=lf
|
||||||
dist/index.js -diff -merge
|
dist/index.js -diff -merge
|
||||||
dist/index.js linguist-generated=true
|
dist/index.js linguist-generated=true
|
||||||
.licenses/** -diff linguist-generated=true
|
.licenses/** -diff linguist-generated=true
|
||||||
|
|
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
|
@ -1,2 +1 @@
|
||||||
* @actions/actions-service
|
* @actions/setup-actions-team
|
||||||
* @actions/virtual-environments-owners
|
|
||||||
|
|
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'
|
19
.github/workflows/basic-validation.yml
vendored
Normal file
19
.github/workflows/basic-validation.yml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
name: Basic validation
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-basic-validation:
|
||||||
|
name: Basic validation
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||||
|
with:
|
||||||
|
node-version: '20.x'
|
31
.github/workflows/build.yml
vendored
31
.github/workflows/build.yml
vendored
|
@ -1,31 +0,0 @@
|
||||||
name: Build Action
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- releases/*
|
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- '**.md'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Setup Node.JS 16
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: npm
|
|
||||||
- run: npm ci
|
|
||||||
- run: npm run build
|
|
||||||
- run: npm run format-check
|
|
||||||
- run: npm test
|
|
43
.github/workflows/check-dist.yml
vendored
43
.github/workflows/check-dist.yml
vendored
|
@ -1,8 +1,3 @@
|
||||||
# `dist/index.js` is a special file in Actions.
|
|
||||||
# When you reference an action with `uses:` in a workflow,
|
|
||||||
# `index.js` is the code that will run.
|
|
||||||
# For our project, we generate this file through a build process from other source files.
|
|
||||||
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
|
|
||||||
name: Check dist/
|
name: Check dist/
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
@ -17,36 +12,8 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-dist:
|
call-check-dist:
|
||||||
runs-on: ubuntu-latest
|
name: Check dist/
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
|
||||||
steps:
|
with:
|
||||||
- uses: actions/checkout@v3
|
node-version: '20.x'
|
||||||
|
|
||||||
- name: Set Node.js 16.x
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: npm
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Rebuild the dist/ directory
|
|
||||||
run: npm run build
|
|
||||||
|
|
||||||
- name: Compare the expected and actual dist/ directories
|
|
||||||
run: |
|
|
||||||
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
|
||||||
echo "Detected uncommitted changes after build. See status below:"
|
|
||||||
git diff
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
id: diff
|
|
||||||
|
|
||||||
# If index.js was different than expected, upload the expected version as an artifact
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
|
|
||||||
with:
|
|
||||||
name: dist
|
|
||||||
path: dist/
|
|
||||||
|
|
14
.github/workflows/codeql-analysis.yml
vendored
Normal file
14
.github/workflows/codeql-analysis.yml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
name: CodeQL analysis
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-codeQL-analysis:
|
||||||
|
name: CodeQL analysis
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
93
.github/workflows/e2e-cache-dependency-path.yml
vendored
Normal file
93
.github/workflows/e2e-cache-dependency-path.yml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
name: Validate cache with cache-dependency-path option
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
gradle1-save:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run setup-java with the cache for gradle
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: gradle
|
||||||
|
cache-dependency-path: __tests__/cache/gradle1/*.gradle*
|
||||||
|
- name: Create files to cache
|
||||||
|
# Need to avoid using Gradle daemon to stabilize the save process on Windows
|
||||||
|
# https://github.com/actions/cache/issues/454#issuecomment-840493935
|
||||||
|
run: |
|
||||||
|
gradle downloadDependencies --no-daemon -p __tests__/cache/gradle1
|
||||||
|
if [ ! -d ~/.gradle/caches ]; then
|
||||||
|
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
gradle1-restore:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
needs: gradle1-save
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run setup-java with the cache for gradle
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: gradle
|
||||||
|
cache-dependency-path: __tests__/cache/gradle1/*.gradle*
|
||||||
|
- name: Confirm that ~/.gradle/caches directory has been made
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/.gradle/caches ]; then
|
||||||
|
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ls ~/.gradle/caches/
|
||||||
|
gradle2-restore:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
needs: gradle1-save
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run setup-java with the cache for gradle
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: gradle
|
||||||
|
cache-dependency-path: __tests__/cache/gradle2/*.gradle*
|
||||||
|
- name: Confirm that ~/.gradle/caches directory has not been made
|
||||||
|
run: |
|
||||||
|
if [ -d ~/.gradle/caches ]; then
|
||||||
|
echo "::error::The ~/.gradle/caches directory exists unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
114
.github/workflows/e2e-cache.yml
vendored
114
.github/workflows/e2e-cache.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
name: Validate cache
|
name: Validate cache
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -20,10 +21,10 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -35,7 +36,7 @@ jobs:
|
||||||
# Need to avoid using Gradle daemon to stabilize the save process on Windows
|
# Need to avoid using Gradle daemon to stabilize the save process on Windows
|
||||||
# https://github.com/actions/cache/issues/454#issuecomment-840493935
|
# https://github.com/actions/cache/issues/454#issuecomment-840493935
|
||||||
run: |
|
run: |
|
||||||
gradle downloadDependencies --no-daemon -p __tests__/cache/gradle
|
gradle downloadDependencies --no-daemon -p __tests__/cache/gradle1
|
||||||
if [ ! -d ~/.gradle/caches ]; then
|
if [ ! -d ~/.gradle/caches ]; then
|
||||||
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
|
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -45,11 +46,11 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
needs: gradle-save
|
needs: gradle-save
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Run setup-java with the cache for gradle
|
- name: Run setup-java with the cache for gradle
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -69,10 +70,10 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Run setup-java with the cache for maven
|
- name: Run setup-java with the cache for maven
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -92,11 +93,11 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
needs: maven-save
|
needs: maven-save
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Run setup-java with the cache for maven
|
- name: Run setup-java with the cache for maven
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -111,3 +112,98 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ls ~/.m2/repository
|
ls ~/.m2/repository
|
||||||
|
sbt-save:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
working-directory: __tests__/cache/sbt
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-13, windows-latest, ubuntu-22.04]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run setup-java with the cache for sbt
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: sbt
|
||||||
|
- name: Setup SBT
|
||||||
|
if: matrix.os == 'macos-13'
|
||||||
|
run: |
|
||||||
|
echo ""Installing SBT...""
|
||||||
|
brew install sbt
|
||||||
|
- name: Create files to cache
|
||||||
|
run: sbt update
|
||||||
|
|
||||||
|
- name: Check files to cache on macos-latest
|
||||||
|
if: matrix.os == 'macos-13'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/Library/Caches/Coursier ]; then
|
||||||
|
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Check files to cache on windows-latest
|
||||||
|
if: matrix.os == 'windows-latest'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/AppData/Local/Coursier/Cache ]; then
|
||||||
|
echo "::error::The ~/AppData/Local/Coursier/Cache directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
- name: Check files to cache on ubuntu-latest
|
||||||
|
if: matrix.os == 'ubuntu-latest'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/.cache/coursier ]; then
|
||||||
|
echo "::error::The ~/.cache/coursier directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sbt-restore:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
working-directory: __tests__/cache/sbt
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-13, windows-latest, ubuntu-22.04]
|
||||||
|
needs: sbt-save
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run setup-java with the cache for sbt
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: sbt
|
||||||
|
|
||||||
|
- name: Confirm that ~/Library/Caches/Coursier directory has been made
|
||||||
|
if: matrix.os == 'macos-13'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/Library/Caches/Coursier ]; then
|
||||||
|
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ls ~/Library/Caches/Coursier
|
||||||
|
- name: Confirm that ~/AppData/Local/Coursier/Cache directory has been made
|
||||||
|
if: matrix.os == 'windows-latest'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/AppData/Local/Coursier/Cache ]; then
|
||||||
|
echo "::error::The ~/AppData/Local/Coursier/Cache directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ls ~/AppData/Local/Coursier/Cache
|
||||||
|
- name: Confirm that ~/.cache/coursier directory has been made
|
||||||
|
if: matrix.os == 'ubuntu-latest'
|
||||||
|
run: |
|
||||||
|
if [ ! -d ~/.cache/coursier ]; then
|
||||||
|
echo "::error::The ~/.cache/coursier directory does not exist unexpectedly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ls ~/.cache/coursier
|
||||||
|
|
7
.github/workflows/e2e-local-file.yml
vendored
7
.github/workflows/e2e-local-file.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
name: Validate local file
|
name: Validate local file
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -20,7 +21,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Download Adopt OpenJDK file
|
- name: Download Adopt OpenJDK file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
|
@ -57,7 +58,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Download Zulu OpenJDK file
|
- name: Download Zulu OpenJDK file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
|
@ -94,7 +95,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Download Eclipse Temurin file
|
- name: Download Eclipse Temurin file
|
||||||
run: |
|
run: |
|
||||||
if ($IsLinux) {
|
if ($IsLinux) {
|
||||||
|
|
9
.github/workflows/e2e-publishing.yml
vendored
9
.github/workflows/e2e-publishing.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
name: Validate publishing functionality
|
name: Validate publishing functionality
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -24,7 +25,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -59,7 +60,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Create fake settings.xml
|
- name: Create fake settings.xml
|
||||||
run: |
|
run: |
|
||||||
$xmlDirectory = Join-Path $HOME ".m2"
|
$xmlDirectory = Join-Path $HOME ".m2"
|
||||||
|
@ -95,7 +96,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Create fake settings.xml
|
- name: Create fake settings.xml
|
||||||
run: |
|
run: |
|
||||||
$xmlDirectory = Join-Path $HOME ".m2"
|
$xmlDirectory = Join-Path $HOME ".m2"
|
||||||
|
@ -132,7 +133,7 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
|
365
.github/workflows/e2e-versions.yml
vendored
365
.github/workflows/e2e-versions.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
name: Validate Java e2e
|
name: Validate Java e2e
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
@ -10,7 +11,7 @@ on:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '**.md'
|
- '**.md'
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 */12 * * *'
|
- cron: '0 */12 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
jobs:
|
jobs:
|
||||||
setup-java-major-versions:
|
setup-java-major-versions:
|
||||||
|
@ -19,21 +20,59 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
distribution: ['temurin', 'adopt', 'adopt-openj9', 'zulu', 'liberica', 'microsoft' ] # internally 'adopt-hotspot' is the same as 'adopt'
|
distribution: [
|
||||||
version: ['8', '11', '16']
|
'temurin',
|
||||||
|
'adopt',
|
||||||
|
'adopt-openj9',
|
||||||
|
'zulu',
|
||||||
|
'liberica',
|
||||||
|
'microsoft',
|
||||||
|
'semeru',
|
||||||
|
'corretto',
|
||||||
|
'dragonwell',
|
||||||
|
'sapmachine',
|
||||||
|
'jetbrains'
|
||||||
|
] # internally 'adopt-hotspot' is the same as 'adopt'
|
||||||
|
version: ['21', '11', '17']
|
||||||
exclude:
|
exclude:
|
||||||
- distribution: microsoft
|
- distribution: microsoft
|
||||||
version: 8
|
version: 8
|
||||||
|
- distribution: dragonwell
|
||||||
|
os: macos-13
|
||||||
|
include:
|
||||||
|
- distribution: oracle
|
||||||
|
os: macos-13
|
||||||
|
version: 17
|
||||||
|
- distribution: oracle
|
||||||
|
os: windows-latest
|
||||||
|
version: 21
|
||||||
|
- distribution: oracle
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: 21
|
||||||
|
- distribution: graalvm
|
||||||
|
os: macos-latest
|
||||||
|
version: 17.0.12
|
||||||
|
- distribution: graalvm
|
||||||
|
os: windows-latest
|
||||||
|
version: 21
|
||||||
|
- distribution: graalvm
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: 21
|
||||||
|
- distribution: graalvm
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: '24-ea'
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
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
|
||||||
|
@ -48,12 +87,34 @@ jobs:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
distribution: ['temurin', 'zulu', 'liberica']
|
distribution: ['temurin', 'zulu', 'liberica']
|
||||||
version:
|
version:
|
||||||
- '11.0'
|
- '11.0'
|
||||||
- '8.0.302'
|
- '21.0'
|
||||||
- '16.0.2+7'
|
- '17.0.7+7'
|
||||||
|
include:
|
||||||
|
- distribution: oracle
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: '21.0.4'
|
||||||
|
- distribution: graalvm
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: '21.0.4'
|
||||||
|
- distribution: dragonwell
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: '11.0'
|
||||||
|
- distribution: dragonwell
|
||||||
|
os: ubuntu-latest
|
||||||
|
version: '11.0.13+9'
|
||||||
|
- distribution: sapmachine
|
||||||
|
os: ubuntu-latest
|
||||||
|
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@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -63,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 }}
|
||||||
|
@ -72,10 +135,21 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
distribution: ['temurin', 'zulu', 'liberica']
|
distribution:
|
||||||
|
[
|
||||||
|
'temurin',
|
||||||
|
'zulu',
|
||||||
|
'liberica',
|
||||||
|
'dragonwell',
|
||||||
|
'sapmachine',
|
||||||
|
'jetbrains'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- distribution: dragonwell
|
||||||
|
os: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -83,10 +157,62 @@ 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
|
||||||
|
|
||||||
|
setup-java-multiple-jdks:
|
||||||
|
name: ${{ matrix.distribution }} ${{ matrix.version }} - multiple jdks - ${{ matrix.os }}
|
||||||
|
needs: setup-java-major-versions
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
distribution:
|
||||||
|
[
|
||||||
|
'temurin',
|
||||||
|
'zulu',
|
||||||
|
'liberica',
|
||||||
|
'dragonwell',
|
||||||
|
'sapmachine',
|
||||||
|
'jetbrains'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- distribution: dragonwell
|
||||||
|
os: macos-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
java-version: |
|
||||||
|
11
|
||||||
|
17
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Verify Java env variables
|
||||||
|
run: |
|
||||||
|
$versionsArr = "11","17"
|
||||||
|
foreach ($version in $versionsArr)
|
||||||
|
{
|
||||||
|
$envName = "JAVA_HOME_${version}_${env:RUNNER_ARCH}"
|
||||||
|
$JavaVersionPath = [Environment]::GetEnvironmentVariable($envName)
|
||||||
|
if (-not (Test-Path "$JavaVersionPath")) {
|
||||||
|
Write-Host "$envName is not found"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shell: pwsh
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "17" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
setup-java-ea-versions-zulu:
|
setup-java-ea-versions-zulu:
|
||||||
name: zulu ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
name: zulu ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-minor-versions
|
needs: setup-java-major-minor-versions
|
||||||
|
@ -94,11 +220,11 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
version: ['17-ea', '15.0.0-ea.14']
|
version: ['17-ea', '15.0.0-ea.14']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -120,7 +246,7 @@ jobs:
|
||||||
version: ['17-ea']
|
version: ['17-ea']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -131,6 +257,28 @@ jobs:
|
||||||
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
|
||||||
|
|
||||||
|
setup-java-ea-versions-sapmachine:
|
||||||
|
name: sapmachine ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
|
||||||
|
needs: setup-java-major-minor-versions
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
version: ['17-ea', '21-ea']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.version }}
|
||||||
|
distribution: sapmachine
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
setup-java-custom-package-type:
|
setup-java-custom-package-type:
|
||||||
name: ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }}
|
name: ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }}
|
||||||
needs: setup-java-major-minor-versions
|
needs: setup-java-major-minor-versions
|
||||||
|
@ -138,34 +286,76 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [macos-13, windows-latest, ubuntu-latest]
|
||||||
distribution: ['temurin', 'zulu', 'liberica']
|
distribution:
|
||||||
|
['temurin', 'zulu', 'liberica', 'semeru', 'sapmachine', 'jetbrains']
|
||||||
java-package: ['jre']
|
java-package: ['jre']
|
||||||
version: ['16.0']
|
version: ['17.0']
|
||||||
include:
|
include:
|
||||||
- distribution: 'zulu'
|
- distribution: 'zulu'
|
||||||
java-package: jre+fx
|
java-package: jre+fx
|
||||||
version: '8'
|
version: '21'
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
- distribution: 'zulu'
|
- distribution: 'zulu'
|
||||||
java-package: jdk+fx
|
java-package: jdk+fx
|
||||||
version: '8.0.242'
|
version: '21.0'
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
- distribution: 'liberica'
|
- distribution: 'liberica'
|
||||||
java-package: jdk+fx
|
java-package: jdk+fx
|
||||||
version: '8'
|
version: '21'
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
- distribution: 'liberica'
|
- distribution: 'liberica'
|
||||||
java-package: jre+fx
|
java-package: jre+fx
|
||||||
version: '11'
|
version: '11'
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
exclude:
|
- distribution: 'corretto'
|
||||||
# Eclipse Temurin currently doesn't publish JREs, only JDKs
|
java-package: jre
|
||||||
- distribution: 'temurin'
|
version: '8'
|
||||||
java-package: 'jre'
|
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@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -173,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
|
||||||
|
@ -186,12 +378,12 @@ 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']
|
distribution: ['liberica', 'zulu', 'corretto']
|
||||||
version: ['11']
|
version: ['11']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: setup-java
|
- name: setup-java
|
||||||
uses: ./
|
uses: ./
|
||||||
id: setup-java
|
id: setup-java
|
||||||
|
@ -203,4 +395,115 @@ jobs:
|
||||||
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
|
||||||
|
|
||||||
# Only Microsoft provides AArch64. However, GitHub-hosted runners do not support this architecture.
|
setup-java-version-both-version-inputs-presents:
|
||||||
|
name: ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
distribution: ['temurin', 'microsoft', 'corretto']
|
||||||
|
java-version-file: ['.java-version', '.tool-versions']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Create .java-version file
|
||||||
|
shell: bash
|
||||||
|
run: echo "17" > .java-version
|
||||||
|
- name: Create .tool-versions file
|
||||||
|
shell: bash
|
||||||
|
run: echo "java 17" > .tool-versions
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
java-version: 11
|
||||||
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-version-from-file-major-notation:
|
||||||
|
name: ${{ matrix.distribution }} version from file X - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
distribution: ['temurin', 'zulu', 'liberica', 'microsoft', 'corretto']
|
||||||
|
java-version-file: ['.java-version', '.tool-versions']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Create .java-version file
|
||||||
|
shell: bash
|
||||||
|
run: echo "11" > .java-version
|
||||||
|
- name: Create .tool-versions file
|
||||||
|
shell: bash
|
||||||
|
run: echo "java 11" > .tool-versions
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-version-from-file-major-minor-patch-notation:
|
||||||
|
name: ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
distribution: ['adopt', 'adopt-openj9', 'zulu']
|
||||||
|
java-version-file: ['.java-version', '.tool-versions']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Create .java-version file
|
||||||
|
shell: bash
|
||||||
|
run: echo "17.0.10" > .java-version
|
||||||
|
- name: Create .tool-versions file
|
||||||
|
shell: bash
|
||||||
|
run: echo "java 17.0.10" > .tool-versions
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-java-version-from-file-major-minor-patch-with-dist:
|
||||||
|
name: ${{ matrix.distribution }} version from file 'openjdk64-17.0.10' - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
|
distribution: ['adopt', 'zulu', 'liberica']
|
||||||
|
java-version-file: ['.java-version', '.tool-versions']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Create .java-version file
|
||||||
|
shell: bash
|
||||||
|
run: echo "openjdk64-17.0.10" > .java-version
|
||||||
|
- name: Create .tool-versions file
|
||||||
|
shell: bash
|
||||||
|
run: echo "java openjdk64-17.0.10" > .tool-versions
|
||||||
|
- name: setup-java
|
||||||
|
uses: ./
|
||||||
|
id: setup-java
|
||||||
|
with:
|
||||||
|
distribution: ${{ matrix.distribution }}
|
||||||
|
java-version-file: ${{matrix.java-version-file }}
|
||||||
|
- name: Verify Java
|
||||||
|
run: bash __tests__/verify-java.sh "17.0.10" "${{ steps.setup-java.outputs.path }}"
|
||||||
|
shell: bash
|
||||||
|
|
16
.github/workflows/licensed.yml
vendored
16
.github/workflows/licensed.yml
vendored
|
@ -10,16 +10,6 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
call-licensed:
|
||||||
runs-on: ubuntu-latest
|
name: Licensed
|
||||||
name: Check licenses
|
uses: actions/reusable-workflows/.github/workflows/licensed.yml@main
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- run: npm ci
|
|
||||||
- name: Install licensed
|
|
||||||
run: |
|
|
||||||
cd $RUNNER_TEMP
|
|
||||||
curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/3.4.4/licensed-3.4.4-linux-x64.tar.gz
|
|
||||||
sudo tar -xzf licensed.tar.gz
|
|
||||||
sudo mv licensed /usr/local/bin/licensed
|
|
||||||
- run: licensed status
|
|
||||||
|
|
21
.github/workflows/publish-immutable-actions.yml
vendored
Normal file
21
.github/workflows/publish-immutable-actions.yml
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
name: 'Publish Immutable Action Version'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [released]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checking out
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Publish
|
||||||
|
id: publish
|
||||||
|
uses: actions/publish-immutable-action@v0.0.4
|
13
.github/workflows/release-new-action-version.yml
vendored
13
.github/workflows/release-new-action-version.yml
vendored
|
@ -1,4 +1,5 @@
|
||||||
name: Release new action version
|
name: Release new action version
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [released]
|
types: [released]
|
||||||
|
@ -20,9 +21,9 @@ jobs:
|
||||||
name: releaseNewActionVersion
|
name: releaseNewActionVersion
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
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.1.0
|
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 }}
|
||||||
|
|
11
.github/workflows/update-config-files.yml
vendored
Normal file
11
.github/workflows/update-config-files.yml
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
name: Update configuration files
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * 0'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-update-configuration-files:
|
||||||
|
name: Update configuration files
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -94,3 +94,6 @@ typings/
|
||||||
# DynamoDB Local files
|
# DynamoDB Local files
|
||||||
.dynamodb/
|
.dynamodb/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
# IntelliJ / WebStorm
|
||||||
|
/.idea/
|
||||||
|
|
2
.licenses/npm/@actions/cache.dep.yml
generated
2
.licenses/npm/@actions/cache.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@actions/cache"
|
name: "@actions/cache"
|
||||||
version: 2.0.2
|
version: 4.0.3
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions cache lib
|
summary: Actions cache lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/main/packages/cache
|
homepage: https://github.com/actions/toolkit/tree/main/packages/cache
|
||||||
|
|
2
.licenses/npm/@actions/core.dep.yml
generated
2
.licenses/npm/@actions/core.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@actions/core"
|
name: "@actions/core"
|
||||||
version: 1.2.6
|
version: 1.11.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions core lib
|
summary: Actions core lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/main/packages/core
|
homepage: https://github.com/actions/toolkit/tree/main/packages/core
|
||||||
|
|
30
.licenses/npm/@actions/exec.dep.yml
generated
30
.licenses/npm/@actions/exec.dep.yml
generated
|
@ -1,30 +1,20 @@
|
||||||
---
|
---
|
||||||
name: "@actions/exec"
|
name: "@actions/exec"
|
||||||
version: 1.0.4
|
version: 1.1.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions exec lib
|
summary: Actions exec lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/master/packages/exec
|
homepage: https://github.com/actions/toolkit/tree/main/packages/exec
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: Auto-generated MIT license text
|
- sources: LICENSE.md
|
||||||
text: |
|
text: |-
|
||||||
MIT License
|
The MIT License (MIT)
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Copyright 2019 GitHub
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
notices: []
|
notices: []
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@actions/glob"
|
name: "@actions/glob"
|
||||||
version: 0.2.0
|
version: 0.5.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions glob lib
|
summary: Actions glob lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/main/packages/glob
|
homepage: https://github.com/actions/toolkit/tree/main/packages/glob
|
4
.licenses/npm/@actions/http-client.dep.yml
generated
4
.licenses/npm/@actions/http-client.dep.yml
generated
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: "@actions/http-client"
|
name: "@actions/http-client"
|
||||||
version: 1.0.11
|
version: 2.2.3
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions Http Client
|
summary: Actions Http Client
|
||||||
homepage: https://github.com/actions/http-client#readme
|
homepage: https://github.com/actions/toolkit/tree/main/packages/http-client
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
|
|
30
.licenses/npm/@actions/io.dep.yml
generated
30
.licenses/npm/@actions/io.dep.yml
generated
|
@ -1,30 +1,20 @@
|
||||||
---
|
---
|
||||||
name: "@actions/io"
|
name: "@actions/io"
|
||||||
version: 1.0.2
|
version: 1.1.3
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions io lib
|
summary: Actions io lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/master/packages/io
|
homepage: https://github.com/actions/toolkit/tree/main/packages/io
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: Auto-generated MIT license text
|
- sources: LICENSE.md
|
||||||
text: |
|
text: |-
|
||||||
MIT License
|
The MIT License (MIT)
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Copyright 2019 GitHub
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
notices: []
|
notices: []
|
||||||
|
|
2
.licenses/npm/@actions/tool-cache.dep.yml
generated
2
.licenses/npm/@actions/tool-cache.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@actions/tool-cache"
|
name: "@actions/tool-cache"
|
||||||
version: 1.6.1
|
version: 2.0.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: Actions tool-cache lib
|
summary: Actions tool-cache lib
|
||||||
homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache
|
homepage: https://github.com/actions/toolkit/tree/main/packages/tool-cache
|
||||||
|
|
4
.licenses/npm/@azure/abort-controller.dep.yml
generated
4
.licenses/npm/@azure/abort-controller.dep.yml
generated
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: "@azure/abort-controller"
|
name: "@azure/abort-controller"
|
||||||
version: 1.0.4
|
version: 1.1.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Microsoft Azure SDK for JavaScript - Aborter
|
summary: Microsoft Azure SDK for JavaScript - Aborter
|
||||||
homepage: https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/core/abort-controller/README.md
|
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/abort-controller/README.md
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
|
|
2
.licenses/npm/@azure/core-auth.dep.yml
generated
2
.licenses/npm/@azure/core-auth.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/core-auth"
|
name: "@azure/core-auth"
|
||||||
version: 1.3.2
|
version: 1.5.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Provides low-level interfaces and helper methods for authentication in Azure
|
summary: Provides low-level interfaces and helper methods for authentication in Azure
|
||||||
SDK
|
SDK
|
||||||
|
|
2
.licenses/npm/@azure/core-http.dep.yml
generated
2
.licenses/npm/@azure/core-http.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/core-http"
|
name: "@azure/core-http"
|
||||||
version: 2.2.4
|
version: 3.0.4
|
||||||
type: npm
|
type: npm
|
||||||
summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client
|
summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client
|
||||||
libraries generated using AutoRest
|
libraries generated using AutoRest
|
||||||
|
|
2
.licenses/npm/@azure/core-lro.dep.yml
generated
2
.licenses/npm/@azure/core-lro.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/core-lro"
|
name: "@azure/core-lro"
|
||||||
version: 2.2.4
|
version: 2.5.4
|
||||||
type: npm
|
type: npm
|
||||||
summary: Isomorphic client library for supporting long-running operations in node.js
|
summary: Isomorphic client library for supporting long-running operations in node.js
|
||||||
and browser.
|
and browser.
|
||||||
|
|
2
.licenses/npm/@azure/core-paging.dep.yml
generated
2
.licenses/npm/@azure/core-paging.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/core-paging"
|
name: "@azure/core-paging"
|
||||||
version: 1.2.1
|
version: 1.5.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Core types for paging async iterable iterators
|
summary: Core types for paging async iterable iterators
|
||||||
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-paging/README.md
|
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-paging/README.md
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: "@azure/core-asynciterator-polyfill"
|
name: "@azure/core-util"
|
||||||
version: 1.0.2
|
version: 1.6.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: Polyfill for IE/Node 8 for Symbol.asyncIterator
|
summary: Core library for shared utility methods
|
||||||
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/core-asynciterator-polyfill/README.md
|
homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-util/
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
2
.licenses/npm/@azure/logger.dep.yml
generated
2
.licenses/npm/@azure/logger.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/logger"
|
name: "@azure/logger"
|
||||||
version: 1.0.3
|
version: 1.0.4
|
||||||
type: npm
|
type: npm
|
||||||
summary: Microsoft Azure SDK for JavaScript - Logger
|
summary: Microsoft Azure SDK for JavaScript - Logger
|
||||||
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger/README.md
|
homepage: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger/README.md
|
||||||
|
|
2
.licenses/npm/@azure/ms-rest-js.dep.yml
generated
2
.licenses/npm/@azure/ms-rest-js.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/ms-rest-js"
|
name: "@azure/ms-rest-js"
|
||||||
version: 2.6.1
|
version: 2.7.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client
|
summary: Isomorphic client Runtime for Typescript/node.js/browser javascript client
|
||||||
libraries generated using AutoRest
|
libraries generated using AutoRest
|
||||||
|
|
2
.licenses/npm/@azure/storage-blob.dep.yml
generated
2
.licenses/npm/@azure/storage-blob.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@azure/storage-blob"
|
name: "@azure/storage-blob"
|
||||||
version: 12.9.0
|
version: 12.17.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Microsoft Azure Storage SDK for JavaScript - Blob
|
summary: Microsoft Azure Storage SDK for JavaScript - Blob
|
||||||
homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/
|
homepage: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/
|
||||||
|
|
30
.licenses/npm/@fastify/busboy.dep.yml
generated
Normal file
30
.licenses/npm/@fastify/busboy.dep.yml
generated
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
name: "@fastify/busboy"
|
||||||
|
version: 2.1.0
|
||||||
|
type: npm
|
||||||
|
summary: A streaming parser for HTML form data for node.js
|
||||||
|
homepage:
|
||||||
|
license: mit
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE
|
||||||
|
text: |-
|
||||||
|
Copyright Brian White. All rights reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to
|
||||||
|
deal in the Software without restriction, including without limitation the
|
||||||
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
||||||
|
notices: []
|
12
.licenses/npm/@opentelemetry/api.dep.yml
generated
12
.licenses/npm/@opentelemetry/api.dep.yml
generated
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: "@opentelemetry/api"
|
name: "@opentelemetry/api"
|
||||||
version: 1.0.4
|
version: 1.7.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Public API for OpenTelemetry
|
summary: Public API for OpenTelemetry
|
||||||
homepage: https://github.com/open-telemetry/opentelemetry-js-api#readme
|
homepage: https://github.com/open-telemetry/opentelemetry-js/tree/main/api
|
||||||
license: apache-2.0
|
license: apache-2.0
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
|
@ -216,10 +216,8 @@ licenses:
|
||||||
[opentelemetry-js]: https://github.com/open-telemetry/opentelemetry-js
|
[opentelemetry-js]: https://github.com/open-telemetry/opentelemetry-js
|
||||||
|
|
||||||
[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
|
[discussions-url]: https://github.com/open-telemetry/opentelemetry-js/discussions
|
||||||
[license-url]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/LICENSE
|
[license-url]: https://github.com/open-telemetry/opentelemetry-js/blob/main/api/LICENSE
|
||||||
[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
|
[license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat
|
||||||
[npm-url]: https://www.npmjs.com/package/@opentelemetry/api
|
[docs-tracing]: https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/tracing.md
|
||||||
[npm-img]: https://badge.fury.io/js/%40opentelemetry%2Fapi.svg
|
[docs-sdk-registration]: https://github.com/open-telemetry/opentelemetry-js/blob/main/doc/sdk-registration.md
|
||||||
[docs-tracing]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/docs/tracing.md
|
|
||||||
[docs-sdk-registration]: https://github.com/open-telemetry/opentelemetry-js-api/blob/main/docs/sdk-registration.md
|
|
||||||
notices: []
|
notices: []
|
||||||
|
|
185
.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
generated
Normal file
185
.licenses/npm/@protobuf-ts/plugin-framework.dep.yml
generated
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
---
|
||||||
|
name: "@protobuf-ts/plugin-framework"
|
||||||
|
version: 2.9.5
|
||||||
|
type: npm
|
||||||
|
summary: framework to create protoc plugins
|
||||||
|
homepage: https://github.com/timostamm/protobuf-ts
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE
|
||||||
|
text: |2
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
notices: []
|
186
.licenses/npm/@protobuf-ts/plugin.dep.yml
generated
Normal file
186
.licenses/npm/@protobuf-ts/plugin.dep.yml
generated
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
---
|
||||||
|
name: "@protobuf-ts/plugin"
|
||||||
|
version: 2.9.5
|
||||||
|
type: npm
|
||||||
|
summary: The protocol buffer compiler plugin "protobuf-ts" generates TypeScript, gRPC-web,
|
||||||
|
Twirp, and more.
|
||||||
|
homepage: https://github.com/timostamm/protobuf-ts
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE
|
||||||
|
text: |2
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
notices: []
|
207
.licenses/npm/@protobuf-ts/protoc.dep.yml
generated
Normal file
207
.licenses/npm/@protobuf-ts/protoc.dep.yml
generated
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
---
|
||||||
|
name: "@protobuf-ts/protoc"
|
||||||
|
version: 2.9.5
|
||||||
|
type: npm
|
||||||
|
summary: Installs the protocol buffer compiler "protoc" for you.
|
||||||
|
homepage: https://github.com/timostamm/protobuf-ts
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: Auto-generated Apache-2.0 license text
|
||||||
|
text: |2
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
notices: []
|
185
.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
generated
Normal file
185
.licenses/npm/@protobuf-ts/runtime-rpc.dep.yml
generated
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
---
|
||||||
|
name: "@protobuf-ts/runtime-rpc"
|
||||||
|
version: 2.9.5
|
||||||
|
type: npm
|
||||||
|
summary: Runtime library for RPC clients generated by the protoc plugin "protobuf-ts"
|
||||||
|
homepage: https://github.com/timostamm/protobuf-ts
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE
|
||||||
|
text: |2
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
notices: []
|
185
.licenses/npm/@protobuf-ts/runtime.dep.yml
generated
Normal file
185
.licenses/npm/@protobuf-ts/runtime.dep.yml
generated
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
---
|
||||||
|
name: "@protobuf-ts/runtime"
|
||||||
|
version: 2.9.5
|
||||||
|
type: npm
|
||||||
|
summary: Runtime library for code generated by the protoc plugin "protobuf-ts"
|
||||||
|
homepage: https://github.com/timostamm/protobuf-ts
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE
|
||||||
|
text: |2
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
notices: []
|
32
.licenses/npm/@types/node-14.6.2.dep.yml
generated
32
.licenses/npm/@types/node-14.6.2.dep.yml
generated
|
@ -1,32 +0,0 @@
|
||||||
---
|
|
||||||
name: "@types/node"
|
|
||||||
version: 14.6.2
|
|
||||||
type: npm
|
|
||||||
summary: TypeScript definitions for Node.js
|
|
||||||
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped#readme
|
|
||||||
license: mit
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |2
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) Microsoft Corporation.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE
|
|
||||||
notices: []
|
|
2
.licenses/npm/@types/node-fetch.dep.yml
generated
2
.licenses/npm/@types/node-fetch.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: "@types/node-fetch"
|
name: "@types/node-fetch"
|
||||||
version: 2.6.1
|
version: 2.6.9
|
||||||
type: npm
|
type: npm
|
||||||
summary: TypeScript definitions for node-fetch
|
summary: TypeScript definitions for node-fetch
|
||||||
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch
|
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
name: "@types/node"
|
name: "@types/node"
|
||||||
version: 16.11.25
|
version: 20.11.24
|
||||||
type: npm
|
type: npm
|
||||||
summary: TypeScript definitions for Node.js
|
summary: TypeScript definitions for node
|
||||||
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node
|
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
2
.licenses/npm/balanced-match.dep.yml
generated
2
.licenses/npm/balanced-match.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: balanced-match
|
name: balanced-match
|
||||||
version: 1.0.0
|
version: 1.0.2
|
||||||
type: npm
|
type: npm
|
||||||
summary: Match balanced character pairs, like "{" and "}"
|
summary: Match balanced character pairs, like "{" and "}"
|
||||||
homepage: https://github.com/juliangruber/balanced-match
|
homepage: https://github.com/juliangruber/balanced-match
|
||||||
|
|
33
.licenses/npm/form-data-3.0.1.dep.yml
generated
33
.licenses/npm/form-data-3.0.1.dep.yml
generated
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
name: form-data
|
|
||||||
version: 3.0.1
|
|
||||||
type: npm
|
|
||||||
summary: A library to create readable "multipart/form-data" streams. Can be used to
|
|
||||||
submit forms and file uploads to other web applications.
|
|
||||||
homepage: https://github.com/form-data/form-data#readme
|
|
||||||
license: mit
|
|
||||||
licenses:
|
|
||||||
- sources: License
|
|
||||||
text: |
|
|
||||||
Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
- sources: Readme.md
|
|
||||||
text: Form-Data is released under the [MIT](License) license.
|
|
||||||
notices: []
|
|
26
.licenses/npm/lru-cache.dep.yml
generated
26
.licenses/npm/lru-cache.dep.yml
generated
|
@ -1,26 +0,0 @@
|
||||||
---
|
|
||||||
name: lru-cache
|
|
||||||
version: 6.0.0
|
|
||||||
type: npm
|
|
||||||
summary: A cache object that deletes the least-recently-used items.
|
|
||||||
homepage: https://github.com/isaacs/node-lru-cache#readme
|
|
||||||
license: isc
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
notices: []
|
|
43
.licenses/npm/mime-db.dep.yml
generated
43
.licenses/npm/mime-db.dep.yml
generated
|
@ -1,33 +1,34 @@
|
||||||
---
|
---
|
||||||
name: mime-db
|
name: mime-db
|
||||||
version: 1.46.0
|
version: 1.52.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Media Type Database
|
summary: Media Type Database
|
||||||
homepage: https://github.com/jshttp/mime-db#readme
|
homepage:
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
text: |2
|
text: |
|
||||||
|
(The MIT License)
|
||||||
|
|
||||||
The MIT License (MIT)
|
Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
|
||||||
|
Copyright (c) 2015-2022 Douglas Christopher Wilson <doug@somethingdoug.com>
|
||||||
|
|
||||||
Copyright (c) 2014 Jonathan Ong me@jongleberry.com
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
'Software'), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
The above copyright notice and this permission notice shall be
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
included in all copies or substantial portions of the Software.
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||||
all copies or substantial portions of the Software.
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
notices: []
|
notices: []
|
||||||
|
|
6
.licenses/npm/mime-types.dep.yml
generated
6
.licenses/npm/mime-types.dep.yml
generated
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: mime-types
|
name: mime-types
|
||||||
version: 2.1.29
|
version: 2.1.35
|
||||||
type: npm
|
type: npm
|
||||||
summary: The ultimate javascript content-type utility.
|
summary: The ultimate javascript content-type utility.
|
||||||
homepage: https://github.com/jshttp/mime-types#readme
|
homepage:
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
|
@ -36,7 +36,7 @@ licenses:
|
||||||
[MIT](LICENSE)
|
[MIT](LICENSE)
|
||||||
|
|
||||||
[ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci
|
[ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci
|
||||||
[ci-url]: https://github.com/jshttp/mime-types/actions?query=workflow%3Aci
|
[ci-url]: https://github.com/jshttp/mime-types/actions/workflows/ci.yml
|
||||||
[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
|
[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
|
||||||
[coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
|
[coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
|
||||||
[node-version-image]: https://badgen.net/npm/node/mime-types
|
[node-version-image]: https://badgen.net/npm/node/mime-types
|
||||||
|
|
2
.licenses/npm/minimatch.dep.yml
generated
2
.licenses/npm/minimatch.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: minimatch
|
name: minimatch
|
||||||
version: 3.0.4
|
version: 3.1.2
|
||||||
type: npm
|
type: npm
|
||||||
summary: a glob matcher in javascript
|
summary: a glob matcher in javascript
|
||||||
homepage: https://github.com/isaacs/minimatch#readme
|
homepage: https://github.com/isaacs/minimatch#readme
|
||||||
|
|
2
.licenses/npm/node-fetch.dep.yml
generated
2
.licenses/npm/node-fetch.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: node-fetch
|
name: node-fetch
|
||||||
version: 2.6.7
|
version: 2.7.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: A light-weight module that brings window.fetch to node.js
|
summary: A light-weight module that brings window.fetch to node.js
|
||||||
homepage: https://github.com/bitinn/node-fetch
|
homepage: https://github.com/bitinn/node-fetch
|
||||||
|
|
43
.licenses/npm/psl.dep.yml
generated
43
.licenses/npm/psl.dep.yml
generated
|
@ -1,43 +0,0 @@
|
||||||
---
|
|
||||||
name: psl
|
|
||||||
version: 1.8.0
|
|
||||||
type: npm
|
|
||||||
summary: Domain name parser based on the Public Suffix List
|
|
||||||
homepage: https://github.com/lupomontero/psl#readme
|
|
||||||
license: mit
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2017 Lupo Montero lupomontero@gmail.com
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
- sources: README.md
|
|
||||||
text: |-
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2017 Lupo Montero <lupomontero@gmail.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
notices: []
|
|
34
.licenses/npm/punycode.dep.yml
generated
34
.licenses/npm/punycode.dep.yml
generated
|
@ -1,34 +0,0 @@
|
||||||
---
|
|
||||||
name: punycode
|
|
||||||
version: 2.1.1
|
|
||||||
type: npm
|
|
||||||
summary: A robust Punycode converter that fully complies to RFC 3492 and RFC 5891,
|
|
||||||
and works on nearly all JavaScript platforms.
|
|
||||||
homepage: https://mths.be/punycode
|
|
||||||
license: mit
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE-MIT.txt
|
|
||||||
text: |
|
|
||||||
Copyright Mathias Bynens <https://mathiasbynens.be/>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
||||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
- sources: README.md
|
|
||||||
text: Punycode.js is available under the [MIT](https://mths.be/mit) license.
|
|
||||||
notices: []
|
|
8
.licenses/npm/sax.dep.yml
generated
8
.licenses/npm/sax.dep.yml
generated
|
@ -1,16 +1,16 @@
|
||||||
---
|
---
|
||||||
name: sax
|
name: sax
|
||||||
version: 1.2.4
|
version: 1.3.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: An evented streaming XML parser in JavaScript
|
summary: An evented streaming XML parser in JavaScript
|
||||||
homepage: https://github.com/isaacs/sax-js#readme
|
homepage:
|
||||||
license: isc
|
license: isc
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
||||||
text: |
|
text: |
|
||||||
The ISC License
|
The ISC License
|
||||||
|
|
||||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -29,7 +29,7 @@ licenses:
|
||||||
`String.fromCodePoint` by Mathias Bynens used according to terms of MIT
|
`String.fromCodePoint` by Mathias Bynens used according to terms of MIT
|
||||||
License, as follows:
|
License, as follows:
|
||||||
|
|
||||||
Copyright Mathias Bynens <https://mathiasbynens.be/>
|
Copyright (c) 2010-2022 Mathias Bynens <https://mathiasbynens.be/>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
a copy of this software and associated documentation files (the
|
a copy of this software and associated documentation files (the
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: semver
|
name: semver
|
||||||
version: 6.3.0
|
version: 6.3.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: The semantic version parser used by npm.
|
summary: The semantic version parser used by npm.
|
||||||
homepage: https://github.com/npm/node-semver#readme
|
homepage:
|
||||||
license: isc
|
license: isc
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
|
@ -1,9 +1,9 @@
|
||||||
---
|
---
|
||||||
name: semver
|
name: semver
|
||||||
version: 7.3.4
|
version: 7.7.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: The semantic version parser used by npm.
|
summary: The semantic version parser used by npm.
|
||||||
homepage: https://github.com/npm/node-semver#readme
|
homepage:
|
||||||
license: isc
|
license: isc
|
||||||
licenses:
|
licenses:
|
||||||
- sources: LICENSE
|
- sources: LICENSE
|
23
.licenses/npm/tough-cookie-3.0.1.dep.yml
generated
23
.licenses/npm/tough-cookie-3.0.1.dep.yml
generated
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
name: tough-cookie
|
|
||||||
version: 3.0.1
|
|
||||||
type: npm
|
|
||||||
summary: RFC6265 Cookies and Cookie Jar for node.js
|
|
||||||
homepage: https://github.com/salesforce/tough-cookie
|
|
||||||
license: bsd-3-clause
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
Copyright (c) 2015, Salesforce.com, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
notices: []
|
|
23
.licenses/npm/tough-cookie-4.0.0.dep.yml
generated
23
.licenses/npm/tough-cookie-4.0.0.dep.yml
generated
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
name: tough-cookie
|
|
||||||
version: 4.0.0
|
|
||||||
type: npm
|
|
||||||
summary: RFC6265 Cookies and Cookie Jar for node.js
|
|
||||||
homepage: https://github.com/salesforce/tough-cookie
|
|
||||||
license: bsd-3-clause
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
Copyright (c) 2015, Salesforce.com, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
3. Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
notices: []
|
|
35
.licenses/npm/tslib-2.3.1.dep.yml
generated
35
.licenses/npm/tslib-2.3.1.dep.yml
generated
|
@ -1,35 +0,0 @@
|
||||||
---
|
|
||||||
name: tslib
|
|
||||||
version: 2.3.1
|
|
||||||
type: npm
|
|
||||||
summary: Runtime library for TypeScript helper functions
|
|
||||||
homepage: https://www.typescriptlang.org/
|
|
||||||
license: 0bsd
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE.txt
|
|
||||||
text: |-
|
|
||||||
Copyright (c) Microsoft Corporation.
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
||||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
||||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
||||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
notices:
|
|
||||||
- sources: CopyrightNotice.txt
|
|
||||||
text: "/*! *****************************************************************************\r\nCopyright
|
|
||||||
(c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute
|
|
||||||
this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE
|
|
||||||
SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD
|
|
||||||
TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS.
|
|
||||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR
|
|
||||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE,
|
|
||||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS
|
|
||||||
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS
|
|
||||||
SOFTWARE.\r\n*****************************************************************************
|
|
||||||
*/"
|
|
23
.licenses/npm/tslib-2.6.2.dep.yml
generated
Normal file
23
.licenses/npm/tslib-2.6.2.dep.yml
generated
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
name: tslib
|
||||||
|
version: 2.6.2
|
||||||
|
type: npm
|
||||||
|
summary: Runtime library for TypeScript helper functions
|
||||||
|
homepage: https://www.typescriptlang.org/
|
||||||
|
license: 0bsd
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE.txt
|
||||||
|
text: |-
|
||||||
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
notices: []
|
239
.licenses/npm/typescript.dep.yml
generated
Normal file
239
.licenses/npm/typescript.dep.yml
generated
Normal file
|
@ -0,0 +1,239 @@
|
||||||
|
---
|
||||||
|
name: typescript
|
||||||
|
version: 3.9.10
|
||||||
|
type: npm
|
||||||
|
summary: TypeScript is a language for application scale JavaScript development
|
||||||
|
homepage: https://www.typescriptlang.org/
|
||||||
|
license: apache-2.0
|
||||||
|
licenses:
|
||||||
|
- sources: LICENSE.txt
|
||||||
|
text: "Apache License\n\nVersion 2.0, January 2004\n\nhttp://www.apache.org/licenses/
|
||||||
|
\n\nTERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n1. Definitions.\n\n\"License\"
|
||||||
|
shall mean the terms and conditions for use, reproduction, and distribution as
|
||||||
|
defined by Sections 1 through 9 of this document.\n\n\"Licensor\" shall mean the
|
||||||
|
copyright owner or entity authorized by the copyright owner that is granting the
|
||||||
|
License.\n\n\"Legal Entity\" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common control with
|
||||||
|
that entity. For the purposes of this definition, \"control\" means (i) the power,
|
||||||
|
direct or indirect, to cause the direction or management of such entity, whether
|
||||||
|
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of
|
||||||
|
the outstanding shares, or (iii) beneficial ownership of such entity.\n\n\"You\"
|
||||||
|
(or \"Your\") shall mean an individual or Legal Entity exercising permissions
|
||||||
|
granted by this License.\n\n\"Source\" form shall mean the preferred form for
|
||||||
|
making modifications, including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.\n\n\"Object\" form shall mean any form resulting
|
||||||
|
from mechanical transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation, and conversions
|
||||||
|
to other media types.\n\n\"Work\" shall mean the work of authorship, whether in
|
||||||
|
Source or Object form, made available under the License, as indicated by a copyright
|
||||||
|
notice that is included in or attached to the work (an example is provided in
|
||||||
|
the Appendix below).\n\n\"Derivative Works\" shall mean any work, whether in Source
|
||||||
|
or Object form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications represent,
|
||||||
|
as a whole, an original work of authorship. For the purposes of this License,
|
||||||
|
Derivative Works shall not include works that remain separable from, or merely
|
||||||
|
link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.\n\n\"Contribution\"
|
||||||
|
shall mean any work of authorship, including the original version of the Work
|
||||||
|
and any modifications or additions to that Work or Derivative Works thereof, that
|
||||||
|
is intentionally submitted to Licensor for inclusion in the Work by the copyright
|
||||||
|
owner or by an individual or Legal Entity authorized to submit on behalf of the
|
||||||
|
copyright owner. For the purposes of this definition, \"submitted\" means any
|
||||||
|
form of electronic, verbal, or written communication sent to the Licensor or its
|
||||||
|
representatives, including but not limited to communication on electronic mailing
|
||||||
|
lists, source code control systems, and issue tracking systems that are managed
|
||||||
|
by, or on behalf of, the Licensor for the purpose of discussing and improving
|
||||||
|
the Work, but excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as \"Not a Contribution.\"\n\n\"Contributor\"
|
||||||
|
shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution
|
||||||
|
has been received by Licensor and subsequently incorporated within the Work.\n\n2.
|
||||||
|
Grant of Copyright License. Subject to the terms and conditions of this License,
|
||||||
|
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge,
|
||||||
|
royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works
|
||||||
|
of, publicly display, publicly perform, sublicense, and distribute the Work and
|
||||||
|
such Derivative Works in Source or Object form.\n\n3. Grant of Patent License.
|
||||||
|
Subject to the terms and conditions of this License, each Contributor hereby grants
|
||||||
|
to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made, use, offer
|
||||||
|
to sell, sell, import, and otherwise transfer the Work, where such license applies
|
||||||
|
only to those patent claims licensable by such Contributor that are necessarily
|
||||||
|
infringed by their Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You institute patent
|
||||||
|
litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
|
||||||
|
alleging that the Work or a Contribution incorporated within the Work constitutes
|
||||||
|
direct or contributory patent infringement, then any patent licenses granted to
|
||||||
|
You under this License for that Work shall terminate as of the date such litigation
|
||||||
|
is filed.\n\n4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without modifications,
|
||||||
|
and in Source or Object form, provided that You meet the following conditions:\n\nYou
|
||||||
|
must give any other recipients of the Work or Derivative Works a copy of this
|
||||||
|
License; and\n\nYou must cause any modified files to carry prominent notices stating
|
||||||
|
that You changed the files; and\n\nYou must retain, in the Source form of any
|
||||||
|
Derivative Works that You distribute, all copyright, patent, trademark, and attribution
|
||||||
|
notices from the Source form of the Work, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works; and\n\nIf the Work includes a \"NOTICE\"
|
||||||
|
text file as part of its distribution, then any Derivative Works that You distribute
|
||||||
|
must include a readable copy of the attribution notices contained within such
|
||||||
|
NOTICE file, excluding those notices that do not pertain to any part of the Derivative
|
||||||
|
Works, in at least one of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or documentation, if provided
|
||||||
|
along with the Derivative Works; or, within a display generated by the Derivative
|
||||||
|
Works, if and wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and do not modify the License.
|
||||||
|
You may add Your own attribution notices within Derivative Works that You distribute,
|
||||||
|
alongside or as an addendum to the NOTICE text from the Work, provided that such
|
||||||
|
additional attribution notices cannot be construed as modifying the License. You
|
||||||
|
may add Your own copyright statement to Your modifications and may provide additional
|
||||||
|
or different license terms and conditions for use, reproduction, or distribution
|
||||||
|
of Your modifications, or for any such Derivative Works as a whole, provided Your
|
||||||
|
use, reproduction, and distribution of the Work otherwise complies with the conditions
|
||||||
|
stated in this License.\n\n5. Submission of Contributions. Unless You explicitly
|
||||||
|
state otherwise, any Contribution intentionally submitted for inclusion in the
|
||||||
|
Work by You to the Licensor shall be under the terms and conditions of this License,
|
||||||
|
without any additional terms or conditions. Notwithstanding the above, nothing
|
||||||
|
herein shall supersede or modify the terms of any separate license agreement you
|
||||||
|
may have executed with Licensor regarding such Contributions.\n\n6. Trademarks.
|
||||||
|
This License does not grant permission to use the trade names, trademarks, service
|
||||||
|
marks, or product names of the Licensor, except as required for reasonable and
|
||||||
|
customary use in describing the origin of the Work and reproducing the content
|
||||||
|
of the NOTICE file.\n\n7. Disclaimer of Warranty. Unless required by applicable
|
||||||
|
law or agreed to in writing, Licensor provides the Work (and each Contributor
|
||||||
|
provides its Contributions) on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS
|
||||||
|
OF ANY KIND, either express or implied, including, without limitation, any warranties
|
||||||
|
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. You are solely responsible for determining the appropriateness of using
|
||||||
|
or redistributing the Work and assume any risks associated with Your exercise
|
||||||
|
of permissions under this License.\n\n8. Limitation of Liability. In no event
|
||||||
|
and under no legal theory, whether in tort (including negligence), contract, or
|
||||||
|
otherwise, unless required by applicable law (such as deliberate and grossly negligent
|
||||||
|
acts) or agreed to in writing, shall any Contributor be liable to You for damages,
|
||||||
|
including any direct, indirect, special, incidental, or consequential damages
|
||||||
|
of any character arising as a result of this License or out of the use or inability
|
||||||
|
to use the Work (including but not limited to damages for loss of goodwill, work
|
||||||
|
stoppage, computer failure or malfunction, or any and all other commercial damages
|
||||||
|
or losses), even if such Contributor has been advised of the possibility of such
|
||||||
|
damages.\n\n9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer, and charge a fee
|
||||||
|
for, acceptance of support, warranty, indemnity, or other liability obligations
|
||||||
|
and/or rights consistent with this License. However, in accepting such obligations,
|
||||||
|
You may act only on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify, defend, and hold
|
||||||
|
each Contributor harmless for any liability incurred by, or claims asserted against,
|
||||||
|
such Contributor by reason of your accepting any such warranty or additional liability.\n\nEND
|
||||||
|
OF TERMS AND CONDITIONS\n"
|
||||||
|
notices:
|
||||||
|
- sources: AUTHORS.md
|
||||||
|
text: "TypeScript is authored by:\r\n\r\n - 0verk1ll\r\n - Abubaker Bashir\r\n -
|
||||||
|
Adam Freidin\r\n - Adam Postma\r\n - Adi Dahiya\r\n - Aditya Daflapurkar\r\n -
|
||||||
|
Adnan Chowdhury\r\n - Adrian Leonhard\r\n - Adrien Gibrat\r\n - Ahmad Farid\r\n
|
||||||
|
- Ajay Poshak\r\n - Alan Agius\r\n - Alan Pierce\r\n - Alessandro Vergani\r\n
|
||||||
|
- Alex Chugaev\r\n - Alex Eagle\r\n - Alex Khomchenko\r\n - Alex Ryan\r\n - Alexander\r\n
|
||||||
|
- Alexander Kuvaev\r\n - Alexander Rusakov\r\n - Alexander Tarasyuk\r\n - Ali
|
||||||
|
Sabzevari\r\n - Aluan Haddad\r\n - amaksimovich2\r\n - Anatoly Ressin\r\n - Anders
|
||||||
|
Hejlsberg\r\n - Anders Kaseorg\r\n - Andre Sutherland\r\n - Andreas Martin\r\n
|
||||||
|
- Andrej Baran\r\n - Andrew\r\n - Andrew Branch\r\n - Andrew Casey\r\n - Andrew
|
||||||
|
Faulkner\r\n - Andrew Ochsner\r\n - Andrew Stegmaier\r\n - Andrew Z Allen\r\n
|
||||||
|
- Andrey Roenko\r\n - Andrii Dieiev\r\n - András Parditka\r\n - Andy Hanson\r\n
|
||||||
|
- Anil Anar\r\n - Anix\r\n - Anton Khlynovskiy\r\n - Anton Tolmachev\r\n - Anubha
|
||||||
|
Mathur\r\n - AnyhowStep\r\n - Armando Aguirre\r\n - Arnaud Tournier\r\n - Arnav
|
||||||
|
Singh\r\n - Arpad Borsos\r\n - Artem Tyurin\r\n - Arthur Ozga\r\n - Asad Saeeduddin\r\n
|
||||||
|
- Austin Cummings\r\n - Avery Morin\r\n - Aziz Khambati\r\n - Basarat Ali Syed\r\n
|
||||||
|
- @begincalendar\r\n - Ben Duffield\r\n - Ben Lichtman\r\n - Ben Mosher\r\n -
|
||||||
|
Benedikt Meurer\r\n - Benjamin Bock\r\n - Benjamin Lichtman\r\n - Benny Neugebauer\r\n
|
||||||
|
- BigAru\r\n - Bill Ticehurst\r\n - Blaine Bublitz\r\n - Blake Embrey\r\n - @bluelovers\r\n
|
||||||
|
- @bootstraponline\r\n - Bowden Kelly\r\n - Bowden Kenny\r\n - Brad Zacher\r\n
|
||||||
|
- Brandon Banks\r\n - Brandon Bloom\r\n - Brandon Slade\r\n - Brendan Kenny\r\n
|
||||||
|
- Brett Mayen\r\n - Brian Terlson\r\n - Bryan Forbes\r\n - Caitlin Potter\r\n
|
||||||
|
- Caleb Sander\r\n - Cameron Taggart\r\n - @cedvdb\r\n - Charles\r\n - Charles
|
||||||
|
Pierce\r\n - Charly POLY\r\n - Chris Bubernak\r\n - Chris Patterson\r\n - christian\r\n
|
||||||
|
- Christophe Vidal\r\n - Chuck Jazdzewski\r\n - Clay Miller\r\n - Colby Russell\r\n
|
||||||
|
- Colin Snover\r\n - Collins Abitekaniza\r\n - Connor Clark\r\n - Cotton Hou\r\n
|
||||||
|
- csigs\r\n - Cyrus Najmabadi\r\n - Dafrok Zhang\r\n - Dahan Gong\r\n - Daiki
|
||||||
|
Nishikawa\r\n - Dan Corder\r\n - Dan Freeman\r\n - Dan Quirk\r\n - Dan Rollo\r\n
|
||||||
|
- Daniel Gooss\r\n - Daniel Imms\r\n - Daniel Krom\r\n - Daniel Król\r\n - Daniel
|
||||||
|
Lehenbauer\r\n - Daniel Rosenwasser\r\n - David Li\r\n - David Sheldrick\r\n -
|
||||||
|
David Sherret\r\n - David Souther\r\n - David Staheli\r\n - Denis Nedelyaev\r\n
|
||||||
|
- Derek P Sifford\r\n - Dhruv Rajvanshi\r\n - Dick van den Brink\r\n - Diogo Franco
|
||||||
|
(Kovensky)\r\n - Dirk Bäumer\r\n - Dirk Holtwick\r\n - Dmitrijs Minajevs\r\n -
|
||||||
|
Dom Chen\r\n - Donald Pipowitch\r\n - Doug Ilijev\r\n - dreamran43@gmail.com\r\n
|
||||||
|
- @e-cloud\r\n - Ecole Keine\r\n - Eddie Jaoude\r\n - Edward Thomson\r\n - EECOLOR\r\n
|
||||||
|
- Eli Barzilay\r\n - Elizabeth Dinella\r\n - Ely Alamillo\r\n - Eric Grube\r\n
|
||||||
|
- Eric Tsang\r\n - Erik Edrosa\r\n - Erik McClenney\r\n - Esakki Raj\r\n - Ethan
|
||||||
|
Resnick\r\n - Ethan Rubio\r\n - Eugene Timokhov\r\n - Evan Cahill\r\n - Evan Martin\r\n
|
||||||
|
- Evan Sebastian\r\n - ExE Boss\r\n - Eyas Sharaiha\r\n - Fabian Cook\r\n - @falsandtru\r\n
|
||||||
|
- Filipe Silva\r\n - @flowmemo\r\n - Forbes Lindesay\r\n - Francois Hendriks\r\n
|
||||||
|
- Francois Wouts\r\n - Frank Wallis\r\n - František Žiacik\r\n - Frederico Bittencourt\r\n
|
||||||
|
- fullheightcoding\r\n - Gabe Moothart\r\n - Gabriel Isenberg\r\n - Gabriela Araujo
|
||||||
|
Britto\r\n - Gabriela Britto\r\n - gb714us\r\n - Gilad Peleg\r\n - Godfrey Chan\r\n
|
||||||
|
- Gorka Hernández Estomba\r\n - Graeme Wicksted\r\n - Guillaume Salles\r\n - Guy
|
||||||
|
Bedford\r\n - hafiz\r\n - Halasi Tamás\r\n - Hendrik Liebau\r\n - Henry Mercer\r\n
|
||||||
|
- Herrington Darkholme\r\n - Hoang Pham\r\n - Holger Jeromin\r\n - Homa Wong\r\n
|
||||||
|
- Hye Sung Jung\r\n - Iain Monro\r\n - @IdeaHunter\r\n - Igor Novozhilov\r\n -
|
||||||
|
Igor Oleinikov\r\n - Ika\r\n - iliashkolyar\r\n - IllusionMH\r\n - Ingvar Stepanyan\r\n
|
||||||
|
- Ingvar Stepanyan\r\n - Isiah Meadows\r\n - ispedals\r\n - Ivan Enderlin\r\n
|
||||||
|
- Ivo Gabe de Wolff\r\n - Iwata Hidetaka\r\n - Jack Bates\r\n - Jack Williams\r\n
|
||||||
|
- Jake Boone\r\n - Jakub Korzeniowski\r\n - Jakub Młokosiewicz\r\n - James Henry\r\n
|
||||||
|
- James Keane\r\n - James Whitney\r\n - Jan Melcher\r\n - Jason Freeman\r\n -
|
||||||
|
Jason Jarrett\r\n - Jason Killian\r\n - Jason Ramsay\r\n - JBerger\r\n - Jean
|
||||||
|
Pierre\r\n - Jed Mao\r\n - Jeff Wilcox\r\n - Jeffrey Morlan\r\n - Jesse Schalken\r\n
|
||||||
|
- Jesse Trinity\r\n - Jing Ma\r\n - Jiri Tobisek\r\n - Joe Calzaretta\r\n - Joe
|
||||||
|
Chung\r\n - Joel Day\r\n - Joey Watts\r\n - Johannes Rieken\r\n - John Doe\r\n
|
||||||
|
- John Vilk\r\n - Jonathan Bond-Caron\r\n - Jonathan Park\r\n - Jonathan Toland\r\n
|
||||||
|
- Jordan Harband\r\n - Jordi Oliveras Rovira\r\n - Joscha Feth\r\n - Joseph Wunderlich\r\n
|
||||||
|
- Josh Abernathy\r\n - Josh Goldberg\r\n - Josh Kalderimis\r\n - Josh Soref\r\n
|
||||||
|
- Juan Luis Boya García\r\n - Julian Williams\r\n - Justin Bay\r\n - Justin Johansson\r\n
|
||||||
|
- jwbay\r\n - K. Preißer\r\n - Kagami Sascha Rosylight\r\n - Kanchalai Tanglertsampan\r\n
|
||||||
|
- karthikkp\r\n - Kate Miháliková\r\n - Keen Yee Liau\r\n - Keith Mashinter\r\n
|
||||||
|
- Ken Howard\r\n - Kenji Imamula\r\n - Kerem Kat\r\n - Kevin Donnelly\r\n - Kevin
|
||||||
|
Gibbons\r\n - Kevin Lang\r\n - Khải\r\n - Kitson Kelly\r\n - Klaus Meinhardt\r\n
|
||||||
|
- Kris Zyp\r\n - Kyle Kelley\r\n - Kārlis Gaņģis\r\n - laoxiong\r\n - Leon Aves\r\n
|
||||||
|
- Limon Monte\r\n - Lorant Pinter\r\n - Lucien Greathouse\r\n - Luka Hartwig\r\n
|
||||||
|
- Lukas Elmer\r\n - M.Yoshimura\r\n - Maarten Sijm\r\n - Magnus Hiie\r\n - Magnus
|
||||||
|
Kulke\r\n - Manish Bansal\r\n - Manish Giri\r\n - Marcus Noble\r\n - Marin Marinov\r\n
|
||||||
|
- Marius Schulz\r\n - Markus Johnsson\r\n - Markus Wolf\r\n - Martin\r\n - Martin
|
||||||
|
Hiller\r\n - Martin Johns\r\n - Martin Probst\r\n - Martin Vseticka\r\n - Martyn
|
||||||
|
Janes\r\n - Masahiro Wakame\r\n - Mateusz Burzyński\r\n - Matt Bierner\r\n - Matt
|
||||||
|
McCutchen\r\n - Matt Mitchell\r\n - Matthew Aynalem\r\n - Matthew Miller\r\n -
|
||||||
|
Mattias Buelens\r\n - Max Heiber\r\n - Maxwell Paul Brickner\r\n - @meyer\r\n
|
||||||
|
- Micah Zoltu\r\n - @micbou\r\n - Michael\r\n - Michael Crane\r\n - Michael Henderson\r\n
|
||||||
|
- Michael Tamm\r\n - Michael Tang\r\n - Michal Przybys\r\n - Mike Busyrev\r\n
|
||||||
|
- Mike Morearty\r\n - Milosz Piechocki\r\n - Mine Starks\r\n - Minh Nguyen\r\n
|
||||||
|
- Mohamed Hegazy\r\n - Mohsen Azimi\r\n - Mukesh Prasad\r\n - Myles Megyesi\r\n
|
||||||
|
- Nathan Day\r\n - Nathan Fenner\r\n - Nathan Shively-Sanders\r\n - Nathan Yee\r\n
|
||||||
|
- ncoley\r\n - Nicholas Yang\r\n - Nicu Micleușanu\r\n - @nieltg\r\n - Nima Zahedi\r\n
|
||||||
|
- Noah Chen\r\n - Noel Varanda\r\n - Noel Yoo\r\n - Noj Vek\r\n - nrcoley\r\n
|
||||||
|
- Nuno Arruda\r\n - Oleg Mihailik\r\n - Oleksandr Chekhovskyi\r\n - Omer Sheikh\r\n
|
||||||
|
- Orta Therox\r\n - Orta Therox\r\n - Oskar Grunning\r\n - Oskar Segersva¨rd\r\n
|
||||||
|
- Oussama Ben Brahim\r\n - Ozair Patel\r\n - Patrick McCartney\r\n - Patrick Zhong\r\n
|
||||||
|
- Paul Koerbitz\r\n - Paul van Brenk\r\n - @pcbro\r\n - Pedro Maltez\r\n - Pete
|
||||||
|
Bacon Darwin\r\n - Peter Burns\r\n - Peter Šándor\r\n - Philip Pesca\r\n - Philippe
|
||||||
|
Voinov\r\n - Pi Lanningham\r\n - Piero Cangianiello\r\n - Pierre-Antoine Mills\r\n
|
||||||
|
- @piloopin\r\n - Pranav Senthilnathan\r\n - Prateek Goel\r\n - Prateek Nayak\r\n
|
||||||
|
- Prayag Verma\r\n - Priyantha Lankapura\r\n - @progre\r\n - Punya Biswal\r\n
|
||||||
|
- r7kamura\r\n - Rado Kirov\r\n - Raj Dosanjh\r\n - rChaser53\r\n - Reiner Dolp\r\n
|
||||||
|
- Remo H. Jansen\r\n - @rflorian\r\n - Rhys van der Waerden\r\n - @rhysd\r\n -
|
||||||
|
Ricardo N Feliciano\r\n - Richard Karmazín\r\n - Richard Knoll\r\n - Roger Spratley\r\n
|
||||||
|
- Ron Buckton\r\n - Rostislav Galimsky\r\n - Rowan Wyborn\r\n - rpgeeganage\r\n
|
||||||
|
- Ruwan Pradeep Geeganage\r\n - Ryan Cavanaugh\r\n - Ryan Clarke\r\n - Ryohei
|
||||||
|
Ikegami\r\n - Salisbury, Tom\r\n - Sam Bostock\r\n - Sam Drugan\r\n - Sam El-Husseini\r\n
|
||||||
|
- Sam Lanning\r\n - Sangmin Lee\r\n - Sanket Mishra\r\n - Sarangan Rajamanickam\r\n
|
||||||
|
- Sasha Joseph\r\n - Sean Barag\r\n - Sergey Rubanov\r\n - Sergey Shandar\r\n
|
||||||
|
- Sergey Tychinin\r\n - Sergii Bezliudnyi\r\n - Sergio Baidon\r\n - Sharon Rolel\r\n
|
||||||
|
- Sheetal Nandi\r\n - Shengping Zhong\r\n - Sheon Han\r\n - Shyyko Serhiy\r\n
|
||||||
|
- Siddharth Singh\r\n - sisisin\r\n - Slawomir Sadziak\r\n - Solal Pirelli\r\n
|
||||||
|
- Soo Jae Hwang\r\n - Stan Thomas\r\n - Stanislav Iliev\r\n - Stanislav Sysoev\r\n
|
||||||
|
- Stas Vilchik\r\n - Stephan Ginthör\r\n - Steve Lucco\r\n - @styfle\r\n - Sudheesh
|
||||||
|
Singanamalla\r\n - Suhas\r\n - Suhas Deshpande\r\n - superkd37\r\n - Sébastien
|
||||||
|
Arod\r\n - @T18970237136\r\n - @t_\r\n - Tan Li Hau\r\n - Tapan Prakash\r\n -
|
||||||
|
Taras Mankovski\r\n - Tarik Ozket\r\n - Tetsuharu Ohzeki\r\n - The Gitter Badger\r\n
|
||||||
|
- Thomas den Hollander\r\n - Thorsten Ball\r\n - Tien Hoanhtien\r\n - Tim Lancina\r\n
|
||||||
|
- Tim Perry\r\n - Tim Schaub\r\n - Tim Suchanek\r\n - Tim Viiding-Spader\r\n -
|
||||||
|
Tingan Ho\r\n - Titian Cernicova-Dragomir\r\n - tkondo\r\n - Todd Thomson\r\n
|
||||||
|
- togru\r\n - Tom J\r\n - Torben Fitschen\r\n - Toxyxer\r\n - @TravCav\r\n - Troy
|
||||||
|
Tae\r\n - TruongSinh Tran-Nguyen\r\n - Tycho Grouwstra\r\n - uhyo\r\n - Vadi Taslim\r\n
|
||||||
|
- Vakhurin Sergey\r\n - Valera Rozuvan\r\n - Vilic Vane\r\n - Vimal Raghubir\r\n
|
||||||
|
- Vladimir Kurchatkin\r\n - Vladimir Matveev\r\n - Vyacheslav Pukhanov\r\n - Wenlu
|
||||||
|
Wang\r\n - Wes Souza\r\n - Wesley Wigham\r\n - William Orr\r\n - Wilson Hobbs\r\n
|
||||||
|
- xiaofa\r\n - xl1\r\n - Yacine Hmito\r\n - Yang Cao\r\n - York Yao\r\n - @yortus\r\n
|
||||||
|
- Yoshiki Shibukawa\r\n - Yuichi Nukiyama\r\n - Yuval Greenfield\r\n - Yuya Tanaka\r\n
|
||||||
|
- Z\r\n - Zeeshan Ahmed\r\n - Zev Spitz\r\n - Zhengbo Li\r\n - Zixiang Li\r\n
|
||||||
|
- @Zzzen\r\n - 阿卡琳"
|
30
.licenses/npm/undici-types.dep.yml
generated
Normal file
30
.licenses/npm/undici-types.dep.yml
generated
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
name: undici-types
|
||||||
|
version: 5.26.5
|
||||||
|
type: npm
|
||||||
|
summary: A stand-alone types package for Undici
|
||||||
|
homepage: https://undici.nodejs.org
|
||||||
|
license: mit
|
||||||
|
licenses:
|
||||||
|
- sources: Auto-generated MIT license text
|
||||||
|
text: |
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
notices: []
|
|
@ -1,16 +1,16 @@
|
||||||
---
|
---
|
||||||
name: ip-regex
|
name: undici
|
||||||
version: 2.1.0
|
version: 5.28.5
|
||||||
type: npm
|
type: npm
|
||||||
summary: Regular expression for matching IP addresses (IPv4 & IPv6)
|
summary: An HTTP/1.1 client, written from scratch for Node.js
|
||||||
homepage: https://github.com/sindresorhus/ip-regex#readme
|
homepage: https://undici.nodejs.org
|
||||||
license: mit
|
license: mit
|
||||||
licenses:
|
licenses:
|
||||||
- sources: license
|
- sources: LICENSE
|
||||||
text: |
|
text: |
|
||||||
The MIT License (MIT)
|
MIT License
|
||||||
|
|
||||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
Copyright (c) Matteo Collina and Undici contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -19,16 +19,16 @@ licenses:
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
furnished to do so, subject to the following conditions:
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
The above copyright notice and this permission notice shall be included in all
|
||||||
all copies or substantial portions of the Software.
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
THE SOFTWARE.
|
SOFTWARE.
|
||||||
- sources: readme.md
|
- sources: README.md
|
||||||
text: MIT © [Sindre Sorhus](https://sindresorhus.com)
|
text: MIT
|
||||||
notices: []
|
notices: []
|
33
.licenses/npm/universalify.dep.yml
generated
33
.licenses/npm/universalify.dep.yml
generated
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
name: universalify
|
|
||||||
version: 0.1.2
|
|
||||||
type: npm
|
|
||||||
summary: Make a callback- or promise-based function support both promises and callbacks.
|
|
||||||
homepage: https://github.com/RyanZim/universalify#readme
|
|
||||||
license: mit
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
(The MIT License)
|
|
||||||
|
|
||||||
Copyright (c) 2017, Ryan Zimmerman <opensrc@ryanzim.com>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the 'Software'), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
- sources: README.md
|
|
||||||
text: MIT
|
|
||||||
notices: []
|
|
2
.licenses/npm/xml2js.dep.yml
generated
2
.licenses/npm/xml2js.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: xml2js
|
name: xml2js
|
||||||
version: 0.4.23
|
version: 0.5.0
|
||||||
type: npm
|
type: npm
|
||||||
summary: Simple XML to JavaScript object converter.
|
summary: Simple XML to JavaScript object converter.
|
||||||
homepage: https://github.com/Leonidas-from-XIV/node-xml2js
|
homepage: https://github.com/Leonidas-from-XIV/node-xml2js
|
||||||
|
|
2
.licenses/npm/xmlbuilder2.dep.yml
generated
2
.licenses/npm/xmlbuilder2.dep.yml
generated
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
name: xmlbuilder2
|
name: xmlbuilder2
|
||||||
version: 2.4.0
|
version: 2.4.1
|
||||||
type: npm
|
type: npm
|
||||||
summary: An XML builder for node.js
|
summary: An XML builder for node.js
|
||||||
homepage: http://github.com/oozcitak/xmlbuilder2
|
homepage: http://github.com/oozcitak/xmlbuilder2
|
||||||
|
|
26
.licenses/npm/yallist.dep.yml
generated
26
.licenses/npm/yallist.dep.yml
generated
|
@ -1,26 +0,0 @@
|
||||||
---
|
|
||||||
name: yallist
|
|
||||||
version: 4.0.0
|
|
||||||
type: npm
|
|
||||||
summary: Yet Another Linked List
|
|
||||||
homepage: https://github.com/isaacs/yallist#readme
|
|
||||||
license: isc
|
|
||||||
licenses:
|
|
||||||
- sources: LICENSE
|
|
||||||
text: |
|
|
||||||
The ISC License
|
|
||||||
|
|
||||||
Copyright (c) Isaac Z. Schlueter and Contributors
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
||||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
notices: []
|
|
7
.prettierignore
Normal file
7
.prettierignore
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Ignore list
|
||||||
|
/*
|
||||||
|
|
||||||
|
# Do not ignore these folders:
|
||||||
|
!__tests__/
|
||||||
|
!.github/
|
||||||
|
!src/
|
11
.prettierrc.js
Normal file
11
.prettierrc.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// This is a reusable configuration file copied from https://github.com/actions/reusable-workflows/tree/main/reusable-configurations. Please don't make changes to this file as it's the subject of an automatic update.
|
||||||
|
module.exports = {
|
||||||
|
printWidth: 80,
|
||||||
|
tabWidth: 2,
|
||||||
|
useTabs: false,
|
||||||
|
semi: true,
|
||||||
|
singleQuote: true,
|
||||||
|
trailingComma: 'none',
|
||||||
|
bracketSpacing: false,
|
||||||
|
arrowParens: 'avoid'
|
||||||
|
};
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"printWidth": 100,
|
|
||||||
"tabWidth": 2,
|
|
||||||
"useTabs": false,
|
|
||||||
"semi": true,
|
|
||||||
"singleQuote": true,
|
|
||||||
"trailingComma": "none",
|
|
||||||
"bracketSpacing": true,
|
|
||||||
"arrowParens": "avoid",
|
|
||||||
"parser": "typescript"
|
|
||||||
}
|
|
76
CODE_OF_CONDUCT.md
Normal file
76
CODE_OF_CONDUCT.md
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to make participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||||
|
level of experience, education, socio-economic status, nationality, personal
|
||||||
|
appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment
|
||||||
|
include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or
|
||||||
|
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||||
|
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||||
|
permanently any contributor for other behaviors that they deem inappropriate,
|
||||||
|
threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies within all project spaces, and it also applies when
|
||||||
|
an individual is representing the project or its community in public spaces.
|
||||||
|
Examples of representing a project or community include using an official
|
||||||
|
project e-mail address, posting via an official social media account, or acting
|
||||||
|
as an appointed representative at an online or offline event. Representation of
|
||||||
|
a project may be further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting the project team at opensource+actions/setup-java@github.com. All
|
||||||
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||||
|
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see
|
||||||
|
https://www.contributor-covenant.org/faq
|
|
@ -1,38 +0,0 @@
|
||||||
# Contributors
|
|
||||||
|
|
||||||
### Checkin
|
|
||||||
|
|
||||||
- Do checkin source (src)
|
|
||||||
- Do checkin a single index.js file after running `ncc`
|
|
||||||
- Do not checking node_modules
|
|
||||||
|
|
||||||
### NCC
|
|
||||||
|
|
||||||
In order to avoid uploading `node_modules` to the repository, we use [zeit/ncc](https://github.com/zeit/ncc) to create multiple `index.js` files that gets saved under `dist/`.
|
|
||||||
There are two main files that get created
|
|
||||||
- `dist/setup/index.js`
|
|
||||||
- Core `setup-java` logic that downloads and installs an appropriate version of Java
|
|
||||||
- Handling creating a `settings.xml` file to make it easier to publish packages
|
|
||||||
- `dist/cleanup/index/js`
|
|
||||||
- Extra cleanup script that is used to remove GPG keys (needed for certain self-hosted runner scenarios)
|
|
||||||
|
|
||||||
If you're developing locally, after doing `npm install`, you can use the following commands
|
|
||||||
```yaml
|
|
||||||
npm run build # runs tsc along with ncc
|
|
||||||
npm run format # runs prettier --write
|
|
||||||
npm run format-check # runs prettier --check
|
|
||||||
npm run test # runs jest
|
|
||||||
npm run release # add all the necessary ncc files under dist/* to the git staging area
|
|
||||||
```
|
|
||||||
|
|
||||||
Any files generated using `tsc` will be added to `lib/*`, however those files also are not uploaded to the repository and are excluded using `.gitignore`.
|
|
||||||
|
|
||||||
### Testing
|
|
||||||
|
|
||||||
Tests are included under `_tests_/*` and can be run using `npm run-script test`.
|
|
||||||
|
|
||||||
We ask that you include a link to a successful run that utilizes the changes you are working on. For example, if your changes are in the branch `newAwesomeFeature`, then show an example run that uses `setup-python@newAwesomeFeature` or `my-fork@newAwesomeFeature`. This will help speed up testing and help us confirm that there are no breaking changes or bugs.
|
|
||||||
|
|
||||||
### Licensed
|
|
||||||
|
|
||||||
This repository uses a tool called [Licensed](https://github.com/github/licensed) to verify third party dependencies. You may need to locally install licensed and run `licensed cache` to update the dependency cache if you install or update a production dependency. If licensed cache is unable to determine the dependency, you may need to modify the cache file yourself to put the correct license. You should still verify the dependency, licensed is a tool to help, but is not a substitute for human review of dependencies.
|
|
238
README.md
238
README.md
|
@ -1,74 +1,133 @@
|
||||||
# setup-java
|
# Setup Java
|
||||||
|
|
||||||
<p align="left">
|
[](https://github.com/actions/setup-java/actions/workflows/basic-validation.yml)
|
||||||
<a href="https://github.com/actions/setup-java"><img alt="GitHub Actions status" src="https://github.com/actions/setup-java/workflows/Main%20workflow/badge.svg"></a>
|
[](https://github.com/actions/setup-java/actions/workflows/e2e-versions.yml)
|
||||||
</p>
|
[](https://github.com/actions/setup-java/actions/workflows/e2e-cache.yml)
|
||||||
|
|
||||||
This action provides the following functionality for GitHub Actions runners:
|
The `setup-java` action provides the following functionality for GitHub Actions runners:
|
||||||
- Downloading and setting up a requested version of Java. See [Usage](#Usage) for a list of supported distributions
|
- Downloading and setting up a requested version of Java. See [Usage](#usage) for a list of supported distributions.
|
||||||
- Extracting and caching custom version of Java from a local file
|
- Extracting and caching custom version of Java from a local file.
|
||||||
- Configuring runner for publishing using Apache Maven
|
- Configuring runner for publishing using Apache Maven.
|
||||||
- Configuring runner for publishing using Gradle
|
- Configuring runner for publishing using Gradle.
|
||||||
- Configuring runner for using GPG private key
|
- Configuring runner for using GPG private key.
|
||||||
- Registering problem matchers for error output
|
- Registering problem matchers for error output.
|
||||||
- Caching dependencies managed by Apache Maven
|
- Caching dependencies managed by Apache Maven.
|
||||||
- Caching dependencies managed by Gradle
|
- Caching dependencies managed by Gradle.
|
||||||
|
- Caching dependencies managed by sbt.
|
||||||
|
- [Maven Toolchains declaration](https://maven.apache.org/guides/mini/guide-using-toolchains.html) for specified JDK versions.
|
||||||
|
|
||||||
|
This action allows you to work with Java and Scala projects.
|
||||||
|
|
||||||
## V2 vs V1
|
## V2 vs V1
|
||||||
- V2 supports custom distributions and provides support for Zulu OpenJDK, Eclipse Temurin and Adopt OpenJDK out of the box. V1 supports only Zulu OpenJDK
|
|
||||||
- V2 requires you to specify distribution along with the version. V1 defaults to Zulu OpenJDK, only version input is required. Follow [the migration guide](docs/switching-to-v2.md) to switch from V1 to V2
|
- V2 supports custom distributions and provides support for Azul Zulu OpenJDK, Eclipse Temurin and AdoptOpenJDK out of the box. V1 supports only Azul Zulu OpenJDK.
|
||||||
|
- V2 requires you to specify distribution along with the version. V1 defaults to Azul Zulu OpenJDK, only version input is required. Follow [the migration guide](docs/switching-to-v2.md) to switch from V1 to V2.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
Inputs `java-version` and `distribution` are mandatory. See [Supported distributions](#supported-distributions) section for a list of available options.
|
|
||||||
|
|
||||||
### Basic
|
- `java-version`: The Java version that is going to be set up. Takes a whole or [semver](#supported-version-syntax) Java version. If not specified, the action will expect `java-version-file` input to be specified.
|
||||||
**Eclipse Temurin**
|
|
||||||
|
- `java-version-file`: The path to a file containing java version. Supported file types are `.java-version` and `.tool-versions`. See more details in [about .java-version-file](docs/advanced-usage.md#Java-version-file).
|
||||||
|
|
||||||
|
- `distribution`: _(required)_ Java [distribution](#supported-distributions).
|
||||||
|
|
||||||
|
- `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. Default value: `jdk`.
|
||||||
|
|
||||||
|
- `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine.
|
||||||
|
|
||||||
|
- `jdkFile`: If a use-case requires a custom distribution setup-java uses the compressed JDK from the location pointed by this input and will take care of the installation and caching on the VM.
|
||||||
|
|
||||||
|
- `check-latest`: Setting this option makes the action to check for the latest available version for the version spec.
|
||||||
|
|
||||||
|
- `cache`: Quick [setup caching](#caching-packages-dependencies) for the dependencies managed through one of the predefined package managers. It can be one of "maven", "gradle" or "sbt".
|
||||||
|
|
||||||
|
- `cache-dependency-path`: The path to a dependency file: pom.xml, build.gradle, build.sbt, etc. This option can be used with the `cache` option. If this option is omitted, the action searches for the dependency file in the entire repository. This option supports wildcards and a list of file names for caching multiple dependencies.
|
||||||
|
|
||||||
|
#### Maven options
|
||||||
|
The action has a bunch of inputs to generate maven's [settings.xml](https://maven.apache.org/settings.html) on the fly and pass the values to Apache Maven GPG Plugin as well as Apache Maven Toolchains. See [advanced usage](docs/advanced-usage.md) for more.
|
||||||
|
|
||||||
|
- `overwrite-settings`: By default action overwrites the settings.xml. In order to skip generation of file if it exists, set this to `false`.
|
||||||
|
|
||||||
|
- `server-id`: ID of the distributionManagement repository in the pom.xml file. Default is `github`.
|
||||||
|
|
||||||
|
- `server-username`: Environment variable name for the username for authentication to the Apache Maven repository. Default is GITHUB_ACTOR.
|
||||||
|
|
||||||
|
- `server-password`: Environment variable name for password or token for authentication to the Apache Maven repository. Default is GITHUB_TOKEN.
|
||||||
|
|
||||||
|
- `settings-path`: Maven related setting to point to the directory where the settings.xml file will be written. Default is ~/.m2.
|
||||||
|
|
||||||
|
- `gpg-private-key`: GPG private key to import. Default is empty string.
|
||||||
|
|
||||||
|
- `gpg-passphrase`: Environment variable name for the GPG private key passphrase. Default is GPG_PASSPHRASE.
|
||||||
|
|
||||||
|
- `mvn-toolchain-id`: Name of Maven Toolchain ID if the default name of `${distribution}_${java-version}` is not wanted.
|
||||||
|
|
||||||
|
- `mvn-toolchain-vendor`: Name of Maven Toolchain Vendor if the default name of `${distribution}` is not wanted.
|
||||||
|
|
||||||
|
### Basic Configuration
|
||||||
|
|
||||||
|
#### Eclipse Temurin
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-java@v3
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '17'
|
java-version: '21'
|
||||||
- run: java -cp java HelloWorldApp
|
- run: java HelloWorldApp.java
|
||||||
```
|
```
|
||||||
|
|
||||||
**Zulu OpenJDK**
|
#### Azul Zulu OpenJDK
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-java@v3
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'zulu' # See 'Supported distributions' for available options
|
distribution: 'zulu' # See 'Supported distributions' for available options
|
||||||
java-version: '11'
|
java-version: '21'
|
||||||
- run: java -cp java HelloWorldApp
|
- run: java HelloWorldApp.java
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Supported version syntax
|
#### Supported version syntax
|
||||||
The `java-version` input supports an exact version or a version range using [SemVer](https://semver.org/) notation:
|
The `java-version` input supports an exact version or a version range using [SemVer](https://semver.org/) notation:
|
||||||
- major versions: `8`, `11`, `16`, `17`
|
- major versions: `8`, `11`, `16`, `17`, `21`
|
||||||
- more specific versions: `17.0`, `11.0`, `11.0.4`, `8.0.232`, `8.0.282+8`
|
- more specific versions: `8.0.282+8`, `8.0.232`, `11.0`, `11.0.4`, `17.0`
|
||||||
- early access (EA) versions: `15-ea`, `15.0.0-ea`, `15.0.0-ea.2`, `15.0.0+2-ea`
|
- early access (EA) versions: `15-ea`, `15.0.0-ea`
|
||||||
|
|
||||||
#### Supported distributions
|
#### Supported distributions
|
||||||
Currently, the following distributions are supported:
|
Currently, the following distributions are supported:
|
||||||
| Keyword | Distribution | Official site | License
|
| Keyword | Distribution | Official site | License
|
||||||
|-|-|-|-|
|
|-|-|-|-|
|
||||||
| `temurin` | Eclipse Temurin | [Link](https://adoptium.net/) | [Link](https://adoptium.net/about.html)
|
| `temurin` | Eclipse Temurin | [Link](https://adoptium.net/) | [Link](https://adoptium.net/about.html)
|
||||||
| `zulu` | Zulu OpenJDK | [Link](https://www.azul.com/downloads/zulu-community/?package=jdk) | [Link](https://www.azul.com/products/zulu-and-zulu-enterprise/zulu-terms-of-use/) |
|
| `zulu` | Azul Zulu OpenJDK | [Link](https://www.azul.com/downloads/zulu-community/?package=jdk) | [Link](https://www.azul.com/products/zulu-and-zulu-enterprise/zulu-terms-of-use/) |
|
||||||
| `adopt` or `adopt-hotspot` | Adopt OpenJDK Hotspot | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html) |
|
| `adopt` or `adopt-hotspot` | AdoptOpenJDK Hotspot | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html) |
|
||||||
| `adopt-openj9` | Adopt OpenJDK OpenJ9 | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html) |
|
| `adopt-openj9` | AdoptOpenJDK OpenJ9 | [Link](https://adoptopenjdk.net/) | [Link](https://adoptopenjdk.net/about.html) |
|
||||||
| `liberica` | Liberica JDK | [Link](https://bell-sw.com/) | [Link](https://bell-sw.com/liberica_eula/) |
|
| `liberica` | Liberica JDK | [Link](https://bell-sw.com/) | [Link](https://bell-sw.com/liberica_eula/) |
|
||||||
| `microsoft` | Microsoft Build of OpenJDK | [Link](https://www.microsoft.com/openjdk) | [Link](https://docs.microsoft.com/java/openjdk/faq)
|
| `microsoft` | Microsoft Build of OpenJDK | [Link](https://www.microsoft.com/openjdk) | [Link](https://docs.microsoft.com/java/openjdk/faq)
|
||||||
|
| `corretto` | Amazon Corretto Build of OpenJDK | [Link](https://aws.amazon.com/corretto/) | [Link](https://aws.amazon.com/corretto/faqs/)
|
||||||
|
| `semeru` | IBM Semeru Runtime Open Edition | [Link](https://developer.ibm.com/languages/java/semeru-runtimes/downloads/) | [Link](https://openjdk.java.net/legal/gplv2+ce.html) |
|
||||||
|
| `oracle` | Oracle JDK | [Link](https://www.oracle.com/java/technologies/downloads/) | [Link](https://java.com/freeuselicense)
|
||||||
|
| `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)
|
||||||
|
| `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.
|
||||||
|
|
||||||
**NOTE:** Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` to `temurin` to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
|
**NOTE:** AdoptOpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from `adopt` and `adopt-openj9`, to `temurin` and `semeru` respectively, to keep receiving software and security updates. See more details in the [Good-bye AdoptOpenJDK post](https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/).
|
||||||
|
|
||||||
|
**NOTE:** For Azul Zulu OpenJDK architectures x64 and arm64 are mapped to x86 / arm with proper hw_bitness.
|
||||||
|
|
||||||
|
**NOTE:** To comply with the GraalVM Free Terms and Conditions (GFTC) license, it is recommended to use GraalVM JDK 17 version 17.0.12, as this is the only version of GraalVM JDK 17 available under the GFTC license. Additionally, it is encouraged to consider upgrading to GraalVM JDK 21, which offers the latest features and improvements.
|
||||||
|
|
||||||
### Caching packages dependencies
|
### Caching packages dependencies
|
||||||
The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle and maven. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files:
|
The action has a built-in functionality for caching and restoring dependencies. It uses [toolkit/cache](https://github.com/actions/toolkit/tree/main/packages/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files:
|
||||||
- gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`
|
|
||||||
|
- gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`, `buildSrc/**/Versions.kt`, `buildSrc/**/Dependencies.kt`, `gradle/*.versions.toml`, and `**/versions.properties`
|
||||||
- maven: `**/pom.xml`
|
- maven: `**/pom.xml`
|
||||||
|
- sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.scala`, `**/project/**.sbt`
|
||||||
|
|
||||||
|
When the option `cache-dependency-path` is specified, the hash is based on the matching file. This option supports wildcards and a list of file names, and is especially useful for monorepos.
|
||||||
|
|
||||||
The workflow output `cache-hit` is set to indicate if an exact match was found for the key [as actions/cache does](https://github.com/actions/cache/tree/main#outputs).
|
The workflow output `cache-hit` is set to indicate if an exact match was found for the key [as actions/cache does](https://github.com/actions/cache/tree/main#outputs).
|
||||||
|
|
||||||
|
@ -77,29 +136,66 @@ The cache input is optional, and caching is turned off by default.
|
||||||
#### Caching gradle dependencies
|
#### Caching gradle dependencies
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-java@v3
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '21'
|
||||||
cache: 'gradle'
|
cache: 'gradle'
|
||||||
|
cache-dependency-path: | # optional
|
||||||
|
sub-project/*.gradle*
|
||||||
|
sub-project/**/gradle-wrapper.properties
|
||||||
- run: ./gradlew build --no-daemon
|
- run: ./gradlew build --no-daemon
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Caching maven dependencies
|
#### Caching maven dependencies
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-java@v3
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '21'
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
|
cache-dependency-path: 'sub-project/pom.xml' # optional
|
||||||
- name: Build with Maven
|
- name: Build with Maven
|
||||||
run: mvn -B package --file pom.xml
|
run: mvn -B package --file pom.xml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Caching sbt dependencies
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '21'
|
||||||
|
cache: 'sbt'
|
||||||
|
cache-dependency-path: | # optional
|
||||||
|
sub-project/build.sbt
|
||||||
|
sub-project/project/build.properties
|
||||||
|
- name: Build with SBT
|
||||||
|
run: sbt package
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Cache segment restore timeout
|
||||||
|
Usually, cache gets downloaded in multiple segments of fixed sizes. Sometimes, a segment download gets stuck, which causes the workflow job to be stuck. The cache segment download timeout [was introduced](https://github.com/actions/toolkit/tree/main/packages/cache#cache-segment-restore-timeout) to solve this issue as it allows the segment download to get aborted and hence allows the job to proceed with a cache miss. The default value of the cache segment download timeout is set to 10 minutes and can be customized by specifying an environment variable named `SEGMENT_DOWNLOAD_TIMEOUT_MINS` with a timeout value in minutes.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
env:
|
||||||
|
SEGMENT_DOWNLOAD_TIMEOUT_MINS: '5'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
distribution: 'temurin'
|
||||||
|
java-version: '21'
|
||||||
|
cache: 'gradle'
|
||||||
|
- run: ./gradlew build --no-daemon
|
||||||
|
```
|
||||||
|
|
||||||
### Check latest
|
### Check latest
|
||||||
|
|
||||||
In the basic examples above, the `check-latest` flag defaults to `false`. When set to `false`, the action tries to first resolve a version of Java from the local tool cache on the runner. If unable to find a specific version in the cache, the action will download a version of Java. Use the default or set `check-latest` to `false` if you prefer a faster more consistent setup experience that prioritizes trying to use the cached versions at the expense of newer versions sometimes being available for download.
|
In the basic examples above, the `check-latest` flag defaults to `false`. When set to `false`, the action tries to first resolve a version of Java from the local tool cache on the runner. If unable to find a specific version in the cache, the action will download a version of Java. Use the default or set `check-latest` to `false` if you prefer a faster more consistent setup experience that prioritizes trying to use the cached versions at the expense of newer versions sometimes being available for download.
|
||||||
|
|
||||||
If `check-latest` is set to `true`, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the latest version of Java will be downloaded. Set `check-latest` to `true` if you want the most up-to-date version of Java to always be used. Setting `check-latest` to `true` has performance implications as downloading versions of Java is slower than using cached versions.
|
If `check-latest` is set to `true`, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, the latest version of Java will be downloaded. Set `check-latest` to `true` if you want the most up-to-date version of Java to always be used. Setting `check-latest` to `true` has performance implications as downloading versions of Java is slower than using cached versions.
|
||||||
|
@ -109,13 +205,13 @@ For Java distributions that are not cached on Hosted images, `check-latest` alwa
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-java@v3
|
- uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'adopt'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '21'
|
||||||
check-latest: true
|
check-latest: true
|
||||||
- run: java -cp java HelloWorldApp
|
- run: java HelloWorldApp.java
|
||||||
```
|
```
|
||||||
|
|
||||||
### Testing against different Java versions
|
### Testing against different Java versions
|
||||||
|
@ -125,24 +221,49 @@ jobs:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
java: [ '8', '11', '13', '15' ]
|
java: [ '8', '11', '17', '21' ]
|
||||||
name: Java ${{ matrix.Java }} sample
|
name: Java ${{ matrix.Java }} sample
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Setup java
|
- name: Setup java
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: '<distribution>'
|
distribution: '<distribution>'
|
||||||
java-version: ${{ matrix.java }}
|
java-version: ${{ matrix.java }}
|
||||||
- run: java -cp java HelloWorldApp
|
- run: java HelloWorldApp.java
|
||||||
```
|
```
|
||||||
|
|
||||||
### Advanced
|
### Install multiple JDKs
|
||||||
|
|
||||||
|
All versions are added to the PATH. The last version will be used and available globally. Other Java versions can be accessed through env variables with such specification as 'JAVA_HOME_{{ MAJOR_VERSION }}_{{ ARCHITECTURE }}'.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
steps:
|
||||||
|
- uses: actions/setup-java@v4
|
||||||
|
with:
|
||||||
|
distribution: '<distribution>'
|
||||||
|
java-version: |
|
||||||
|
8
|
||||||
|
11
|
||||||
|
15
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using Maven Toolchains
|
||||||
|
In the example above multiple JDKs are installed for the same job. The result after the last JDK is installed is a Maven Toolchains declaration containing references to all three JDKs. The values for `id`, `version`, and `vendor` of the individual Toolchain entries are the given input values for `distribution` and `java-version` (`vendor` being the combination of `${distribution}_${java-version}`) by default.
|
||||||
|
|
||||||
|
### Advanced Configuration
|
||||||
|
|
||||||
- [Selecting a Java distribution](docs/advanced-usage.md#Selecting-a-Java-distribution)
|
- [Selecting a Java distribution](docs/advanced-usage.md#Selecting-a-Java-distribution)
|
||||||
- [Eclipse Temurin](docs/advanced-usage.md#Eclipse-Temurin)
|
- [Eclipse Temurin](docs/advanced-usage.md#Eclipse-Temurin)
|
||||||
- [Adopt](docs/advanced-usage.md#Adopt)
|
- [Adopt](docs/advanced-usage.md#Adopt)
|
||||||
- [Zulu](docs/advanced-usage.md#Zulu)
|
- [Zulu](docs/advanced-usage.md#Zulu)
|
||||||
- [Liberica](docs/advanced-usage.md#Liberica)
|
- [Liberica](docs/advanced-usage.md#Liberica)
|
||||||
|
- [Microsoft](docs/advanced-usage.md#Microsoft)
|
||||||
|
- [Amazon Corretto](docs/advanced-usage.md#Amazon-Corretto)
|
||||||
|
- [Oracle](docs/advanced-usage.md#Oracle)
|
||||||
|
- [Alibaba Dragonwell](docs/advanced-usage.md#Alibaba-Dragonwell)
|
||||||
|
- [SapMachine](docs/advanced-usage.md#SapMachine)
|
||||||
|
- [GraalVM](docs/advanced-usage.md#GraalVM)
|
||||||
- [Installing custom Java package type](docs/advanced-usage.md#Installing-custom-Java-package-type)
|
- [Installing custom Java package type](docs/advanced-usage.md#Installing-custom-Java-package-type)
|
||||||
- [Installing custom Java architecture](docs/advanced-usage.md#Installing-custom-Java-architecture)
|
- [Installing custom Java architecture](docs/advanced-usage.md#Installing-custom-Java-architecture)
|
||||||
- [Installing custom Java distribution from local file](docs/advanced-usage.md#Installing-Java-from-local-file)
|
- [Installing custom Java distribution from local file](docs/advanced-usage.md#Installing-Java-from-local-file)
|
||||||
|
@ -151,6 +272,17 @@ jobs:
|
||||||
- [Publishing using Apache Maven](docs/advanced-usage.md#Publishing-using-Apache-Maven)
|
- [Publishing using Apache Maven](docs/advanced-usage.md#Publishing-using-Apache-Maven)
|
||||||
- [Publishing using Gradle](docs/advanced-usage.md#Publishing-using-Gradle)
|
- [Publishing using Gradle](docs/advanced-usage.md#Publishing-using-Gradle)
|
||||||
- [Hosted Tool Cache](docs/advanced-usage.md#Hosted-Tool-Cache)
|
- [Hosted Tool Cache](docs/advanced-usage.md#Hosted-Tool-Cache)
|
||||||
|
- [Modifying Maven Toolchains](docs/advanced-usage.md#Modifying-Maven-Toolchains)
|
||||||
|
- [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
|
||||||
|
|
||||||
|
@ -158,4 +290,4 @@ The scripts and documentation in this project are released under the [MIT Licens
|
||||||
|
|
||||||
## Contributions
|
## Contributions
|
||||||
|
|
||||||
Contributions are welcome! See [Contributor's Guide](CONTRIBUTING.md)
|
Contributions are welcome! See [Contributor's Guide](docs/contributors.md)
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
import io = require('@actions/io');
|
import * as io from '@actions/io';
|
||||||
import fs = require('fs');
|
|
||||||
import path = require('path');
|
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
import * as fs from 'fs';
|
||||||
|
import * as path from 'path';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
|
|
||||||
import * as auth from '../src/auth';
|
import * as auth from '../src/auth';
|
||||||
|
import {M2_DIR, MVN_SETTINGS_FILE} from '../src/constants';
|
||||||
|
|
||||||
const m2Dir = path.join(__dirname, auth.M2_DIR);
|
const m2Dir = path.join(__dirname, M2_DIR);
|
||||||
const settingsFile = path.join(m2Dir, auth.SETTINGS_FILE);
|
const settingsFile = path.join(m2Dir, MVN_SETTINGS_FILE);
|
||||||
|
|
||||||
describe('auth tests', () => {
|
describe('auth tests', () => {
|
||||||
let spyOSHomedir: jest.SpyInstance;
|
let spyOSHomedir: jest.SpyInstance;
|
||||||
|
@ -38,10 +39,16 @@ describe('auth tests', () => {
|
||||||
const password = 'TOLKIEN';
|
const password = 'TOLKIEN';
|
||||||
|
|
||||||
const altHome = path.join(__dirname, 'runner', 'settings');
|
const altHome = path.join(__dirname, 'runner', 'settings');
|
||||||
const altSettingsFile = path.join(altHome, auth.SETTINGS_FILE);
|
const altSettingsFile = path.join(altHome, MVN_SETTINGS_FILE);
|
||||||
await io.rmRF(altHome); // ensure it doesn't already exist
|
await io.rmRF(altHome); // ensure it doesn't already exist
|
||||||
|
|
||||||
await auth.createAuthenticationSettings(id, username, password, altHome, true);
|
await auth.createAuthenticationSettings(
|
||||||
|
id,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
altHome,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
expect(fs.existsSync(m2Dir)).toBe(false);
|
expect(fs.existsSync(m2Dir)).toBe(false);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(false);
|
expect(fs.existsSync(settingsFile)).toBe(false);
|
||||||
|
@ -60,11 +67,19 @@ describe('auth tests', () => {
|
||||||
const username = 'UNAME';
|
const username = 'UNAME';
|
||||||
const password = 'TOKEN';
|
const password = 'TOKEN';
|
||||||
|
|
||||||
await auth.createAuthenticationSettings(id, username, password, m2Dir, true);
|
await auth.createAuthenticationSettings(
|
||||||
|
id,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
m2Dir,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
expect(fs.readFileSync(settingsFile, 'utf-8')).toEqual(auth.generate(id, username, password));
|
expect(fs.readFileSync(settingsFile, 'utf-8')).toEqual(
|
||||||
|
auth.generate(id, username, password)
|
||||||
|
);
|
||||||
}, 100000);
|
}, 100000);
|
||||||
|
|
||||||
it('creates settings.xml with additional configuration', async () => {
|
it('creates settings.xml with additional configuration', async () => {
|
||||||
|
@ -73,7 +88,14 @@ describe('auth tests', () => {
|
||||||
const password = 'TOKEN';
|
const password = 'TOKEN';
|
||||||
const gpgPassphrase = 'GPG';
|
const gpgPassphrase = 'GPG';
|
||||||
|
|
||||||
await auth.createAuthenticationSettings(id, username, password, m2Dir, true, gpgPassphrase);
|
await auth.createAuthenticationSettings(
|
||||||
|
id,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
m2Dir,
|
||||||
|
true,
|
||||||
|
gpgPassphrase
|
||||||
|
);
|
||||||
|
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
|
@ -87,16 +109,24 @@ describe('auth tests', () => {
|
||||||
const username = 'USERNAME';
|
const username = 'USERNAME';
|
||||||
const password = 'PASSWORD';
|
const password = 'PASSWORD';
|
||||||
|
|
||||||
fs.mkdirSync(m2Dir, { recursive: true });
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
fs.writeFileSync(settingsFile, 'FAKE FILE');
|
fs.writeFileSync(settingsFile, 'FAKE FILE');
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
|
|
||||||
await auth.createAuthenticationSettings(id, username, password, m2Dir, true);
|
await auth.createAuthenticationSettings(
|
||||||
|
id,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
m2Dir,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
expect(fs.readFileSync(settingsFile, 'utf-8')).toEqual(auth.generate(id, username, password));
|
expect(fs.readFileSync(settingsFile, 'utf-8')).toEqual(
|
||||||
|
auth.generate(id, username, password)
|
||||||
|
);
|
||||||
}, 100000);
|
}, 100000);
|
||||||
|
|
||||||
it('does not overwrite existing settings.xml files', async () => {
|
it('does not overwrite existing settings.xml files', async () => {
|
||||||
|
@ -104,12 +134,18 @@ describe('auth tests', () => {
|
||||||
const username = 'USERNAME';
|
const username = 'USERNAME';
|
||||||
const password = 'PASSWORD';
|
const password = 'PASSWORD';
|
||||||
|
|
||||||
fs.mkdirSync(m2Dir, { recursive: true });
|
fs.mkdirSync(m2Dir, {recursive: true});
|
||||||
fs.writeFileSync(settingsFile, 'FAKE FILE');
|
fs.writeFileSync(settingsFile, 'FAKE FILE');
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
|
|
||||||
await auth.createAuthenticationSettings(id, username, password, m2Dir, false);
|
await auth.createAuthenticationSettings(
|
||||||
|
id,
|
||||||
|
username,
|
||||||
|
password,
|
||||||
|
m2Dir,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
expect(fs.existsSync(m2Dir)).toBe(true);
|
expect(fs.existsSync(m2Dir)).toBe(true);
|
||||||
expect(fs.existsSync(settingsFile)).toBe(true);
|
expect(fs.existsSync(settingsFile)).toBe(true);
|
||||||
|
@ -158,6 +194,8 @@ describe('auth tests', () => {
|
||||||
</servers>
|
</servers>
|
||||||
</settings>`;
|
</settings>`;
|
||||||
|
|
||||||
expect(auth.generate(id, username, password, gpgPassphrase)).toEqual(expectedSettings);
|
expect(auth.generate(id, username, password, gpgPassphrase)).toEqual(
|
||||||
|
expectedSettings
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import { mkdtempSync } from 'fs';
|
import {mkdtempSync} from 'fs';
|
||||||
import { tmpdir } from 'os';
|
import {tmpdir} from 'os';
|
||||||
import { join } from 'path';
|
import {join} from 'path';
|
||||||
import { restore, save } from '../src/cache';
|
import {restore, save} from '../src/cache';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as cache from '@actions/cache';
|
import * as cache from '@actions/cache';
|
||||||
|
import * as glob from '@actions/glob';
|
||||||
|
|
||||||
describe('dependency cache', () => {
|
describe('dependency cache', () => {
|
||||||
const ORIGINAL_RUNNER_OS = process.env['RUNNER_OS'];
|
const ORIGINAL_RUNNER_OS = process.env['RUNNER_OS'];
|
||||||
|
@ -64,21 +65,30 @@ describe('dependency cache', () => {
|
||||||
ReturnType<typeof cache.restoreCache>,
|
ReturnType<typeof cache.restoreCache>,
|
||||||
Parameters<typeof cache.restoreCache>
|
Parameters<typeof cache.restoreCache>
|
||||||
>;
|
>;
|
||||||
|
let spyGlobHashFiles: jest.SpyInstance<
|
||||||
|
ReturnType<typeof glob.hashFiles>,
|
||||||
|
Parameters<typeof glob.hashFiles>
|
||||||
|
>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyCacheRestore = jest
|
spyCacheRestore = jest
|
||||||
.spyOn(cache, 'restoreCache')
|
.spyOn(cache, 'restoreCache')
|
||||||
.mockImplementation((paths: string[], primaryKey: string) => Promise.resolve(undefined));
|
.mockImplementation((paths: string[], primaryKey: string) =>
|
||||||
|
Promise.resolve(undefined)
|
||||||
|
);
|
||||||
|
spyGlobHashFiles = jest.spyOn(glob, 'hashFiles');
|
||||||
spyWarning.mockImplementation(() => null);
|
spyWarning.mockImplementation(() => null);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('throws error if unsupported package manager specified', () => {
|
it('throws error if unsupported package manager specified', () => {
|
||||||
return expect(restore('ant')).rejects.toThrowError('unknown package manager specified: ant');
|
return expect(restore('ant', '')).rejects.toThrow(
|
||||||
|
'unknown package manager specified: ant'
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('for maven', () => {
|
describe('for maven', () => {
|
||||||
it('throws error if no pom.xml found', async () => {
|
it('throws error if no pom.xml found', async () => {
|
||||||
await expect(restore('maven')).rejects.toThrowError(
|
await expect(restore('maven', '')).rejects.toThrow(
|
||||||
`No file in ${projectRoot(
|
`No file in ${projectRoot(
|
||||||
workspace
|
workspace
|
||||||
)} matched to [**/pom.xml], make sure you have checked out the target repository`
|
)} matched to [**/pom.xml], make sure you have checked out the target repository`
|
||||||
|
@ -87,35 +97,160 @@ describe('dependency cache', () => {
|
||||||
it('downloads cache', async () => {
|
it('downloads cache', async () => {
|
||||||
createFile(join(workspace, 'pom.xml'));
|
createFile(join(workspace, 'pom.xml'));
|
||||||
|
|
||||||
await restore('maven');
|
await restore('maven', '');
|
||||||
expect(spyCacheRestore).toBeCalled();
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyGlobHashFiles).toHaveBeenCalledWith('**/pom.xml');
|
||||||
expect(spyInfo).toBeCalledWith('maven cache is not found');
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('maven cache is not found');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('for gradle', () => {
|
describe('for gradle', () => {
|
||||||
it('throws error if no build.gradle found', async () => {
|
it('throws error if no build.gradle found', async () => {
|
||||||
await expect(restore('gradle')).rejects.toThrowError(
|
await expect(restore('gradle', '')).rejects.toThrow(
|
||||||
`No file in ${projectRoot(
|
`No file in ${projectRoot(
|
||||||
workspace
|
workspace
|
||||||
)} matched to [**/*.gradle*,**/gradle-wrapper.properties], make sure you have checked out the target repository`
|
)} matched to [**/*.gradle*,**/gradle-wrapper.properties,buildSrc/**/Versions.kt,buildSrc/**/Dependencies.kt,gradle/*.versions.toml,**/versions.properties], make sure you have checked out the target repository`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
it('downloads cache based on build.gradle', async () => {
|
it('downloads cache based on build.gradle', async () => {
|
||||||
createFile(join(workspace, 'build.gradle'));
|
createFile(join(workspace, 'build.gradle'));
|
||||||
|
|
||||||
await restore('gradle');
|
await restore('gradle', '');
|
||||||
expect(spyCacheRestore).toBeCalled();
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
expect(spyInfo).toBeCalledWith('gradle cache is not found');
|
'**/*.gradle*\n**/gradle-wrapper.properties\nbuildSrc/**/Versions.kt\nbuildSrc/**/Dependencies.kt\ngradle/*.versions.toml\n**/versions.properties'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
});
|
});
|
||||||
it('downloads cache based on build.gradle.kts', async () => {
|
it('downloads cache based on build.gradle.kts', async () => {
|
||||||
createFile(join(workspace, 'build.gradle.kts'));
|
createFile(join(workspace, 'build.gradle.kts'));
|
||||||
|
|
||||||
await restore('gradle');
|
await restore('gradle', '');
|
||||||
expect(spyCacheRestore).toBeCalled();
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
expect(spyInfo).toBeCalledWith('gradle cache is not found');
|
'**/*.gradle*\n**/gradle-wrapper.properties\nbuildSrc/**/Versions.kt\nbuildSrc/**/Dependencies.kt\ngradle/*.versions.toml\n**/versions.properties'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
});
|
||||||
|
it('downloads cache based on libs.versions.toml', async () => {
|
||||||
|
createDirectory(join(workspace, 'gradle'));
|
||||||
|
createFile(join(workspace, 'gradle', 'libs.versions.toml'));
|
||||||
|
|
||||||
|
await restore('gradle', '');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'**/*.gradle*\n**/gradle-wrapper.properties\nbuildSrc/**/Versions.kt\nbuildSrc/**/Dependencies.kt\ngradle/*.versions.toml\n**/versions.properties'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
});
|
||||||
|
it('downloads cache based on buildSrc/Versions.kt', async () => {
|
||||||
|
createDirectory(join(workspace, 'buildSrc'));
|
||||||
|
createFile(join(workspace, 'buildSrc', 'Versions.kt'));
|
||||||
|
|
||||||
|
await restore('gradle', '');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'**/*.gradle*\n**/gradle-wrapper.properties\nbuildSrc/**/Versions.kt\nbuildSrc/**/Dependencies.kt\ngradle/*.versions.toml\n**/versions.properties'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('for sbt', () => {
|
||||||
|
it('throws error if no build.sbt found', async () => {
|
||||||
|
await expect(restore('sbt', '')).rejects.toThrow(
|
||||||
|
`No file in ${projectRoot(
|
||||||
|
workspace
|
||||||
|
)} matched to [**/*.sbt,**/project/build.properties,**/project/**.scala,**/project/**.sbt], make sure you have checked out the target repository`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('downloads cache', async () => {
|
||||||
|
createFile(join(workspace, 'build.sbt'));
|
||||||
|
|
||||||
|
await restore('sbt', '');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'**/*.sbt\n**/project/build.properties\n**/project/**.scala\n**/project/**.sbt'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('sbt cache is not found');
|
||||||
|
});
|
||||||
|
it('detects scala and sbt changes under **/project/ folder', async () => {
|
||||||
|
createFile(join(workspace, 'build.sbt'));
|
||||||
|
createDirectory(join(workspace, 'project'));
|
||||||
|
createFile(join(workspace, 'project/DependenciesV1.scala'));
|
||||||
|
|
||||||
|
await restore('sbt', '');
|
||||||
|
const firstCall = spySaveState.mock.calls.toString();
|
||||||
|
|
||||||
|
spySaveState.mockClear();
|
||||||
|
await restore('sbt', '');
|
||||||
|
const secondCall = spySaveState.mock.calls.toString();
|
||||||
|
|
||||||
|
// Make sure multiple restores produce the same cache
|
||||||
|
expect(firstCall).toBe(secondCall);
|
||||||
|
|
||||||
|
spySaveState.mockClear();
|
||||||
|
createFile(join(workspace, 'project/DependenciesV2.scala'));
|
||||||
|
await restore('sbt', '');
|
||||||
|
const thirdCall = spySaveState.mock.calls.toString();
|
||||||
|
|
||||||
|
expect(firstCall).not.toBe(thirdCall);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it('downloads cache based on versions.properties', async () => {
|
||||||
|
createFile(join(workspace, 'versions.properties'));
|
||||||
|
|
||||||
|
await restore('gradle', '');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'**/*.gradle*\n**/gradle-wrapper.properties\nbuildSrc/**/Versions.kt\nbuildSrc/**/Dependencies.kt\ngradle/*.versions.toml\n**/versions.properties'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
});
|
||||||
|
describe('cache-dependency-path', () => {
|
||||||
|
it('throws error if no matching dependency file found', async () => {
|
||||||
|
createFile(join(workspace, 'build.gradle.kts'));
|
||||||
|
await expect(
|
||||||
|
restore('gradle', 'sub-project/**/build.gradle.kts')
|
||||||
|
).rejects.toThrow(
|
||||||
|
`No file in ${projectRoot(
|
||||||
|
workspace
|
||||||
|
)} matched to [sub-project/**/build.gradle.kts], make sure you have checked out the target repository`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('downloads cache based on the specified pattern', async () => {
|
||||||
|
createFile(join(workspace, 'build.gradle.kts'));
|
||||||
|
createDirectory(join(workspace, 'sub-project1'));
|
||||||
|
createFile(join(workspace, 'sub-project1', 'build.gradle.kts'));
|
||||||
|
createDirectory(join(workspace, 'sub-project2'));
|
||||||
|
createFile(join(workspace, 'sub-project2', 'build.gradle.kts'));
|
||||||
|
|
||||||
|
await restore('gradle', 'build.gradle.kts');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith('build.gradle.kts');
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
|
||||||
|
await restore('gradle', 'sub-project1/**/*.gradle*\n');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'sub-project1/**/*.gradle*'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
|
|
||||||
|
await restore('gradle', '*.gradle*\nsub-project2/**/*.gradle*\n');
|
||||||
|
expect(spyCacheRestore).toHaveBeenCalled();
|
||||||
|
expect(spyGlobHashFiles).toHaveBeenCalledWith(
|
||||||
|
'*.gradle*\nsub-project2/**/*.gradle*'
|
||||||
|
);
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith('gradle cache is not found');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -128,36 +263,69 @@ describe('dependency cache', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
spyCacheSave = jest
|
spyCacheSave = jest
|
||||||
.spyOn(cache, 'saveCache')
|
.spyOn(cache, 'saveCache')
|
||||||
.mockImplementation((paths: string[], key: string) => Promise.resolve(0));
|
.mockImplementation((paths: string[], key: string) =>
|
||||||
|
Promise.resolve(0)
|
||||||
|
);
|
||||||
spyWarning.mockImplementation(() => null);
|
spyWarning.mockImplementation(() => null);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('throws error if unsupported package manager specified', () => {
|
it('throws error if unsupported package manager specified', () => {
|
||||||
return expect(save('ant')).rejects.toThrowError('unknown package manager specified: ant');
|
return expect(save('ant')).rejects.toThrow(
|
||||||
|
'unknown package manager specified: ant'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('save with -1 cacheId , should not fail workflow', async () => {
|
||||||
|
spyCacheSave.mockImplementation(() => Promise.resolve(-1));
|
||||||
|
createStateForMissingBuildFile();
|
||||||
|
|
||||||
|
await save('maven');
|
||||||
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('saves with error from toolkit, should fail workflow', async () => {
|
||||||
|
spyCacheSave.mockImplementation(() =>
|
||||||
|
Promise.reject(new cache.ValidationError('Validation failed'))
|
||||||
|
);
|
||||||
|
createStateForMissingBuildFile();
|
||||||
|
|
||||||
|
expect.assertions(1);
|
||||||
|
await expect(save('maven')).rejects.toEqual(
|
||||||
|
new cache.ValidationError('Validation failed')
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('for maven', () => {
|
describe('for maven', () => {
|
||||||
it('uploads cache even if no pom.xml found', async () => {
|
it('uploads cache even if no pom.xml found', async () => {
|
||||||
createStateForMissingBuildFile();
|
createStateForMissingBuildFile();
|
||||||
await save('maven');
|
await save('maven');
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
it('does not upload cache if no restore run before', async () => {
|
it('does not upload cache if no restore run before', async () => {
|
||||||
createFile(join(workspace, 'pom.xml'));
|
createFile(join(workspace, 'pom.xml'));
|
||||||
|
|
||||||
await save('maven');
|
await save('maven');
|
||||||
expect(spyCacheSave).not.toBeCalled();
|
expect(spyCacheSave).not.toHaveBeenCalled();
|
||||||
expect(spyWarning).toBeCalledWith('Error retrieving key from state.');
|
expect(spyWarning).toHaveBeenCalledWith(
|
||||||
|
'Error retrieving key from state.'
|
||||||
|
);
|
||||||
});
|
});
|
||||||
it('uploads cache', async () => {
|
it('uploads cache', async () => {
|
||||||
createFile(join(workspace, 'pom.xml'));
|
createFile(join(workspace, 'pom.xml'));
|
||||||
createStateForSuccessfulRestore();
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
await save('maven');
|
await save('maven');
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
expect(spyInfo).toBeCalledWith(expect.stringMatching(/^Cache saved with the key:.*/));
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('for gradle', () => {
|
describe('for gradle', () => {
|
||||||
|
@ -165,33 +333,90 @@ describe('dependency cache', () => {
|
||||||
createStateForMissingBuildFile();
|
createStateForMissingBuildFile();
|
||||||
|
|
||||||
await save('gradle');
|
await save('gradle');
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
it('does not upload cache if no restore run before', async () => {
|
it('does not upload cache if no restore run before', async () => {
|
||||||
createFile(join(workspace, 'build.gradle'));
|
createFile(join(workspace, 'build.gradle'));
|
||||||
|
|
||||||
await save('gradle');
|
await save('gradle');
|
||||||
expect(spyCacheSave).not.toBeCalled();
|
expect(spyCacheSave).not.toHaveBeenCalled();
|
||||||
expect(spyWarning).toBeCalledWith('Error retrieving key from state.');
|
expect(spyWarning).toHaveBeenCalledWith(
|
||||||
|
'Error retrieving key from state.'
|
||||||
|
);
|
||||||
});
|
});
|
||||||
it('uploads cache based on build.gradle', async () => {
|
it('uploads cache based on build.gradle', async () => {
|
||||||
createFile(join(workspace, 'build.gradle'));
|
createFile(join(workspace, 'build.gradle'));
|
||||||
createStateForSuccessfulRestore();
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
await save('gradle');
|
await save('gradle');
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
expect(spyInfo).toBeCalledWith(expect.stringMatching(/^Cache saved with the key:.*/));
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
it('uploads cache based on build.gradle.kts', async () => {
|
it('uploads cache based on build.gradle.kts', async () => {
|
||||||
createFile(join(workspace, 'build.gradle.kts'));
|
createFile(join(workspace, 'build.gradle.kts'));
|
||||||
createStateForSuccessfulRestore();
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
await save('gradle');
|
await save('gradle');
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
expect(spyInfo).toBeCalledWith(expect.stringMatching(/^Cache saved with the key:.*/));
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('uploads cache based on buildSrc/Versions.kt', async () => {
|
||||||
|
createDirectory(join(workspace, 'buildSrc'));
|
||||||
|
createFile(join(workspace, 'buildSrc', 'Versions.kt'));
|
||||||
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
|
await save('gradle');
|
||||||
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('for sbt', () => {
|
||||||
|
it('uploads cache even if no build.sbt found', async () => {
|
||||||
|
createStateForMissingBuildFile();
|
||||||
|
await save('sbt');
|
||||||
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
it('does not upload cache if no restore run before', async () => {
|
||||||
|
createFile(join(workspace, 'build.sbt'));
|
||||||
|
|
||||||
|
await save('sbt');
|
||||||
|
expect(spyCacheSave).not.toHaveBeenCalled();
|
||||||
|
expect(spyWarning).toHaveBeenCalledWith(
|
||||||
|
'Error retrieving key from state.'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('uploads cache', async () => {
|
||||||
|
createFile(join(workspace, 'build.sbt'));
|
||||||
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
|
await save('sbt');
|
||||||
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('uploads cache based on versions.properties', async () => {
|
||||||
|
createFile(join(workspace, 'versions.properties'));
|
||||||
|
createStateForSuccessfulRestore();
|
||||||
|
|
||||||
|
await save('gradle');
|
||||||
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
|
expect(spyInfo).toHaveBeenCalledWith(
|
||||||
|
expect.stringMatching(/^Cache saved with the key:.*/)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -236,6 +461,11 @@ function createFile(path: string) {
|
||||||
fs.writeFileSync(path, '');
|
fs.writeFileSync(path, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createDirectory(path: string) {
|
||||||
|
core.info(`created a directory at ${path}`);
|
||||||
|
fs.mkdirSync(path);
|
||||||
|
}
|
||||||
|
|
||||||
function projectRoot(workspace: string): string {
|
function projectRoot(workspace: string): string {
|
||||||
if (os.platform() === 'darwin') {
|
if (os.platform() === 'darwin') {
|
||||||
return `/private${workspace}`;
|
return `/private${workspace}`;
|
||||||
|
|
12
__tests__/cache/gradle2/.gitignore
vendored
Normal file
12
__tests__/cache/gradle2/.gitignore
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
.gradle
|
||||||
|
**/build/
|
||||||
|
!src/**/build/
|
||||||
|
|
||||||
|
# Ignore Gradle GUI config
|
||||||
|
gradle-app.setting
|
||||||
|
|
||||||
|
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||||
|
!gradle-wrapper.jar
|
||||||
|
|
||||||
|
# Cache of project
|
||||||
|
.gradletasknamecache
|
17
__tests__/cache/gradle2/build.gradle
vendored
Normal file
17
__tests__/cache/gradle2/build.gradle
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
plugins {
|
||||||
|
id 'java'
|
||||||
|
}
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
implementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
|
||||||
|
}
|
||||||
|
tasks.register('downloadDependencies') {
|
||||||
|
doLast {
|
||||||
|
def total = configurations.compileClasspath.inject (0) { sum, file ->
|
||||||
|
sum + file.length()
|
||||||
|
}
|
||||||
|
println total
|
||||||
|
}
|
||||||
|
}
|
1
__tests__/cache/sbt/.gitignore
vendored
Normal file
1
__tests__/cache/sbt/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
target/
|
3
__tests__/cache/sbt/build.sbt
vendored
Normal file
3
__tests__/cache/sbt/build.sbt
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
ThisBuild / scalaVersion := "2.12.15"
|
||||||
|
|
||||||
|
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"
|
1
__tests__/cache/sbt/project/build.properties
vendored
Normal file
1
__tests__/cache/sbt/project/build.properties
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
sbt.version=1.6.2
|
|
@ -1,4 +1,4 @@
|
||||||
import { run as cleanup } from '../src/cleanup-java';
|
import {run as cleanup} from '../src/cleanup-java';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as cache from '@actions/cache';
|
import * as cache from '@actions/cache';
|
||||||
import * as util from '../src/util';
|
import * as util from '../src/util';
|
||||||
|
@ -26,7 +26,7 @@ describe('cleanup', () => {
|
||||||
resetState();
|
resetState();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not fail nor warn even when the save provess throws a ReserveCacheError', async () => {
|
it('does not fail nor warn even when the save process throws a ReserveCacheError', async () => {
|
||||||
spyCacheSave.mockImplementation((paths: string[], key: string) =>
|
spyCacheSave.mockImplementation((paths: string[], key: string) =>
|
||||||
Promise.reject(
|
Promise.reject(
|
||||||
new cache.ReserveCacheError(
|
new cache.ReserveCacheError(
|
||||||
|
@ -38,8 +38,8 @@ describe('cleanup', () => {
|
||||||
return name === 'cache' ? 'gradle' : '';
|
return name === 'cache' ? 'gradle' : '';
|
||||||
});
|
});
|
||||||
await cleanup();
|
await cleanup();
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
expect(spyWarning).not.toBeCalled();
|
expect(spyWarning).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not fail even though the save process throws error', async () => {
|
it('does not fail even though the save process throws error', async () => {
|
||||||
|
@ -50,7 +50,7 @@ describe('cleanup', () => {
|
||||||
return name === 'cache' ? 'gradle' : '';
|
return name === 'cache' ? 'gradle' : '';
|
||||||
});
|
});
|
||||||
await cleanup();
|
await cleanup();
|
||||||
expect(spyCacheSave).toBeCalled();
|
expect(spyCacheSave).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
1183
__tests__/data/corretto.json
Normal file
1183
__tests__/data/corretto.json
Normal file
File diff suppressed because it is too large
Load diff
1324
__tests__/data/dragonwell.json
Normal file
1324
__tests__/data/dragonwell.json
Normal file
File diff suppressed because it is too large
Load diff
1454
__tests__/data/jetbrains.json
Normal file
1454
__tests__/data/jetbrains.json
Normal file
File diff suppressed because it is too large
Load diff
443
__tests__/data/liberica-linux.json
Normal file
443
__tests__/data/liberica-linux.json
Normal file
|
@ -0,0 +1,443 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14+36/bellsoft-jdk14+36-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14+36",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 11,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.11+9/bellsoft-jdk11.0.11+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.11+9",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14.0.1+8/bellsoft-jdk14.0.1+8-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14.0.1+8",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 262,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u262+10/bellsoft-jdk8u262+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u262+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 275,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u275+1/bellsoft-jdk8u275+1-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u275+1",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 1,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9.1+1/bellsoft-jdk11.0.9.1+1-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9.1+1",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 202,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u202/bellsoft-jdk8u202-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u202+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 33,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12/bellsoft-jdk12-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12+33",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 282,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u282+8/bellsoft-jdk8u282+8-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u282+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9+11/bellsoft-jdk11.0.9+11-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 33,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13/bellsoft-jdk13-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13+33",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9+12/bellsoft-jdk11.0.9+12-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9+12",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 242,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u242+7/bellsoft-jdk8u242+7-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u242+7",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.2+9/bellsoft-jdk13.0.2+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.2+9",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.1/bellsoft-jdk13.0.1-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.1+9",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 265,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u265+1/bellsoft-jdk8u265+1-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u265+1",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.1+9/bellsoft-jdk15.0.1+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.1+9",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 272,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u272+10/bellsoft-jdk8u272+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u272+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16.0.2+7/bellsoft-jdk16.0.2+7-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16.0.2+7",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 6,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.6+10/bellsoft-jdk11.0.6+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.6+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 252,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u252+9/bellsoft-jdk8u252+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u252+9",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 212,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u212/bellsoft-jdk8u212-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u212+12",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.2+10/bellsoft-jdk15.0.2+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.2+10",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 10,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.10+9/bellsoft-jdk11.0.10+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.10+9",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 0,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.1/bellsoft-jdk11.0.1-linux-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.1+0",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 12,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.12+7/bellsoft-jdk11.0.12+7-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.12+7",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16+36/bellsoft-jdk16+36-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16+36",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 3,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.3/bellsoft-jdk11.0.3-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.3+12",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 8,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.8+10/bellsoft-jdk11.0.8+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.8+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.2/bellsoft-jdk11.0.2-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.2+7",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5/bellsoft-jdk11.0.5-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 4,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.4/bellsoft-jdk11.0.4-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.4+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12.0.2/bellsoft-jdk12.0.2-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12.0.2+10",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12.0.1/bellsoft-jdk12.0.1-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12.0.1+12",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.1+10/bellsoft-jdk13.0.1+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.1+10",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5+11/bellsoft-jdk11.0.5+11-linux-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5+11/bellsoft-jdk11.0.5+11-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 292,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u292+10/bellsoft-jdk8u292+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u292+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 222,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u222/bellsoft-jdk8u222-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u222+11",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15+36/bellsoft-jdk15+36-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15+36",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 7,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.7+10/bellsoft-jdk11.0.7+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.7+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 232,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u232+10/bellsoft-jdk8u232+10-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u232+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.2+8/bellsoft-jdk15.0.2+8-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.2+8",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 302,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u302+8/bellsoft-jdk8u302+8-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u302+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 192,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u192.all/bellsoft-jdk1.8.0-linux-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u192+12",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 13,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14.0.2+13/bellsoft-jdk14.0.2+13-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14.0.2+13",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16.0.1+9/bellsoft-jdk16.0.1+9-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16.0.1+9",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 232,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u232/bellsoft-jdk8u232-linux-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u232+9",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 13,
|
||||||
|
"updateVersion": 10,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl":"https://download.bell-sw.com/java/17.0.10+13/bellsoft-jdk17.0.10+13-linux-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "17.0.10+13",
|
||||||
|
"featureVersion": 17
|
||||||
|
}
|
||||||
|
]
|
452
__tests__/data/liberica-windows.json
Normal file
452
__tests__/data/liberica-windows.json
Normal file
|
@ -0,0 +1,452 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14+36/bellsoft-jdk14+36-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14+36",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 11,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.11+9/bellsoft-jdk11.0.11+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.11+9",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14.0.1+8/bellsoft-jdk14.0.1+8-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14.0.1+8",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 262,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u262+10/bellsoft-jdk8u262+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u262+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 275,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u275+1/bellsoft-jdk8u275+1-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u275+1",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 1,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9.1+1/bellsoft-jdk11.0.9.1+1-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9.1+1",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 202,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u202/bellsoft-jdk8u202-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u202+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 33,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12/bellsoft-jdk12-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12+33",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 282,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u282+8/bellsoft-jdk8u282+8-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u282+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9+11/bellsoft-jdk11.0.9+11-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 33,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13/bellsoft-jdk13-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13+33",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 9,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.9+12/bellsoft-jdk11.0.9+12-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.9+12",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 242,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u242+7/bellsoft-jdk8u242+7-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u242+7",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.2+9/bellsoft-jdk13.0.2+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.2+9",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.1/bellsoft-jdk13.0.1-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.1+9",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 1,
|
||||||
|
"updateVersion": 265,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u265+1/bellsoft-jdk8u265+1-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u265+1",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.1+9/bellsoft-jdk15.0.1+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.1+9",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 272,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u272+10/bellsoft-jdk8u272+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u272+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16.0.2+7/bellsoft-jdk16.0.2+7-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16.0.2+7",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 6,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.6+10/bellsoft-jdk11.0.6+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.6+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 252,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u252+9/bellsoft-jdk8u252+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u252+9",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 212,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u212/bellsoft-jdk8u212-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u212+12",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.2+10/bellsoft-jdk15.0.2+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.2+10",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 10,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.10+9/bellsoft-jdk11.0.10+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.10+9",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 0,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.1/bellsoft-jdk11.0.1-windows-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.1+0",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 12,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.12+7/bellsoft-jdk11.0.12+7-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.12+7",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16+36/bellsoft-jdk16+36-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16+36",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 3,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.3/bellsoft-jdk11.0.3-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.3+12",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 8,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.8+10/bellsoft-jdk11.0.8+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.8+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 7,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.2/bellsoft-jdk11.0.2-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.2+7",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5/bellsoft-jdk11.0.5-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 4,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.4/bellsoft-jdk11.0.4-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.4+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12.0.2/bellsoft-jdk12.0.2-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12.0.2+10",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/12.0.1/bellsoft-jdk12.0.1-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "12.0.1+12",
|
||||||
|
"featureVersion": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/13.0.1+10/bellsoft-jdk13.0.1+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "13.0.1+10",
|
||||||
|
"featureVersion": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5+11/bellsoft-jdk11.0.5+11-windows-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 5,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.5+11/bellsoft-jdk11.0.5+11-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.5+11",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 292,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u292+10/bellsoft-jdk8u292+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u292+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 11,
|
||||||
|
"updateVersion": 222,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u222/bellsoft-jdk8u222-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u222+11",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 36,
|
||||||
|
"updateVersion": 0,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15+36/bellsoft-jdk15+36-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15+36",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 7,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/11.0.7+10/bellsoft-jdk11.0.7+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "11.0.7+10",
|
||||||
|
"featureVersion": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 10,
|
||||||
|
"updateVersion": 232,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u232+10/bellsoft-jdk8u232+10-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u232+10",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/15.0.2+8/bellsoft-jdk15.0.2+8-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "15.0.2+8",
|
||||||
|
"featureVersion": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 8,
|
||||||
|
"updateVersion": 302,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u302+8/bellsoft-jdk8u302+8-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u302+8",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 12,
|
||||||
|
"updateVersion": 192,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u192.all/bellsoft-jdk1.8.0-windows-amd64.tar.gz",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u192+12",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 13,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/14.0.2+13/bellsoft-jdk14.0.2+13-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "14.0.2+13",
|
||||||
|
"featureVersion": 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 1,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/16.0.1+9/bellsoft-jdk16.0.1+9-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "16.0.1+9",
|
||||||
|
"featureVersion": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 9,
|
||||||
|
"updateVersion": 232,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://github.com/bell-sw/Liberica/releases/download/8u232/bellsoft-jdk8u232-windows-amd64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "8u232+9",
|
||||||
|
"featureVersion": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 14,
|
||||||
|
"updateVersion": 2,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://download.bell-sw.com/java/21.0.2+14/bellsoft-jdk21.0.2+14-windows-aarch64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "21.0.2+14",
|
||||||
|
"featureVersion": 21
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buildVersion": 13,
|
||||||
|
"updateVersion": 10,
|
||||||
|
"patchVersion": 0,
|
||||||
|
"downloadUrl": "https://download.bell-sw.com/java/17.0.10+13/bellsoft-jdk17.0.10+13-windows-aarch64.zip",
|
||||||
|
"interimVersion": 0,
|
||||||
|
"version": "17.0.10+13",
|
||||||
|
"featureVersion": 17
|
||||||
|
}
|
||||||
|
]
|
261
__tests__/data/microsoft.json
Normal file
261
__tests__/data/microsoft.json
Normal file
|
@ -0,0 +1,261 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"version": "21.0.0",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-21.0.0-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-21.0.0-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-21.0.0-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-21.0.0-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-21.0.0-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-21.0.0-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "17.0.7",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-linux-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.7-windows-aarch64.zip",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.7-windows-aarch64.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "17.0.1+12.1",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.1.12.1-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.1.12.1-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.1.12.1-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.1.12.1-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-17.0.1.12.1-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "16.0.2+7.1",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-16.0.2.7.1-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-16.0.2.7.1-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-16.0.2.7.1-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-16.0.2.7.1-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-16.0.2.7.1-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-16.0.2.7.1-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-16.0.2.7.1-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-16.0.2.7.1-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-16.0.2.7.1-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-16.0.2.7.1-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "11.0.19",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.19-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.19-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.19-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.19-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.19-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.19-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.19-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.19-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.19-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.19-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "11.0.15",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.15-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.15-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.15-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.15-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.15-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.15-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.15-macos-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.15-macos-aarch64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.15-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.15-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "11.0.13+8.1",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://aka.ms/download-jdk",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.13.8.1-macos-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-macos-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.13.8.1-linux-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-linux-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.13.8.1-windows-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-windows-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "microsoft-jdk-11.0.13.8.1-linux-aarch64.tar.gz",
|
||||||
|
"arch": "aarch64",
|
||||||
|
"platform": "linux",
|
||||||
|
"download_url": "https://aka.ms/download-jdk/microsoft-jdk-11.0.13.8.1-linux-aarch64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
87242
__tests__/data/sapmachine.json
Normal file
87242
__tests__/data/sapmachine.json
Normal file
File diff suppressed because it is too large
Load diff
2168
__tests__/data/semeru.json
Normal file
2168
__tests__/data/semeru.json
Normal file
File diff suppressed because it is too large
Load diff
254
__tests__/data/zulu-linux.json
Normal file
254
__tests__/data/zulu-linux.json
Normal file
|
@ -0,0 +1,254 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 10996,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||||
|
"name": "zulu1.8.0_05-8.1.0.10-linux.tar.gz",
|
||||||
|
"zulu_version": [8, 1, 0, 10],
|
||||||
|
"jdk_version": [8, 0, 5, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10997,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||||
|
"name": "zulu1.8.0_11-8.2.0.1-linux.tar.gz",
|
||||||
|
"zulu_version": [8, 2, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 11, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10346,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.21.0.1-jdk8.0.131-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 21, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 131, 11]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10362,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.23.0.3-jdk8.0.144-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 23, 0, 3],
|
||||||
|
"jdk_version": [8, 0, 144, 1]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10399,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.25.0.1-jdk8.0.152-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 25, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 152, 16]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11355,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.46.0.19-ca-jdk8.0.252-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 46, 0, 19],
|
||||||
|
"jdk_version": [8, 0, 252, 14]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11481,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.47-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 47],
|
||||||
|
"jdk_version": [8, 0, 262, 17]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11622,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.51-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 51],
|
||||||
|
"jdk_version": [8, 0, 262, 19]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11535,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.49-ca-jdk8.0.262-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 49],
|
||||||
|
"jdk_version": [8, 0, 262, 18]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12424,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||||
|
"name": "zulu8.52.0.23-ca-jdk8.0.282-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 52, 0, 23],
|
||||||
|
"jdk_version": [8, 0, 282, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10383,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||||
|
"name": "zulu9.0.0.15-jdk9.0.0-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [9, 0, 0, 15],
|
||||||
|
"jdk_version": [9, 0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10413,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu9.0.1.3-jdk9.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [9, 0, 1, 3],
|
||||||
|
"jdk_version": [9, 0, 1, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10503,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu10.2+3-jdk10.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [10, 2, 3, 0],
|
||||||
|
"jdk_version": [10, 0, 1, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10541,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu10.3+5-jdk10.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [10, 3, 5, 0],
|
||||||
|
"jdk_version": [10, 0, 2, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10576,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 2, 3, 0],
|
||||||
|
"jdk_version": [11, 0, 1, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10604,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 29, 3, 0],
|
||||||
|
"jdk_version": [11, 0, 2, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10687,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 31, 11, 0],
|
||||||
|
"jdk_version": [11, 0, 3, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10856,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.13-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 13, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10933,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 15, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10933,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.15-ca-jdk11.0.5-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 11, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12397,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||||
|
"name": "zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 45, 27, 0],
|
||||||
|
"jdk_version": [11, 0, 10, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10667,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||||
|
"name": "zulu12.1.3-ca-jdk12.0.0-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 1, 3, 0],
|
||||||
|
"jdk_version": [12, 0, 0, 33]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10710,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 2, 3, 0],
|
||||||
|
"jdk_version": [12, 0, 1, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10780,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu12.3.11-ca-jdk12.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 3, 11, 0],
|
||||||
|
"jdk_version": [12, 0, 2, 3]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10846,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||||
|
"name": "zulu13.27.9-ca-jdk13.0.0-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 27, 9, 0],
|
||||||
|
"jdk_version": [13, 0, 0, 33]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10888,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu13.28.11-ca-jdk13.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 28, 11, 0],
|
||||||
|
"jdk_version": [13, 0, 1, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11073,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu13.29.9-ca-jdk13.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 29, 9, 0],
|
||||||
|
"jdk_version": [13, 0, 2, 6]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12408,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||||
|
"name": "zulu13.37.21-ca-jdk13.0.6-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 37, 21, 0],
|
||||||
|
"jdk_version": [13, 0, 6, 5]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11236,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||||
|
"name": "zulu14.27.1-ca-jdk14.0.0-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 27, 1, 0],
|
||||||
|
"jdk_version": [14, 0, 0, 36]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11349,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 28, 21, 0],
|
||||||
|
"jdk_version": [14, 0, 1, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11513,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu14.29.23-ca-jdk14.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 29, 23, 0],
|
||||||
|
"jdk_version": [14, 0, 2, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11780,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||||
|
"name": "zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 27, 17, 0],
|
||||||
|
"jdk_version": [15, 0, 0, 36]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11924,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu15.28.13-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 28, 13, 0],
|
||||||
|
"jdk_version": [15, 0, 1, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12101,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
|
"name": "zulu15.28.51-ca-jdk15.0.1-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 28, 51, 0],
|
||||||
|
"jdk_version": [15, 0, 1, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12445,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||||
|
"name": "zulu15.29.15-ca-jdk15.0.2-linux_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 29, 15, 0],
|
||||||
|
"jdk_version": [15, 0, 2, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12447,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||||
|
"name": "zulu21.32.17-ca-jdk21.0.2-linux_aarch64.tar.gz",
|
||||||
|
"zulu_version": [21, 32, 17, 0],
|
||||||
|
"jdk_version": [21, 0, 2, 6]
|
||||||
|
}
|
||||||
|
]
|
254
__tests__/data/zulu-windows.json
Normal file
254
__tests__/data/zulu-windows.json
Normal file
|
@ -0,0 +1,254 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 10996,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||||
|
"name": "zulu1.8.0_05-8.1.0.10-windows.tar.gz",
|
||||||
|
"zulu_version": [8, 1, 0, 10],
|
||||||
|
"jdk_version": [8, 0, 5, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10997,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||||
|
"name": "zulu1.8.0_11-8.2.0.1-windows.tar.gz",
|
||||||
|
"zulu_version": [8, 2, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 11, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10346,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.21.0.1-jdk8.0.131-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 21, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 131, 11]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10362,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.23.0.3-jdk8.0.144-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 23, 0, 3],
|
||||||
|
"jdk_version": [8, 0, 144, 1]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10399,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.25.0.1-jdk8.0.152-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 25, 0, 1],
|
||||||
|
"jdk_version": [8, 0, 152, 16]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11355,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.46.0.19-ca-jdk8.0.252-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 46, 0, 19],
|
||||||
|
"jdk_version": [8, 0, 252, 14]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11481,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.47-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 47],
|
||||||
|
"jdk_version": [8, 0, 262, 17]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11622,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.51-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 51],
|
||||||
|
"jdk_version": [8, 0, 262, 19]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11535,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.48.0.49-ca-jdk8.0.262-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 48, 0, 49],
|
||||||
|
"jdk_version": [8, 0, 262, 18]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12424,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||||
|
"name": "zulu8.52.0.23-ca-jdk8.0.282-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [8, 52, 0, 23],
|
||||||
|
"jdk_version": [8, 0, 282, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10383,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||||
|
"name": "zulu9.0.0.15-jdk9.0.0-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [9, 0, 0, 15],
|
||||||
|
"jdk_version": [9, 0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10413,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu9.0.1.3-jdk9.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [9, 0, 1, 3],
|
||||||
|
"jdk_version": [9, 0, 1, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10503,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu10.2+3-jdk10.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [10, 2, 3, 0],
|
||||||
|
"jdk_version": [10, 0, 1, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10541,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu10.3+5-jdk10.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [10, 3, 5, 0],
|
||||||
|
"jdk_version": [10, 0, 2, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10576,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.2.3-jdk11.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 2, 3, 0],
|
||||||
|
"jdk_version": [11, 0, 1, 13]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10604,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.29.3-ca-jdk11.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 29, 3, 0],
|
||||||
|
"jdk_version": [11, 0, 2, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10687,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.31.11-ca-jdk11.0.3-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 31, 11, 0],
|
||||||
|
"jdk_version": [11, 0, 3, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10856,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.13-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 13, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10933,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 15, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10933,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.35.11-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.35.15-ca-jdk11.0.5-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 35, 11, 0],
|
||||||
|
"jdk_version": [11, 0, 5, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12397,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||||
|
"name": "zulu11.45.27-ca-jdk11.0.10-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [11, 45, 27, 0],
|
||||||
|
"jdk_version": [11, 0, 10, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10667,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||||
|
"name": "zulu12.1.3-ca-jdk12.0.0-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 1, 3, 0],
|
||||||
|
"jdk_version": [12, 0, 0, 33]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10710,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu12.2.3-ca-jdk12.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 2, 3, 0],
|
||||||
|
"jdk_version": [12, 0, 1, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10780,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu12.3.11-ca-jdk12.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [12, 3, 11, 0],
|
||||||
|
"jdk_version": [12, 0, 2, 3]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10846,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||||
|
"name": "zulu13.27.9-ca-jdk13.0.0-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 27, 9, 0],
|
||||||
|
"jdk_version": [13, 0, 0, 33]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10888,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu13.28.11-ca-jdk13.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 28, 11, 0],
|
||||||
|
"jdk_version": [13, 0, 1, 10]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11073,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu13.29.9-ca-jdk13.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 29, 9, 0],
|
||||||
|
"jdk_version": [13, 0, 2, 6]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12408,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||||
|
"name": "zulu13.37.21-ca-jdk13.0.6-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [13, 37, 21, 0],
|
||||||
|
"jdk_version": [13, 0, 6, 5]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11236,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||||
|
"name": "zulu14.27.1-ca-jdk14.0.0-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 27, 1, 0],
|
||||||
|
"jdk_version": [14, 0, 0, 36]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11349,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu14.28.21-ca-jdk14.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 28, 21, 0],
|
||||||
|
"jdk_version": [14, 0, 1, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11513,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu14.29.23-ca-jdk14.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [14, 29, 23, 0],
|
||||||
|
"jdk_version": [14, 0, 2, 12]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11780,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||||
|
"name": "zulu15.27.17-ca-jdk15.0.0-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 27, 17, 0],
|
||||||
|
"jdk_version": [15, 0, 0, 36]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11924,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu15.28.13-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 28, 13, 0],
|
||||||
|
"jdk_version": [15, 0, 1, 8]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12101,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
|
"name": "zulu15.28.51-ca-jdk15.0.1-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 28, 51, 0],
|
||||||
|
"jdk_version": [15, 0, 1, 9]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12445,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||||
|
"name": "zulu15.29.15-ca-jdk15.0.2-windows_x64.tar.gz",
|
||||||
|
"zulu_version": [15, 29, 15, 0],
|
||||||
|
"jdk_version": [15, 0, 2, 7]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12446,
|
||||||
|
"url": "https://cdn.azul.com/zulu/bin/zulu17.48.15-ca-jdk17.0.10-windows_aarch64.zip",
|
||||||
|
"name": "zulu17.48.15-ca-jdk17.0.10-win_aarhc4.zip",
|
||||||
|
"zulu_version": [17, 48, 15, 0],
|
||||||
|
"jdk_version": [17, 0, 10, 7]
|
||||||
|
}
|
||||||
|
]
|
|
@ -1,9 +1,14 @@
|
||||||
import { HttpClient } from '@actions/http-client';
|
import {HttpClient} from '@actions/http-client';
|
||||||
|
import {IAdoptAvailableVersions} from '../../src/distributions/adopt/models';
|
||||||
|
import {
|
||||||
|
AdoptDistribution,
|
||||||
|
AdoptImplementation
|
||||||
|
} from '../../src/distributions/adopt/installer';
|
||||||
|
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
||||||
|
|
||||||
import { AdoptDistribution, AdoptImplementation } from '../../src/distributions/adopt/installer';
|
import os from 'os';
|
||||||
import { JavaInstallerOptions } from '../../src/distributions/base-models';
|
|
||||||
|
|
||||||
let manifestData = require('../data/adopt.json') as [];
|
import manifestData from '../data/adopt.json';
|
||||||
|
|
||||||
describe('getAvailableVersions', () => {
|
describe('getAvailableVersions', () => {
|
||||||
let spyHttpClient: jest.SpyInstance;
|
let spyHttpClient: jest.SpyInstance;
|
||||||
|
@ -25,42 +30,82 @@ describe('getAvailableVersions', () => {
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot,
|
AdoptImplementation.Hotspot,
|
||||||
'os=mac&architecture=x64&image_type=jdk&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jdk&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x86', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot,
|
AdoptImplementation.Hotspot,
|
||||||
'os=mac&architecture=x86&image_type=jdk&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
'os=mac&architecture=x86&image_type=jdk&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jre', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot,
|
AdoptImplementation.Hotspot,
|
||||||
'os=mac&architecture=x64&image_type=jre&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jre&release_type=ga&jvm_impl=hotspot&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11-ea', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11-ea',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot,
|
AdoptImplementation.Hotspot,
|
||||||
'os=mac&architecture=x64&image_type=jdk&release_type=ea&jvm_impl=hotspot&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jdk&release_type=ea&jvm_impl=hotspot&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.OpenJ9,
|
AdoptImplementation.OpenJ9,
|
||||||
'os=mac&architecture=x64&image_type=jdk&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jdk&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x86', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.OpenJ9,
|
AdoptImplementation.OpenJ9,
|
||||||
'os=mac&architecture=x86&image_type=jdk&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
'os=mac&architecture=x86&image_type=jdk&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jre', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.OpenJ9,
|
AdoptImplementation.OpenJ9,
|
||||||
'os=mac&architecture=x64&image_type=jre&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jre&release_type=ga&jvm_impl=openj9&page_size=20&page=0'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11-ea', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11-ea',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.OpenJ9,
|
AdoptImplementation.OpenJ9,
|
||||||
'os=mac&architecture=x64&image_type=jdk&release_type=ea&jvm_impl=openj9&page_size=20&page=0'
|
'os=mac&architecture=x64&image_type=jdk&release_type=ea&jvm_impl=openj9&page_size=20&page=0'
|
||||||
]
|
]
|
||||||
|
@ -72,7 +117,8 @@ describe('getAvailableVersions', () => {
|
||||||
expectedParameters
|
expectedParameters
|
||||||
) => {
|
) => {
|
||||||
const distribution = new AdoptDistribution(installerOptions, impl);
|
const distribution = new AdoptDistribution(installerOptions, impl);
|
||||||
const baseUrl = 'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D';
|
const baseUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D';
|
||||||
const expectedUrl = `${baseUrl}?project=jdk&vendor=adoptopenjdk&heap_size=normal&sort_method=DEFAULT&sort_order=DESC&${expectedParameters}`;
|
const expectedUrl = `${baseUrl}?project=jdk&vendor=adoptopenjdk&heap_size=normal&sort_method=DEFAULT&sort_order=DESC&${expectedParameters}`;
|
||||||
distribution['getPlatformOption'] = () => 'mac';
|
distribution['getPlatformOption'] = () => 'mac';
|
||||||
|
|
||||||
|
@ -89,12 +135,12 @@ describe('getAvailableVersions', () => {
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {},
|
||||||
result: manifestData
|
result: manifestData as any
|
||||||
})
|
})
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
headers: {},
|
headers: {},
|
||||||
result: manifestData
|
result: manifestData as any
|
||||||
})
|
})
|
||||||
.mockReturnValueOnce({
|
.mockReturnValueOnce({
|
||||||
statusCode: 200,
|
statusCode: 200,
|
||||||
|
@ -103,7 +149,12 @@ describe('getAvailableVersions', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
const availableVersions = await distribution['getAvailableVersions']();
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
|
@ -120,7 +171,12 @@ describe('getAvailableVersions', () => {
|
||||||
'find right toolchain folder',
|
'find right toolchain folder',
|
||||||
(impl: AdoptImplementation, packageType: string, expected: string) => {
|
(impl: AdoptImplementation, packageType: string, expected: string) => {
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: packageType, checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: packageType,
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
impl
|
impl
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -128,6 +184,39 @@ describe('getAvailableVersions', () => {
|
||||||
expect(distribution.toolcacheFolderName).toBe(expected);
|
expect(distribution.toolcacheFolderName).toBe(expected);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['amd64', 'x64'],
|
||||||
|
['arm64', 'aarch64']
|
||||||
|
])(
|
||||||
|
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||||
|
async (osArch: string, distroArch: string) => {
|
||||||
|
jest.spyOn(os, 'arch').mockReturnValue(osArch);
|
||||||
|
|
||||||
|
const installerOptions: JavaInstallerOptions = {
|
||||||
|
version: '17',
|
||||||
|
architecture: '', // to get default value
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
};
|
||||||
|
|
||||||
|
const expectedParameters = `os=mac&architecture=${distroArch}&image_type=jdk&release_type=ga&jvm_impl=hotspot&page_size=20&page=0`;
|
||||||
|
|
||||||
|
const distribution = new AdoptDistribution(
|
||||||
|
installerOptions,
|
||||||
|
AdoptImplementation.Hotspot
|
||||||
|
);
|
||||||
|
const baseUrl =
|
||||||
|
'https://api.adoptopenjdk.net/v3/assets/version/%5B1.0,100.0%5D';
|
||||||
|
const expectedUrl = `${baseUrl}?project=jdk&vendor=adoptopenjdk&heap_size=normal&sort_method=DEFAULT&sort_order=DESC&${expectedParameters}`;
|
||||||
|
distribution['getPlatformOption'] = () => 'mac';
|
||||||
|
|
||||||
|
await distribution['getAvailableVersions']();
|
||||||
|
|
||||||
|
expect(spyHttpClient.mock.calls).toHaveLength(1);
|
||||||
|
expect(spyHttpClient.mock.calls[0][0]).toBe(expectedUrl);
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('findPackageForDownload', () => {
|
describe('findPackageForDownload', () => {
|
||||||
|
@ -145,43 +234,63 @@ describe('findPackageForDownload', () => {
|
||||||
['15.0.1+9.1', '15.0.1+9.1']
|
['15.0.1+9.1', '15.0.1+9.1']
|
||||||
])('version is resolved correctly %s -> %s', async (input, expected) => {
|
])('version is resolved correctly %s -> %s', async (input, expected) => {
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
distribution['getAvailableVersions'] = async () => manifestData;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
const resolvedVersion = await distribution['findPackageForDownload'](input);
|
const resolvedVersion = await distribution['findPackageForDownload'](input);
|
||||||
expect(resolvedVersion.version).toBe(expected);
|
expect(resolvedVersion.version).toBe(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('version is found but binaries list is empty', async () => {
|
it('version is found but binaries list is empty', async () => {
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
distribution['getAvailableVersions'] = async () => manifestData;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
await expect(distribution['findPackageForDownload']('9.0.8')).rejects.toThrowError(
|
await expect(
|
||||||
/Could not find satisfied version for SemVer */
|
distribution['findPackageForDownload']('9.0.8')
|
||||||
);
|
).rejects.toThrow(/Could not find satisfied version for SemVer */);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('version is not found', async () => {
|
it('version is not found', async () => {
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
distribution['getAvailableVersions'] = async () => manifestData;
|
distribution['getAvailableVersions'] = async () => manifestData as any;
|
||||||
await expect(distribution['findPackageForDownload']('7.x')).rejects.toThrowError(
|
await expect(distribution['findPackageForDownload']('7.x')).rejects.toThrow(
|
||||||
/Could not find satisfied version for SemVer */
|
/Could not find satisfied version for SemVer */
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('version list is empty', async () => {
|
it('version list is empty', async () => {
|
||||||
const distribution = new AdoptDistribution(
|
const distribution = new AdoptDistribution(
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
AdoptImplementation.Hotspot
|
AdoptImplementation.Hotspot
|
||||||
);
|
);
|
||||||
distribution['getAvailableVersions'] = async () => [];
|
distribution['getAvailableVersions'] = async () => [];
|
||||||
await expect(distribution['findPackageForDownload']('11')).rejects.toThrowError(
|
await expect(distribution['findPackageForDownload']('11')).rejects.toThrow(
|
||||||
/Could not find satisfied version for SemVer */
|
/Could not find satisfied version for SemVer */
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,26 +5,37 @@ import * as util from '../../src/util';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import * as semver from 'semver';
|
import * as semver from 'semver';
|
||||||
|
|
||||||
import { JavaBase } from '../../src/distributions/base-installer';
|
import {JavaBase} from '../../src/distributions/base-installer';
|
||||||
import {
|
import {
|
||||||
JavaDownloadRelease,
|
JavaDownloadRelease,
|
||||||
JavaInstallerOptions,
|
JavaInstallerOptions,
|
||||||
JavaInstallerResults
|
JavaInstallerResults
|
||||||
} from '../../src/distributions/base-models';
|
} from '../../src/distributions/base-models';
|
||||||
|
|
||||||
|
import os from 'os';
|
||||||
|
|
||||||
class EmptyJavaBase extends JavaBase {
|
class EmptyJavaBase extends JavaBase {
|
||||||
constructor(installerOptions: JavaInstallerOptions) {
|
constructor(installerOptions: JavaInstallerOptions) {
|
||||||
super('Empty', installerOptions);
|
super('Empty', installerOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async downloadTool(javaRelease: JavaDownloadRelease): Promise<JavaInstallerResults> {
|
protected async downloadTool(
|
||||||
|
javaRelease: JavaDownloadRelease
|
||||||
|
): Promise<JavaInstallerResults> {
|
||||||
return {
|
return {
|
||||||
version: '11.0.9',
|
version: '11.0.9',
|
||||||
path: path.join('toolcache', this.toolcacheFolderName, '11.0.9', this.architecture)
|
path: path.join(
|
||||||
|
'toolcache',
|
||||||
|
this.toolcacheFolderName,
|
||||||
|
'11.0.9',
|
||||||
|
this.architecture
|
||||||
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async findPackageForDownload(range: string): Promise<JavaDownloadRelease> {
|
protected async findPackageForDownload(
|
||||||
|
range: string
|
||||||
|
): Promise<JavaDownloadRelease> {
|
||||||
const availableVersion = '11.0.9';
|
const availableVersion = '11.0.9';
|
||||||
if (!semver.satisfies(availableVersion, range)) {
|
if (!semver.satisfies(availableVersion, range)) {
|
||||||
throw new Error('Available version not found');
|
throw new Error('Available version not found');
|
||||||
|
@ -58,44 +69,111 @@ describe('findInToolcache', () => {
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11.0',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0.8', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11.0.8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: true },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: true
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0', architecture: 'x64', packageType: 'jdk', checkLatest: true },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11.0',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: true
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0.8', architecture: 'x64', packageType: 'jdk', checkLatest: true },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPath }
|
version: '11.0.8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: true
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[{ version: '11', architecture: 'x64', packageType: 'jre', checkLatest: false }, null],
|
[
|
||||||
[{ version: '8', architecture: 'x64', packageType: 'jdk', checkLatest: false }, null],
|
{
|
||||||
[{ version: '11', architecture: 'x86', packageType: 'jdk', checkLatest: false }, null],
|
version: '11',
|
||||||
[{ version: '11', architecture: 'x86', packageType: 'jre', checkLatest: false }, null]
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '8',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
null
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
null
|
||||||
|
]
|
||||||
])(`should find java for path %s -> %s`, (input, expected) => {
|
])(`should find java for path %s -> %s`, (input, expected) => {
|
||||||
spyTcFindAllVersions.mockReturnValue([actualJavaVersion]);
|
spyTcFindAllVersions.mockReturnValue([actualJavaVersion]);
|
||||||
spyGetToolcachePath.mockImplementation(
|
spyGetToolcachePath.mockImplementation(
|
||||||
(toolname: string, javaVersion: string, architecture: string) => {
|
(toolname: string, javaVersion: string, architecture: string) => {
|
||||||
const semverVersion = new semver.Range(javaVersion);
|
const semverVersion = new semver.Range(javaVersion);
|
||||||
|
|
||||||
if (path.basename(javaPath) !== architecture || !javaPath.includes(toolname)) {
|
if (
|
||||||
|
path.basename(javaPath) !== architecture ||
|
||||||
|
!javaPath.includes(toolname)
|
||||||
|
) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return semver.satisfies(actualJavaVersion, semverVersion) ? javaPath : '';
|
return semver.satisfies(actualJavaVersion, semverVersion)
|
||||||
|
? javaPath
|
||||||
|
: '';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
|
@ -103,52 +181,63 @@ describe('findInToolcache', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
['11', { version: '11.0.3+2', versionInPath: '11.0.3-2' }],
|
['11', {version: '11.0.3+2', versionInPath: '11.0.3-2'}],
|
||||||
['11.0', { version: '11.0.3+2', versionInPath: '11.0.3-2' }],
|
['11.0', {version: '11.0.3+2', versionInPath: '11.0.3-2'}],
|
||||||
['11.0.1', { version: '11.0.1', versionInPath: '11.0.1' }],
|
['11.0.1', {version: '11.0.1', versionInPath: '11.0.1'}],
|
||||||
['11.0.3', { version: '11.0.3+2', versionInPath: '11.0.3-2' }],
|
['11.0.3', {version: '11.0.3+2', versionInPath: '11.0.3-2'}],
|
||||||
['15', { version: '15.0.2+4', versionInPath: '15.0.2-4' }],
|
['15', {version: '15.0.2+4', versionInPath: '15.0.2-4'}],
|
||||||
['x', { version: '15.0.2+4', versionInPath: '15.0.2-4' }],
|
['x', {version: '15.0.2+4', versionInPath: '15.0.2-4'}],
|
||||||
['x-ea', { version: '17.4.4', versionInPath: '17.4.4-ea' }],
|
['x-ea', {version: '17.4.4', versionInPath: '17.4.4-ea'}],
|
||||||
['11-ea', { version: '11.3.3+5.2.1231421', versionInPath: '11.3.3-ea.5.2.1231421' }],
|
[
|
||||||
['11.2-ea', { version: '11.2.1', versionInPath: '11.2.1-ea' }],
|
'11-ea',
|
||||||
['11.2.1-ea', { version: '11.2.1', versionInPath: '11.2.1-ea' }]
|
{version: '11.3.3+5.2.1231421', versionInPath: '11.3.3-ea.5.2.1231421'}
|
||||||
])('should choose correct java from tool-cache for input %s', (input, expected) => {
|
],
|
||||||
spyTcFindAllVersions.mockReturnValue([
|
['11.2-ea', {version: '11.2.1', versionInPath: '11.2.1-ea'}],
|
||||||
'17.4.4-ea',
|
['11.2.1-ea', {version: '11.2.1', versionInPath: '11.2.1-ea'}]
|
||||||
'11.0.2',
|
])(
|
||||||
'15.0.2-4',
|
'should choose correct java from tool-cache for input %s',
|
||||||
'11.0.3-2',
|
(input, expected) => {
|
||||||
'11.2.1-ea',
|
spyTcFindAllVersions.mockReturnValue([
|
||||||
'11.3.2-ea',
|
'17.4.4-ea',
|
||||||
'11.3.2-ea.5',
|
'11.0.2',
|
||||||
'11.3.3-ea.5.2.1231421',
|
'15.0.2-4',
|
||||||
'12.3.2-0',
|
'11.0.3-2',
|
||||||
'11.0.1'
|
'11.2.1-ea',
|
||||||
]);
|
'11.3.2-ea',
|
||||||
spyGetToolcachePath.mockImplementation(
|
'11.3.2-ea.5',
|
||||||
(toolname: string, javaVersion: string, architecture: string) =>
|
'11.3.3-ea.5.2.1231421',
|
||||||
`/hostedtoolcache/${toolname}/${javaVersion}/${architecture}`
|
'12.3.2-0',
|
||||||
);
|
'11.0.1'
|
||||||
mockJavaBase = new EmptyJavaBase({
|
]);
|
||||||
version: input,
|
spyGetToolcachePath.mockImplementation(
|
||||||
architecture: 'x64',
|
(toolname: string, javaVersion: string, architecture: string) =>
|
||||||
packageType: 'jdk',
|
`/hostedtoolcache/${toolname}/${javaVersion}/${architecture}`
|
||||||
checkLatest: false
|
);
|
||||||
});
|
mockJavaBase = new EmptyJavaBase({
|
||||||
const foundVersion = mockJavaBase['findInToolcache']();
|
version: input,
|
||||||
expect(foundVersion).toEqual({
|
architecture: 'x64',
|
||||||
version: expected.version,
|
packageType: 'jdk',
|
||||||
path: `/hostedtoolcache/Java_Empty_jdk/${expected.versionInPath}/x64`
|
checkLatest: false
|
||||||
});
|
});
|
||||||
});
|
const foundVersion = mockJavaBase['findInToolcache']();
|
||||||
|
expect(foundVersion).toEqual({
|
||||||
|
version: expected.version,
|
||||||
|
path: `/hostedtoolcache/Java_Empty_jdk/${expected.versionInPath}/x64`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('setupJava', () => {
|
describe('setupJava', () => {
|
||||||
const actualJavaVersion = '11.0.9';
|
const actualJavaVersion = '11.0.9';
|
||||||
const installedJavaVersion = '11.0.8';
|
const installedJavaVersion = '11.0.8';
|
||||||
const javaPath = path.join('Java_Empty_jdk', installedJavaVersion, 'x86');
|
const javaPath = path.join('Java_Empty_jdk', installedJavaVersion, 'x86');
|
||||||
const javaPathInstalled = path.join('toolcache', 'Java_Empty_jdk', actualJavaVersion, 'x86');
|
const javaPathInstalled = path.join(
|
||||||
|
'toolcache',
|
||||||
|
'Java_Empty_jdk',
|
||||||
|
actualJavaVersion,
|
||||||
|
'x86'
|
||||||
|
);
|
||||||
|
|
||||||
let mockJavaBase: EmptyJavaBase;
|
let mockJavaBase: EmptyJavaBase;
|
||||||
|
|
||||||
|
@ -166,11 +255,16 @@ describe('setupJava', () => {
|
||||||
(toolname: string, javaVersion: string, architecture: string) => {
|
(toolname: string, javaVersion: string, architecture: string) => {
|
||||||
const semverVersion = new semver.Range(javaVersion);
|
const semverVersion = new semver.Range(javaVersion);
|
||||||
|
|
||||||
if (path.basename(javaPath) !== architecture || !javaPath.includes(toolname)) {
|
if (
|
||||||
|
path.basename(javaPath) !== architecture ||
|
||||||
|
!javaPath.includes(toolname)
|
||||||
|
) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return semver.satisfies(installedJavaVersion, semverVersion) ? javaPath : '';
|
return semver.satisfies(installedJavaVersion, semverVersion)
|
||||||
|
? javaPath
|
||||||
|
: '';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -192,6 +286,8 @@ describe('setupJava', () => {
|
||||||
|
|
||||||
spyCoreSetOutput = jest.spyOn(core, 'setOutput');
|
spyCoreSetOutput = jest.spyOn(core, 'setOutput');
|
||||||
spyCoreSetOutput.mockImplementation(() => undefined);
|
spyCoreSetOutput.mockImplementation(() => undefined);
|
||||||
|
|
||||||
|
jest.spyOn(os, 'arch').mockReturnValue('x86');
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
@ -202,23 +298,46 @@ describe('setupJava', () => {
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x86', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: installedJavaVersion, path: javaPath }
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: installedJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0', architecture: 'x86', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: installedJavaVersion, path: javaPath }
|
version: '11.0',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: installedJavaVersion, path: javaPath}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0.8', architecture: 'x86', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ version: installedJavaVersion, path: javaPath }
|
version: '11.0.8',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{version: installedJavaVersion, path: javaPath}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{version: '11', architecture: '', packageType: 'jdk', checkLatest: false},
|
||||||
|
{version: installedJavaVersion, path: javaPath}
|
||||||
]
|
]
|
||||||
])('should find java locally for %s', (input, expected) => {
|
])('should find java locally for %s', async (input, expected) => {
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
await expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
||||||
expect(spyGetToolcachePath).toHaveBeenCalled();
|
expect(spyGetToolcachePath).toHaveBeenCalled();
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Resolved Java ${expected.version} from tool-cache`);
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Setting Java ${expected.version} as the default`);
|
`Resolved Java ${expected.version} from tool-cache`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${expected.version} as the default`
|
||||||
|
);
|
||||||
expect(spyCoreInfo).not.toHaveBeenCalledWith(
|
expect(spyCoreInfo).not.toHaveBeenCalledWith(
|
||||||
'Trying to resolve the latest version from remote'
|
'Trying to resolve the latest version from remote'
|
||||||
);
|
);
|
||||||
|
@ -227,16 +346,47 @@ describe('setupJava', () => {
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x86', packageType: 'jre', checkLatest: false },
|
{
|
||||||
{ path: path.join('toolcache', 'Java_Empty_jre', '11.0.9', 'x86'), version: '11.0.9' }
|
version: '11',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: path.join('toolcache', 'Java_Empty_jre', '11.0.9', 'x86'),
|
||||||
|
version: '11.0.9'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jdk', checkLatest: false },
|
{
|
||||||
{ path: path.join('toolcache', 'Java_Empty_jdk', '11.0.9', 'x64'), version: '11.0.9' }
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: path.join('toolcache', 'Java_Empty_jdk', '11.0.9', 'x64'),
|
||||||
|
version: '11.0.9'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11', architecture: 'x64', packageType: 'jre', checkLatest: false },
|
{
|
||||||
{ path: path.join('toolcache', 'Java_Empty_jre', '11.0.9', 'x64'), version: '11.0.9' }
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: path.join('toolcache', 'Java_Empty_jre', '11.0.9', 'x64'),
|
||||||
|
version: '11.0.9'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{version: '11', architecture: '', packageType: 'jre', checkLatest: false},
|
||||||
|
{
|
||||||
|
path: path.join('toolcache', 'Java_Empty_jre', '11.0.9', 'x86'),
|
||||||
|
version: '11.0.9'
|
||||||
|
}
|
||||||
]
|
]
|
||||||
])('download java with configuration %s', async (input, expected) => {
|
])('download java with configuration %s', async (input, expected) => {
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
|
@ -244,82 +394,177 @@ describe('setupJava', () => {
|
||||||
expect(spyGetToolcachePath).toHaveBeenCalled();
|
expect(spyGetToolcachePath).toHaveBeenCalled();
|
||||||
expect(spyCoreAddPath).toHaveBeenCalled();
|
expect(spyCoreAddPath).toHaveBeenCalled();
|
||||||
expect(spyCoreExportVariable).toHaveBeenCalled();
|
expect(spyCoreExportVariable).toHaveBeenCalled();
|
||||||
|
expect(spyCoreExportVariable).toHaveBeenCalledWith(
|
||||||
|
`JAVA_HOME_${input.version}_${(
|
||||||
|
input.architecture || 'x86'
|
||||||
|
).toLocaleUpperCase()}`,
|
||||||
|
expected.path
|
||||||
|
);
|
||||||
expect(spyCoreSetOutput).toHaveBeenCalled();
|
expect(spyCoreSetOutput).toHaveBeenCalled();
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to resolve the latest version from remote');
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Resolved latest version as ${expected.version}`);
|
'Trying to resolve the latest version from remote'
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Resolved latest version as ${expected.version}`
|
||||||
|
);
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to download...');
|
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to download...');
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Java ${expected.version} was downloaded`);
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Setting Java ${expected.version} as the default`);
|
`Java ${expected.version} was downloaded`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${expected.version} as the default`
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[
|
[
|
||||||
{ version: '11.0.9', architecture: 'x86', packageType: 'jdk', checkLatest: true },
|
{
|
||||||
{ version: '11.0.9', path: javaPathInstalled }
|
version: '11.0.9',
|
||||||
]
|
architecture: 'x86',
|
||||||
])('should check the latest java version for %s and resolve locally', async (input, expected) => {
|
packageType: 'jdk',
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
checkLatest: true
|
||||||
mockJavaBase['findInToolcache'] = () => ({ version: '11.0.9', path: expected.path });
|
},
|
||||||
await expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
{version: '11.0.9', path: javaPathInstalled}
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to resolve the latest version from remote');
|
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Resolved latest version as ${expected.version}`);
|
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Resolved Java ${expected.version} from tool-cache`);
|
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Setting Java ${expected.version} as the default`);
|
|
||||||
});
|
|
||||||
|
|
||||||
it.each([
|
|
||||||
[
|
|
||||||
{ version: '11', architecture: 'x86', packageType: 'jdk', checkLatest: true },
|
|
||||||
{ version: actualJavaVersion, path: javaPathInstalled }
|
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
{ version: '11.0', architecture: 'x86', packageType: 'jdk', checkLatest: true },
|
{
|
||||||
{ version: actualJavaVersion, path: javaPathInstalled }
|
version: '11.0.9',
|
||||||
],
|
architecture: '',
|
||||||
[
|
packageType: 'jdk',
|
||||||
{ version: '11.0.x', architecture: 'x86', packageType: 'jdk', checkLatest: true },
|
checkLatest: true
|
||||||
{ version: actualJavaVersion, path: javaPathInstalled }
|
},
|
||||||
|
{version: '11.0.9', path: javaPathInstalled}
|
||||||
]
|
]
|
||||||
])('should check the latest java version for %s and download', async (input, expected) => {
|
])(
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
'should check the latest java version for %s and resolve locally',
|
||||||
await expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
async (input, expected) => {
|
||||||
expect(spyGetToolcachePath).toHaveBeenCalled();
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to resolve the latest version from remote');
|
mockJavaBase['findInToolcache'] = () => ({
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Resolved latest version as ${actualJavaVersion}`);
|
version: '11.0.9',
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to download...');
|
path: expected.path
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Java ${actualJavaVersion} was downloaded`);
|
});
|
||||||
expect(spyCoreInfo).toHaveBeenCalledWith(`Setting Java ${expected.version} as the default`);
|
await expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
||||||
});
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
'Trying to resolve the latest version from remote'
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Resolved latest version as ${expected.version}`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Resolved Java ${expected.version} from tool-cache`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${expected.version} as the default`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[{ version: '15', architecture: 'x86', packageType: 'jre', checkLatest: false }],
|
[
|
||||||
[{ version: '11.0.7', architecture: 'x64', packageType: 'jre', checkLatest: false }]
|
{
|
||||||
])('should throw an error for Available version not found for %s', async input => {
|
version: '11',
|
||||||
mockJavaBase = new EmptyJavaBase(input);
|
architecture: 'x86',
|
||||||
await expect(mockJavaBase.setupJava()).rejects.toThrowError('Available version not found');
|
packageType: 'jdk',
|
||||||
expect(spyTcFindAllVersions).toHaveBeenCalled();
|
checkLatest: true
|
||||||
expect(spyCoreAddPath).not.toHaveBeenCalled();
|
},
|
||||||
expect(spyCoreExportVariable).not.toHaveBeenCalled();
|
{version: actualJavaVersion, path: javaPathInstalled}
|
||||||
expect(spyCoreSetOutput).not.toHaveBeenCalled();
|
],
|
||||||
});
|
[
|
||||||
|
{
|
||||||
|
version: '11.0',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: true
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPathInstalled}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '11.0.x',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: true
|
||||||
|
},
|
||||||
|
{version: actualJavaVersion, path: javaPathInstalled}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{version: '11', architecture: '', packageType: 'jdk', checkLatest: true},
|
||||||
|
{version: actualJavaVersion, path: javaPathInstalled}
|
||||||
|
]
|
||||||
|
])(
|
||||||
|
'should check the latest java version for %s and download',
|
||||||
|
async (input, expected) => {
|
||||||
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
|
await expect(mockJavaBase.setupJava()).resolves.toEqual(expected);
|
||||||
|
expect(spyGetToolcachePath).toHaveBeenCalled();
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
'Trying to resolve the latest version from remote'
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Resolved latest version as ${actualJavaVersion}`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith('Trying to download...');
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Java ${actualJavaVersion} was downloaded`
|
||||||
|
);
|
||||||
|
expect(spyCoreInfo).toHaveBeenCalledWith(
|
||||||
|
`Setting Java ${expected.version} as the default`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '15',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '11.0.7',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])(
|
||||||
|
'should throw an error for Available version not found for %s',
|
||||||
|
async input => {
|
||||||
|
mockJavaBase = new EmptyJavaBase(input);
|
||||||
|
await expect(mockJavaBase.setupJava()).rejects.toThrow(
|
||||||
|
'Available version not found'
|
||||||
|
);
|
||||||
|
expect(spyTcFindAllVersions).toHaveBeenCalled();
|
||||||
|
expect(spyCoreAddPath).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreExportVariable).not.toHaveBeenCalled();
|
||||||
|
expect(spyCoreSetOutput).not.toHaveBeenCalled();
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('normalizeVersion', () => {
|
describe('normalizeVersion', () => {
|
||||||
const DummyJavaBase = JavaBase as any;
|
const DummyJavaBase = JavaBase as any;
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
['11', { version: '11', stable: true }],
|
['11', {version: '11', stable: true}],
|
||||||
['11.0', { version: '11.0', stable: true }],
|
['11.0', {version: '11.0', stable: true}],
|
||||||
['11.0.10', { version: '11.0.10', stable: true }],
|
['11.0.10', {version: '11.0.10', stable: true}],
|
||||||
['11-ea', { version: '11', stable: false }],
|
['11-ea', {version: '11', stable: false}],
|
||||||
['11.0.2-ea', { version: '11.0.2', stable: false }]
|
['11.0.2-ea', {version: '11.0.2', stable: false}]
|
||||||
])('normalizeVersion from %s to %s', (input, expected) => {
|
])('normalizeVersion from %s to %s', (input, expected) => {
|
||||||
expect(DummyJavaBase.prototype.normalizeVersion.call(null, input)).toEqual(expected);
|
expect(DummyJavaBase.prototype.normalizeVersion.call(null, input)).toEqual(
|
||||||
|
expected
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('normalizeVersion should throw an error for non semver', () => {
|
it('normalizeVersion should throw an error for non semver', () => {
|
||||||
const version = '11g';
|
const version = '11g';
|
||||||
expect(DummyJavaBase.prototype.normalizeVersion.bind(null, version)).toThrowError(
|
expect(
|
||||||
|
DummyJavaBase.prototype.normalizeVersion.bind(null, version)
|
||||||
|
).toThrow(
|
||||||
`The string '${version}' is not valid SemVer notation for a Java version. Please check README file for code snippets and more detailed information`
|
`The string '${version}' is not valid SemVer notation for a Java version. Please check README file for code snippets and more detailed information`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
@ -329,14 +574,14 @@ describe('getToolcacheVersionName', () => {
|
||||||
const DummyJavaBase = JavaBase as any;
|
const DummyJavaBase = JavaBase as any;
|
||||||
|
|
||||||
it.each([
|
it.each([
|
||||||
[{ version: '11', stable: true }, '11'],
|
[{version: '11', stable: true}, '11'],
|
||||||
[{ version: '11.0.2', stable: true }, '11.0.2'],
|
[{version: '11.0.2', stable: true}, '11.0.2'],
|
||||||
[{ version: '11.0.2+4', stable: true }, '11.0.2-4'],
|
[{version: '11.0.2+4', stable: true}, '11.0.2-4'],
|
||||||
[{ version: '11.0.2+4.1.2563234', stable: true }, '11.0.2-4.1.2563234'],
|
[{version: '11.0.2+4.1.2563234', stable: true}, '11.0.2-4.1.2563234'],
|
||||||
[{ version: '11.0', stable: false }, '11.0-ea'],
|
[{version: '11.0', stable: false}, '11.0-ea'],
|
||||||
[{ version: '11.0.3', stable: false }, '11.0.3-ea'],
|
[{version: '11.0.3', stable: false}, '11.0.3-ea'],
|
||||||
[{ version: '11.0.3+4', stable: false }, '11.0.3-ea.4'],
|
[{version: '11.0.3+4', stable: false}, '11.0.3-ea.4'],
|
||||||
[{ version: '11.0.3+4.2.256', stable: false }, '11.0.3-ea.4.2.256']
|
[{version: '11.0.3+4.2.256', stable: false}, '11.0.3-ea.4.2.256']
|
||||||
])('returns correct version name for %s', (input, expected) => {
|
])('returns correct version name for %s', (input, expected) => {
|
||||||
const inputVersion = input.stable ? '11' : '11-ea';
|
const inputVersion = input.stable ? '11' : '11-ea';
|
||||||
const mockJavaBase = new EmptyJavaBase({
|
const mockJavaBase = new EmptyJavaBase({
|
||||||
|
|
243
__tests__/distributors/corretto-installer.test.ts
Normal file
243
__tests__/distributors/corretto-installer.test.ts
Normal file
|
@ -0,0 +1,243 @@
|
||||||
|
import {HttpClient} from '@actions/http-client';
|
||||||
|
import {JavaInstallerOptions} from '../../src/distributions/base-models';
|
||||||
|
|
||||||
|
import {CorrettoDistribution} from '../../src/distributions/corretto/installer';
|
||||||
|
import * as util from '../../src/util';
|
||||||
|
import os from 'os';
|
||||||
|
import {isGeneratorFunction} from 'util/types';
|
||||||
|
|
||||||
|
import manifestData from '../data/corretto.json';
|
||||||
|
|
||||||
|
describe('getAvailableVersions', () => {
|
||||||
|
let spyHttpClient: jest.SpyInstance;
|
||||||
|
let spyGetDownloadArchiveExtension: jest.SpyInstance;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
|
spyHttpClient.mockReturnValue({
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {},
|
||||||
|
result: manifestData
|
||||||
|
});
|
||||||
|
spyGetDownloadArchiveExtension = jest.spyOn(
|
||||||
|
util,
|
||||||
|
'getDownloadArchiveExtension'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.resetAllMocks();
|
||||||
|
jest.clearAllMocks();
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('getAvailableVersions', () => {
|
||||||
|
it('load available versions', async () => {
|
||||||
|
const distribution = new CorrettoDistribution({
|
||||||
|
version: '11',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, 'linux');
|
||||||
|
|
||||||
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
|
expect(availableVersions).not.toBeNull();
|
||||||
|
expect(availableVersions.length).toBe(6);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '16',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'macos',
|
||||||
|
6
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '16',
|
||||||
|
architecture: 'x86',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'macos',
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '16',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'macos',
|
||||||
|
0
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '16',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'linux',
|
||||||
|
6
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '18',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'windows',
|
||||||
|
6
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version: '18',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
},
|
||||||
|
'windows',
|
||||||
|
1
|
||||||
|
]
|
||||||
|
])(
|
||||||
|
'fetch expected amount of available versions for %s',
|
||||||
|
async (
|
||||||
|
installerOptions: JavaInstallerOptions,
|
||||||
|
platform: string,
|
||||||
|
expectedAmountOfAvailableVersions
|
||||||
|
) => {
|
||||||
|
const distribution = new CorrettoDistribution(installerOptions);
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
|
||||||
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
|
expect(availableVersions).not.toBeNull();
|
||||||
|
expect(availableVersions.length).toBe(
|
||||||
|
expectedAmountOfAvailableVersions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('findPackageForDownload', () => {
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
'macos',
|
||||||
|
'https://corretto.aws/downloads/resources/18.0.0.37.1/amazon-corretto-18.0.0.37.1-macosx-x64.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'windows',
|
||||||
|
'https://corretto.aws/downloads/resources/18.0.0.37.1/amazon-corretto-18.0.0.37.1-windows-x64-jdk.zip'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'linux',
|
||||||
|
'https://corretto.aws/downloads/resources/18.0.0.37.1/amazon-corretto-18.0.0.37.1-linux-x64.tar.gz'
|
||||||
|
]
|
||||||
|
])('for os: %s', async (platform: string, expectedLink: string) => {
|
||||||
|
const version = '18';
|
||||||
|
const distribution = new CorrettoDistribution({
|
||||||
|
version,
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
|
||||||
|
const availableVersion = await distribution['findPackageForDownload'](
|
||||||
|
version
|
||||||
|
);
|
||||||
|
expect(availableVersion).not.toBeNull();
|
||||||
|
expect(availableVersion.url).toBe(expectedLink);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with unstable version expect to throw not supported error', async () => {
|
||||||
|
const version = '18.0.1-ea';
|
||||||
|
const distribution = new CorrettoDistribution({
|
||||||
|
version,
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, 'linux');
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](version)
|
||||||
|
).rejects.toThrow('Early access versions are not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with non major version expect to throw not supported error', async () => {
|
||||||
|
const version = '18.0.1';
|
||||||
|
const distribution = new CorrettoDistribution({
|
||||||
|
version,
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, 'linux');
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](version)
|
||||||
|
).rejects.toThrow('Only major versions are supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with unfound version throw could not find error', async () => {
|
||||||
|
const version = '4';
|
||||||
|
const distribution = new CorrettoDistribution({
|
||||||
|
version,
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, 'linux');
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](version)
|
||||||
|
).rejects.toThrow("Could not find satisfied version for SemVer '4'");
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['arm64', 'aarch64'],
|
||||||
|
['amd64', 'x64']
|
||||||
|
])(
|
||||||
|
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||||
|
async (osArch: string, distroArch: string) => {
|
||||||
|
jest.spyOn(os, 'arch').mockReturnValue(osArch);
|
||||||
|
|
||||||
|
const version = '17';
|
||||||
|
const installerOptions: JavaInstallerOptions = {
|
||||||
|
version,
|
||||||
|
architecture: '', // to get default value
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
};
|
||||||
|
|
||||||
|
const distribution = new CorrettoDistribution(installerOptions);
|
||||||
|
mockPlatform(distribution, 'macos');
|
||||||
|
|
||||||
|
const expectedLink = `https://corretto.aws/downloads/resources/17.0.2.8.1/amazon-corretto-17.0.2.8.1-macosx-${distroArch}.tar.gz`;
|
||||||
|
|
||||||
|
const availableVersion = await distribution['findPackageForDownload'](
|
||||||
|
version
|
||||||
|
);
|
||||||
|
expect(availableVersion).not.toBeNull();
|
||||||
|
expect(availableVersion.url).toBe(expectedLink);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
const mockPlatform = (
|
||||||
|
distribution: CorrettoDistribution,
|
||||||
|
platform: string
|
||||||
|
) => {
|
||||||
|
distribution['getPlatformOption'] = () => platform;
|
||||||
|
const mockedExtension = platform === 'windows' ? 'zip' : 'tar.gz';
|
||||||
|
spyGetDownloadArchiveExtension.mockReturnValue(mockedExtension);
|
||||||
|
};
|
||||||
|
});
|
257
__tests__/distributors/dragonwell-installer.test.ts
Normal file
257
__tests__/distributors/dragonwell-installer.test.ts
Normal file
|
@ -0,0 +1,257 @@
|
||||||
|
import {HttpClient} from '@actions/http-client';
|
||||||
|
import {DragonwellDistribution} from '../../src/distributions/dragonwell/installer';
|
||||||
|
import * as utils from '../../src/util';
|
||||||
|
|
||||||
|
import manifestData from '../data/dragonwell.json';
|
||||||
|
|
||||||
|
describe('getAvailableVersions', () => {
|
||||||
|
let spyHttpClient: jest.SpyInstance;
|
||||||
|
let spyUtilGetDownloadArchiveExtension: jest.SpyInstance;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'getJson');
|
||||||
|
spyHttpClient.mockReturnValue({
|
||||||
|
statusCode: 200,
|
||||||
|
headers: {},
|
||||||
|
result: manifestData
|
||||||
|
});
|
||||||
|
|
||||||
|
spyUtilGetDownloadArchiveExtension = jest.spyOn(
|
||||||
|
utils,
|
||||||
|
'getDownloadArchiveExtension'
|
||||||
|
);
|
||||||
|
spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
jest.resetAllMocks();
|
||||||
|
jest.clearAllMocks();
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
});
|
||||||
|
|
||||||
|
const mockPlatform = (
|
||||||
|
distribution: DragonwellDistribution,
|
||||||
|
platform: string
|
||||||
|
) => {
|
||||||
|
distribution['getPlatformOption'] = () => platform;
|
||||||
|
const mockedExtension = platform == 'windows' ? 'zip' : 'tar.gz';
|
||||||
|
spyUtilGetDownloadArchiveExtension.mockReturnValue(mockedExtension);
|
||||||
|
};
|
||||||
|
|
||||||
|
describe('getAvailableVersions', () => {
|
||||||
|
it.each([
|
||||||
|
['8', 'x86', 'linux', 0],
|
||||||
|
['8', 'aarch64', 'linux', 28],
|
||||||
|
['8.6.6', 'x64', 'linux', 31],
|
||||||
|
['8', 'x86', 'anolis', 0],
|
||||||
|
['8', 'x86', 'windows', 0],
|
||||||
|
['8', 'x86', 'mac', 0],
|
||||||
|
['11', 'x64', 'linux', 31],
|
||||||
|
['11', 'aarch64', 'linux', 28],
|
||||||
|
['17', 'riscv', 'linux', 3],
|
||||||
|
['16.0.1', 'x64', 'linux', 31],
|
||||||
|
['21', 'x64', 'linux', 31]
|
||||||
|
])(
|
||||||
|
'should get right number of available versions from JSON',
|
||||||
|
async (
|
||||||
|
jdkVersion: string,
|
||||||
|
arch: string,
|
||||||
|
platform: string,
|
||||||
|
len: number
|
||||||
|
) => {
|
||||||
|
const distribution = new DragonwellDistribution({
|
||||||
|
version: jdkVersion,
|
||||||
|
architecture: arch,
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
|
||||||
|
const availableVersions = await distribution['getAvailableVersions']();
|
||||||
|
expect(availableVersions).not.toBeNull();
|
||||||
|
expect(availableVersions.length).toBe(len);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('findPackageForDownload', () => {
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell8/releases/download/dragonwell-extended-8.13.14_jdk8u352-ga/Alibaba_Dragonwell_Extended_8.13.14_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/alibaba/dragonwell8/releases/download/dragonwell-extended-8.13.14_jdk8u352-ga/Alibaba_Dragonwell_Extended_8.13.14_aarch64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'windows',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell8/releases/download/dragonwell-extended-8.13.14_jdk8u352-ga/Alibaba_Dragonwell_Extended_8.13.14_x64_windows.zip'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8.13.14',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell8/releases/download/dragonwell-extended-8.13.14_jdk8u352-ga/Alibaba_Dragonwell_Extended_8.13.14_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_aarch64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'linux',
|
||||||
|
'riscv',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_riscv64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'windows',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_windows.zip'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'alpine-linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell11/releases/download/dragonwell-extended-11.0.23.20_jdk-11.0.23-ga/Alibaba_Dragonwell_Extended_11.0.23.20.9_x64_alpine-linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11.0.17',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell11/releases/download/dragonwell-extended-11.0.17.13_jdk-11.0.17-ga/Alibaba_Dragonwell_Extended_11.0.17.13.8_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.5.0.5%2B8_jdk-17.0.5-ga/Alibaba_Dragonwell_Standard_17.0.5.0.5.8_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.5.0.5%2B8_jdk-17.0.5-ga/Alibaba_Dragonwell_Standard_17.0.5.0.5.8_aarch64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'windows',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.5.0.5%2B8_jdk-17.0.5-ga/Alibaba_Dragonwell_Standard_17.0.5.0.5.8_x64_windows.zip'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'alpine-linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.5.0.5%2B8_jdk-17.0.5-ga/Alibaba_Dragonwell_Standard_17.0.5.0.5.8_x64_alpine-linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.4',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.4.0.4%2B8_jdk-17.0.4-ga/Alibaba_Dragonwell_Standard_17.0.4.0.4%2B8_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.4+8',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/alibaba/dragonwell17/releases/download/dragonwell-standard-17.0.4.0.4%2B8_jdk-17.0.4-ga/Alibaba_Dragonwell_Standard_17.0.4.0.4%2B8_x64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21',
|
||||||
|
'linux',
|
||||||
|
'aarch64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_aarch64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.3+9',
|
||||||
|
'linux',
|
||||||
|
'riscv',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.3.0.3%2B9_jdk-21.0.3-ga/Alibaba_Dragonwell_Standard_21.0.3.0.3.9_riscv64_linux.tar.gz'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.1+12',
|
||||||
|
'linux',
|
||||||
|
'x64',
|
||||||
|
'https://github.com/dragonwell-project/dragonwell21/releases/download/dragonwell-standard-21.0.1.0.1%2B12_jdk-21.0.1-ga/Alibaba_Dragonwell_Standard_21.0.1.0.1.12_x64_linux.tar.gz'
|
||||||
|
]
|
||||||
|
])(
|
||||||
|
'should return proper link according to the specified java-version, platform and arch',
|
||||||
|
async (
|
||||||
|
jdkVersion: string,
|
||||||
|
platform: string,
|
||||||
|
arch: string,
|
||||||
|
expectedLink: string
|
||||||
|
) => {
|
||||||
|
const distribution = new DragonwellDistribution({
|
||||||
|
version: jdkVersion,
|
||||||
|
architecture: arch,
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
|
||||||
|
const availableVersion = await distribution['findPackageForDownload'](
|
||||||
|
jdkVersion
|
||||||
|
);
|
||||||
|
expect(availableVersion).not.toBeNull();
|
||||||
|
expect(availableVersion.url).toBe(expectedLink);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['8', 'alpine-linux', 'x64'],
|
||||||
|
['8', 'macos', 'aarch64'],
|
||||||
|
['11', 'macos', 'aarch64'],
|
||||||
|
['17', 'linux', 'riscv']
|
||||||
|
])(
|
||||||
|
'should throw when required version of JDK can not be found in the JSON',
|
||||||
|
async (jdkVersion: string, platform: string, arch: string) => {
|
||||||
|
const distribution = new DragonwellDistribution({
|
||||||
|
version: jdkVersion,
|
||||||
|
architecture: arch,
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](jdkVersion)
|
||||||
|
).rejects.toThrow(
|
||||||
|
`Couldn't find any satisfied version for the specified java-version: "${jdkVersion}" and architecture: "${arch}".`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it('should throw when required package type is not jdk', async () => {
|
||||||
|
const jdkVersion = '17';
|
||||||
|
const arch = 'x64';
|
||||||
|
const platform = 'linux';
|
||||||
|
const distribution = new DragonwellDistribution({
|
||||||
|
version: jdkVersion,
|
||||||
|
architecture: arch,
|
||||||
|
packageType: 'jre',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
mockPlatform(distribution, platform);
|
||||||
|
await expect(
|
||||||
|
distribution['findPackageForDownload'](jdkVersion)
|
||||||
|
).rejects.toThrow('Dragonwell provides only the `jdk` package type');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
152
__tests__/distributors/graalvm-installer.test.ts
Normal file
152
__tests__/distributors/graalvm-installer.test.ts
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
import {GraalVMDistribution} from '../../src/distributions/graalvm/installer';
|
||||||
|
import os from 'os';
|
||||||
|
import * as core from '@actions/core';
|
||||||
|
import {getDownloadArchiveExtension} from '../../src/util';
|
||||||
|
import {HttpClient} from '@actions/http-client';
|
||||||
|
|
||||||
|
describe('findPackageForDownload', () => {
|
||||||
|
let distribution: GraalVMDistribution;
|
||||||
|
let spyDebug: jest.SpyInstance;
|
||||||
|
let spyHttpClient: jest.SpyInstance;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
distribution = new GraalVMDistribution({
|
||||||
|
version: '',
|
||||||
|
architecture: 'x64',
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
spyDebug = jest.spyOn(core, 'debug');
|
||||||
|
spyDebug.mockImplementation(() => {});
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
'21',
|
||||||
|
'21',
|
||||||
|
'https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'21.0.4',
|
||||||
|
'21.0.4',
|
||||||
|
'https://download.oracle.com/graalvm/21/archive/graalvm-jdk-21.0.4_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17',
|
||||||
|
'17',
|
||||||
|
'https://download.oracle.com/graalvm/17/latest/graalvm-jdk-17_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'17.0.12',
|
||||||
|
'17.0.12',
|
||||||
|
'https://download.oracle.com/graalvm/17/archive/graalvm-jdk-17.0.12_{{OS_TYPE}}-x64_bin.{{ARCHIVE_TYPE}}'
|
||||||
|
]
|
||||||
|
])('version is %s -> %s', async (input, expectedVersion, expectedUrl) => {
|
||||||
|
/* Needed only for this particular test because /latest/ urls tend to change */
|
||||||
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'head');
|
||||||
|
spyHttpClient.mockReturnValue(
|
||||||
|
Promise.resolve({
|
||||||
|
message: {
|
||||||
|
statusCode: 200
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const result = await distribution['findPackageForDownload'](input);
|
||||||
|
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
|
||||||
|
expect(result.version).toBe(expectedVersion);
|
||||||
|
const osType = distribution.getPlatform();
|
||||||
|
const archiveType = getDownloadArchiveExtension();
|
||||||
|
const url = expectedUrl
|
||||||
|
.replace('{{OS_TYPE}}', osType)
|
||||||
|
.replace('{{ARCHIVE_TYPE}}', archiveType);
|
||||||
|
expect(result.url).toBe(url);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
[
|
||||||
|
'24-ea',
|
||||||
|
/^https:\/\/github\.com\/graalvm\/oracle-graalvm-ea-builds\/releases\/download\/jdk-24\.0\.0-ea\./
|
||||||
|
]
|
||||||
|
])('version is %s -> %s', async (version, expectedUrlPrefix) => {
|
||||||
|
/* Needed only for this particular test because /latest/ urls tend to change */
|
||||||
|
spyHttpClient = jest.spyOn(HttpClient.prototype, 'head');
|
||||||
|
spyHttpClient.mockReturnValue(
|
||||||
|
Promise.resolve({
|
||||||
|
message: {
|
||||||
|
statusCode: 200
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const eaDistro = new GraalVMDistribution({
|
||||||
|
version,
|
||||||
|
architecture: '', // to get default value
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
const versionWithoutEA = version.split('-')[0];
|
||||||
|
const result = await eaDistro['findPackageForDownload'](versionWithoutEA);
|
||||||
|
|
||||||
|
jest.restoreAllMocks();
|
||||||
|
|
||||||
|
expect(result.url).toEqual(expect.stringMatching(expectedUrlPrefix));
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([
|
||||||
|
['amd64', 'x64'],
|
||||||
|
['arm64', 'aarch64']
|
||||||
|
])(
|
||||||
|
'defaults to os.arch(): %s mapped to distro arch: %s',
|
||||||
|
async (osArch: string, distroArch: string) => {
|
||||||
|
jest.spyOn(os, 'arch').mockReturnValue(osArch);
|
||||||
|
jest.spyOn(os, 'platform').mockReturnValue('linux');
|
||||||
|
|
||||||
|
const version = '21';
|
||||||
|
const distro = new GraalVMDistribution({
|
||||||
|
version,
|
||||||
|
architecture: '', // to get default value
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
|
||||||
|
const osType = distribution.getPlatform();
|
||||||
|
if (osType === 'windows' && distroArch == 'aarch64') {
|
||||||
|
return; // skip, aarch64 is not available for Windows
|
||||||
|
}
|
||||||
|
const archiveType = getDownloadArchiveExtension();
|
||||||
|
const result = await distro['findPackageForDownload'](version);
|
||||||
|
const expectedUrl = `https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_${osType}-${distroArch}_bin.${archiveType}`;
|
||||||
|
|
||||||
|
expect(result.url).toBe(expectedUrl);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
it('should throw an error', async () => {
|
||||||
|
await expect(distribution['findPackageForDownload']('8')).rejects.toThrow(
|
||||||
|
/GraalVM is only supported for JDK 17 and later/
|
||||||
|
);
|
||||||
|
await expect(distribution['findPackageForDownload']('11')).rejects.toThrow(
|
||||||
|
/GraalVM is only supported for JDK 17 and later/
|
||||||
|
);
|
||||||
|
await expect(distribution['findPackageForDownload']('18')).rejects.toThrow(
|
||||||
|
/Could not find GraalVM for SemVer */
|
||||||
|
);
|
||||||
|
|
||||||
|
const unavailableEADistro = new GraalVMDistribution({
|
||||||
|
version: '17-ea',
|
||||||
|
architecture: '', // to get default value
|
||||||
|
packageType: 'jdk',
|
||||||
|
checkLatest: false
|
||||||
|
});
|
||||||
|
await expect(
|
||||||
|
unavailableEADistro['findPackageForDownload']('17')
|
||||||
|
).rejects.toThrow(
|
||||||
|
/No GraalVM EA build found\. Are you sure java-version: '17-ea' is correct\?/
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
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 */
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue