From 9739c605b3174e7b2196d944d1dd601ffbcdd319 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:48:17 +0000 Subject: [PATCH 1/7] Bump com.github.spotbugs:spotbugs-annotations from 4.8.5 to 4.8.6 Bumps [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) from 4.8.5 to 4.8.6. - [Release notes](https://github.com/spotbugs/spotbugs/releases) - [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md) - [Commits](https://github.com/spotbugs/spotbugs/compare/4.8.5...4.8.6) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-annotations dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 806d638..5b99eb0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -43,7 +43,7 @@ repositories { val junitVersion = "5.7.0" dependencies { - compileOnly("com.github.spotbugs:spotbugs-annotations:4.8.5") + compileOnly("com.github.spotbugs:spotbugs-annotations:4.8.6") testImplementation("org.junit.jupiter", "junit-jupiter-api", junitVersion) testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", junitVersion) testImplementation("org.assertj", "assertj-core", "3.18.1") From 7b1b8d1f4c9a5cc3749fa9a919755d8be0597c89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:23:21 +0000 Subject: [PATCH 2/7] Bump the freefair group with 4 updates Bumps the freefair group with 4 updates: [io.freefair.lombok](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-links](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-utf-8](https://github.com/freefair/gradle-plugins) and [io.freefair.maven-central.validate-poms](https://github.com/freefair/gradle-plugins). Updates `io.freefair.lombok` from 8.6 to 8.7.1 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.6...8.7.1) Updates `io.freefair.javadoc-links` from 8.6 to 8.7.1 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.6...8.7.1) Updates `io.freefair.javadoc-utf-8` from 8.6 to 8.7.1 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.6...8.7.1) Updates `io.freefair.maven-central.validate-poms` from 8.6 to 8.7.1 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.6...8.7.1) --- updated-dependencies: - dependency-name: io.freefair.lombok dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-links dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-utf-8 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.maven-central.validate-poms dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair ... Signed-off-by: dependabot[bot] --- build.gradle.kts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5b99eb0..a01a314 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,10 +9,10 @@ plugins { id("org.cadixdev.licenser") version "0.6.1" id("me.qoomon.git-versioning") version "6.4.3" id("com.gorylenko.gradle-git-properties") version "2.4.2" - id("io.freefair.lombok") version "8.6" - id("io.freefair.javadoc-links") version "8.6" - id("io.freefair.javadoc-utf-8") version "8.6" - id("io.freefair.maven-central.validate-poms") version "8.6" + id("io.freefair.lombok") version "8.7.1" + id("io.freefair.javadoc-links") version "8.7.1" + id("io.freefair.javadoc-utf-8") version "8.7.1" + id("io.freefair.maven-central.validate-poms") version "8.7.1" id("com.github.ben-manes.versions") version "0.51.0" id("ru.vyarus.pom") version "3.0.0" id("io.codearte.nexus-staging") version "0.30.0" From f5c02b4d4d0f9b72dad0f649461867c8f4f546c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 14:41:58 +0000 Subject: [PATCH 3/7] Bump the freefair group with 4 updates Bumps the freefair group with 4 updates: [io.freefair.lombok](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-links](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-utf-8](https://github.com/freefair/gradle-plugins) and [io.freefair.maven-central.validate-poms](https://github.com/freefair/gradle-plugins). Updates `io.freefair.lombok` from 8.7.1 to 8.10 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.7.1...8.10) Updates `io.freefair.javadoc-links` from 8.7.1 to 8.10 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.7.1...8.10) Updates `io.freefair.javadoc-utf-8` from 8.7.1 to 8.10 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.7.1...8.10) Updates `io.freefair.maven-central.validate-poms` from 8.7.1 to 8.10 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.7.1...8.10) --- updated-dependencies: - dependency-name: io.freefair.lombok dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-links dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-utf-8 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.maven-central.validate-poms dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair ... Signed-off-by: dependabot[bot] --- build.gradle.kts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a01a314..47fc240 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,10 +9,10 @@ plugins { id("org.cadixdev.licenser") version "0.6.1" id("me.qoomon.git-versioning") version "6.4.3" id("com.gorylenko.gradle-git-properties") version "2.4.2" - id("io.freefair.lombok") version "8.7.1" - id("io.freefair.javadoc-links") version "8.7.1" - id("io.freefair.javadoc-utf-8") version "8.7.1" - id("io.freefair.maven-central.validate-poms") version "8.7.1" + id("io.freefair.lombok") version "8.10" + id("io.freefair.javadoc-links") version "8.10" + id("io.freefair.javadoc-utf-8") version "8.10" + id("io.freefair.maven-central.validate-poms") version "8.10" id("com.github.ben-manes.versions") version "0.51.0" id("ru.vyarus.pom") version "3.0.0" id("io.codearte.nexus-staging") version "0.30.0" From bd2f013926994483af093952e88a4b7e91391eb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Aug 2024 07:04:52 +0000 Subject: [PATCH 4/7] Bump me.qoomon.git-versioning from 6.4.3 to 6.4.4 Bumps me.qoomon.git-versioning from 6.4.3 to 6.4.4. --- updated-dependencies: - dependency-name: me.qoomon.git-versioning dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 47fc240..ee2146b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { jacoco signing id("org.cadixdev.licenser") version "0.6.1" - id("me.qoomon.git-versioning") version "6.4.3" + id("me.qoomon.git-versioning") version "6.4.4" id("com.gorylenko.gradle-git-properties") version "2.4.2" id("io.freefair.lombok") version "8.10" id("io.freefair.javadoc-links") version "8.10" From 8240c395ffe26a7fdef138c0d37c51952270d6db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 15:51:55 +0000 Subject: [PATCH 5/7] Bump the freefair group across 1 directory with 4 updates Bumps the freefair group with 4 updates in the / directory: [io.freefair.lombok](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-links](https://github.com/freefair/gradle-plugins), [io.freefair.javadoc-utf-8](https://github.com/freefair/gradle-plugins) and [io.freefair.maven-central.validate-poms](https://github.com/freefair/gradle-plugins). Updates `io.freefair.lombok` from 8.10 to 8.11 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.10...8.11) Updates `io.freefair.javadoc-links` from 8.10 to 8.11 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.10...8.11) Updates `io.freefair.javadoc-utf-8` from 8.10 to 8.11 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.10...8.11) Updates `io.freefair.maven-central.validate-poms` from 8.10 to 8.11 - [Release notes](https://github.com/freefair/gradle-plugins/releases) - [Commits](https://github.com/freefair/gradle-plugins/compare/8.10...8.11) --- updated-dependencies: - dependency-name: io.freefair.lombok dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-links dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.javadoc-utf-8 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair - dependency-name: io.freefair.maven-central.validate-poms dependency-type: direct:production update-type: version-update:semver-minor dependency-group: freefair ... Signed-off-by: dependabot[bot] --- build.gradle.kts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index ee2146b..1626cad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,10 +9,10 @@ plugins { id("org.cadixdev.licenser") version "0.6.1" id("me.qoomon.git-versioning") version "6.4.4" id("com.gorylenko.gradle-git-properties") version "2.4.2" - id("io.freefair.lombok") version "8.10" - id("io.freefair.javadoc-links") version "8.10" - id("io.freefair.javadoc-utf-8") version "8.10" - id("io.freefair.maven-central.validate-poms") version "8.10" + id("io.freefair.lombok") version "8.11" + id("io.freefair.javadoc-links") version "8.11" + id("io.freefair.javadoc-utf-8") version "8.11" + id("io.freefair.maven-central.validate-poms") version "8.11" id("com.github.ben-manes.versions") version "0.51.0" id("ru.vyarus.pom") version "3.0.0" id("io.codearte.nexus-staging") version "0.30.0" From a22c5e13f2b407bfa2bd9ee5fc3d668d49d7ac29 Mon Sep 17 00:00:00 2001 From: theshadowco Date: Wed, 1 Jan 2025 15:28:48 +0300 Subject: [PATCH 6/7] =?UTF-8?q?1.=20NewYear=202.=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9=203.=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B3=D1=80=D0=B0=D0=B4=D0=BB=204.=20=D0=BC=D0=B5=D0=BB=D0=BA?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=84=D0=B8=D0=BA=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 2 +- build.gradle.kts | 12 +++-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../com/github/_1c_syntax/utils/Absolute.java | 44 ++++++++++++++++++- .../utils/CaseInsensitivePattern.java | 2 +- .../_1c_syntax/utils/GenericInterner.java | 13 +++++- .../com/github/_1c_syntax/utils/Lazy.java | 2 +- .../_1c_syntax/utils/StringInterner.java | 2 +- .../github/_1c_syntax/utils/AbsoluteTest.java | 2 +- .../_1c_syntax/utils/StringInternerTest.java | 2 +- 10 files changed, 66 insertions(+), 17 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 3371446..4e6a53a 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -6,7 +6,7 @@ - + diff --git a/build.gradle.kts b/build.gradle.kts index 1626cad..cd346ad 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,13 +40,11 @@ repositories { mavenCentral() } -val junitVersion = "5.7.0" - dependencies { - compileOnly("com.github.spotbugs:spotbugs-annotations:4.8.6") - testImplementation("org.junit.jupiter", "junit-jupiter-api", junitVersion) - testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", junitVersion) - testImplementation("org.assertj", "assertj-core", "3.18.1") + compileOnly("com.github.spotbugs", "spotbugs-annotations", "4.8.6") + testImplementation("org.junit.jupiter", "junit-jupiter-api", "5.11.4") + testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", "5.11.4") + testImplementation("org.assertj", "assertj-core", "3.27.0") } java { @@ -81,7 +79,7 @@ tasks.check { tasks.jacocoTestReport { reports { xml.required.set(true) - xml.outputLocation.set(File("$buildDir/reports/jacoco/test/jacoco.xml")) + xml.outputLocation.set(layout.buildDirectory.file("reports/jacoco/test/jacoco.xml")) } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 509c4a2..18362b7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/com/github/_1c_syntax/utils/Absolute.java b/src/main/java/com/github/_1c_syntax/utils/Absolute.java index c81007f..9871ebb 100644 --- a/src/main/java/com/github/_1c_syntax/utils/Absolute.java +++ b/src/main/java/com/github/_1c_syntax/utils/Absolute.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later @@ -40,6 +40,12 @@ @UtilityClass public final class Absolute { + /** + * Получение URI из строки + * + * @param uri - строковое представление URI + * @return - полученное значение + */ public static URI uri(@NonNull String uri) { try { var url = new URL(uri); @@ -60,28 +66,64 @@ public static URI uri(@NonNull String uri) { } } + /** + * Получение абсолютного URI из URI с валидацией + * + * @param uri - исходный URI + * @return - полученное значение + */ public static URI uri(@NonNull URI uri) { var decodedUri = URI.create(uri.getScheme() + ":" + encodePath(uri.getSchemeSpecificPart())); return checkFileAuthorityAndReturnURI(decodedUri); } + /** + * Получение URI файла + * + * @param file - исходный файл + * @return - полученное значение + */ public static URI uri(@NonNull File file) { return uri(path(file).toUri()); } + /** + * Получение пути (path) из строки + * + * @param path - строковое представление пути + * @return - полученное значение + */ public static Path path(@NonNull String path) { return path(Path.of(path)); } + /** + * Получение пути (path) из URI + * + * @param uri - исходное значение URI + * @return - полученное значение + */ public static Path path(@NonNull URI uri) { return path(Path.of(uri(uri))); } + /** + * Получение абсолютного пути (path) из Path + * + * @param path - исходное значение пути + * @return - полученное значение + */ public static Path path(@NonNull Path path) { return path(path.toFile()); } + /** + * Получение пути файла + * + * @param file - исходный файл + * @return - полученное значение + */ @SneakyThrows public static Path path(@NonNull File file) { return file.getCanonicalFile().toPath().toAbsolutePath(); diff --git a/src/main/java/com/github/_1c_syntax/utils/CaseInsensitivePattern.java b/src/main/java/com/github/_1c_syntax/utils/CaseInsensitivePattern.java index de18ff9..25840b2 100644 --- a/src/main/java/com/github/_1c_syntax/utils/CaseInsensitivePattern.java +++ b/src/main/java/com/github/_1c_syntax/utils/CaseInsensitivePattern.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/java/com/github/_1c_syntax/utils/GenericInterner.java b/src/main/java/com/github/_1c_syntax/utils/GenericInterner.java index 7cf86a2..35d98c3 100644 --- a/src/main/java/com/github/_1c_syntax/utils/GenericInterner.java +++ b/src/main/java/com/github/_1c_syntax/utils/GenericInterner.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later @@ -25,17 +25,26 @@ import java.util.concurrent.ConcurrentHashMap; /** - * Реализация интернера + * Реализация универсального интернера */ public class GenericInterner { private final Map map = new ConcurrentHashMap<>(); + /** + * Метод интернирования значения + * + * @param object Интернируемый объект + * @return значение из кеша + */ public T intern(T object) { var exist = map.putIfAbsent(object, object); return (exist == null) ? object : exist; } + /** + * Очистка кеша интернера + */ public void clear() { map.clear(); } diff --git a/src/main/java/com/github/_1c_syntax/utils/Lazy.java b/src/main/java/com/github/_1c_syntax/utils/Lazy.java index 32c5b5b..194c87e 100644 --- a/src/main/java/com/github/_1c_syntax/utils/Lazy.java +++ b/src/main/java/com/github/_1c_syntax/utils/Lazy.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/java/com/github/_1c_syntax/utils/StringInterner.java b/src/main/java/com/github/_1c_syntax/utils/StringInterner.java index 5954f27..9d03a52 100644 --- a/src/main/java/com/github/_1c_syntax/utils/StringInterner.java +++ b/src/main/java/com/github/_1c_syntax/utils/StringInterner.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/test/java/com/github/_1c_syntax/utils/AbsoluteTest.java b/src/test/java/com/github/_1c_syntax/utils/AbsoluteTest.java index ce752ea..2a60543 100644 --- a/src/test/java/com/github/_1c_syntax/utils/AbsoluteTest.java +++ b/src/test/java/com/github/_1c_syntax/utils/AbsoluteTest.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/test/java/com/github/_1c_syntax/utils/StringInternerTest.java b/src/test/java/com/github/_1c_syntax/utils/StringInternerTest.java index 25219c2..8986bff 100644 --- a/src/test/java/com/github/_1c_syntax/utils/StringInternerTest.java +++ b/src/test/java/com/github/_1c_syntax/utils/StringInternerTest.java @@ -1,7 +1,7 @@ /* * This file is a part of 1c-syntax utils. * - * Copyright (c) 2018-2024 + * Copyright (c) 2018-2025 * Alexey Sosnoviy , Nikita Fedkin and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later From 1a1b4b08169e86614fa065c6b5c3b5b0e45865be Mon Sep 17 00:00:00 2001 From: theshadowco Date: Wed, 1 Jan 2025 15:30:41 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E=20jdk=20=D0=BD=D0=B0=20?= =?UTF-8?q?21?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 95d6479..e2882f9 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - java_version: ['17', '20'] + java_version: ['17', '21'] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v4