diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 748e707..4beb5ab 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -4,13 +4,13 @@ on: branches: [ master ] jobs: build: - runs-on: woryzen + runs-on: hostinger steps: - name: Checkout sources uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: - distribution: temurin + distribution: graalvm java-version: 21 - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 diff --git a/benchmark/native-image/resource-config.json b/benchmark/native-image/resource-config.json index 6030923..bb621bc 100644 --- a/benchmark/native-image/resource-config.json +++ b/benchmark/native-image/resource-config.json @@ -1,6 +1,12 @@ { "resources":{ "includes":[{ + "pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E" + }, { + "pattern":"\\QMETA-INF/services/java.net.spi.URLStreamHandlerProvider\\E" + }, { + "pattern":"\\QMETA-INF/services/java.time.zone.ZoneRulesProvider\\E" + }, { "pattern":"\\Qrender_template_test.txt\\E" }]}, "bundles":[] diff --git a/build.gradle b/build.gradle index b01348b..49ad573 100644 --- a/build.gradle +++ b/build.gradle @@ -136,11 +136,13 @@ test { }.first() systemProperties([ 'junit.jupiter.engine.jar' : junitJupiterEngineJar.toString(), - 'path.classloader.test.bundle' : pathClassLoaderTestBundleTask.get().outputs.files.singleFile, + 'path.classloader.test.bundle' : pathClassLoaderTestBundleTask.flatMap { it.archiveFile }.get().asFile, 'zip.test.bundle' : configurations.zipTestBundle.singleFile ]) - jvmArgs(['--add-opens', 'java.base/sun.nio.fs=ALL-UNNAMED']) + jvmArgs([ + '--add-opens', 'java.base/sun.nio.fs=ALL-UNNAMED', + ]) } diff --git a/gradle.properties b/gradle.properties index 97775a6..045d73b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,8 @@ +org.gradle.configuration-cache=false +org.gradle.parallel=true +org.gradle.caching=true + gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven -jwo.version = 2024.07.06 -lys.version = 2024.07.06 +jwo.version = 2024.12.31 +lys.version = 2024.12.28 guice.version = 5.0.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..cea7a79 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.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..b740cf1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java b/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java index 57ec899..e3d4407 100644 --- a/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java +++ b/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java @@ -21,28 +21,29 @@ public class PathClassLoaderTest { @Test @SneakyThrows void test() { - FileSystem fs = FileSystems.newFileSystem(testBundle, (ClassLoader) null); - List paths = StreamSupport.stream(fs.getRootDirectories().spliterator(), false).flatMap(new Function>() { - @Override - @SneakyThrows - public Stream apply(Path path) { - return Files.list(path) - .filter(Files::isRegularFile) - .filter(p -> p.getFileName().toString().endsWith(".jar")); - } - }).flatMap(new Function>() { - @Override - @SneakyThrows - public Stream apply(Path path) { - System.out.println(path.getFileName().toString()); - return StreamSupport.stream(FileSystems.newFileSystem(path, (ClassLoader) null).getRootDirectories().spliterator(), false); - } - }).collect(Collectors.toUnmodifiableList()); - PathClassLoader classLoader = new PathClassLoader(paths); - Class[] cls = new Class[1]; - Assertions.assertDoesNotThrow(() -> { - cls[0] = classLoader.loadClass("com.google.common.collect.ImmutableMap"); - }); - Assertions.assertNotNull(cls[0]); + try(FileSystem fs = FileSystems.newFileSystem(testBundle, (ClassLoader) null)) { + List paths = StreamSupport.stream(fs.getRootDirectories().spliterator(), false).flatMap(new Function>() { + @Override + @SneakyThrows + public Stream apply(Path path) { + return Files.list(path) + .filter(Files::isRegularFile) + .filter(p -> p.getFileName().toString().endsWith(".jar")); + } + }).flatMap(new Function>() { + @Override + @SneakyThrows + public Stream apply(Path path) { + System.out.println(path.getFileName().toString()); + return StreamSupport.stream(FileSystems.newFileSystem(path, (ClassLoader) null).getRootDirectories().spliterator(), false); + } + }).collect(Collectors.toUnmodifiableList()); + PathClassLoader classLoader = new PathClassLoader(paths); + Class[] cls = new Class[1]; + Assertions.assertDoesNotThrow(() -> { + cls[0] = classLoader.loadClass("com.google.common.collect.ImmutableMap"); + }); + Assertions.assertNotNull(cls[0]); + } } }