diff --git a/benchmark/build.gradle b/benchmark/build.gradle index 301acbd..2aed46e 100644 --- a/benchmark/build.gradle +++ b/benchmark/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java-library' alias(catalog.plugins.lombok) alias(catalog.plugins.envelope) + alias(catalog.plugins.native.image) } repositories { @@ -12,7 +13,6 @@ dependencies { implementation project(':') } -envelopeJar { +application { mainClass = 'net.woggioni.jwo.benchmark.Main' } - diff --git a/benchmark/native-image/jni-config.json b/benchmark/native-image/jni-config.json new file mode 100644 index 0000000..8b4e417 --- /dev/null +++ b/benchmark/native-image/jni-config.json @@ -0,0 +1,6 @@ +[ +{ + "name":"java.lang.Boolean", + "methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }] +} +] diff --git a/benchmark/native-image/native-image.properties b/benchmark/native-image/native-image.properties new file mode 100644 index 0000000..680b1b3 --- /dev/null +++ b/benchmark/native-image/native-image.properties @@ -0,0 +1 @@ +Args=-H:Optimize=3 --initialize-at-build-time=net.woggioni.jwo.benchmark.Main \ No newline at end of file diff --git a/benchmark/native-image/predefined-classes-config.json b/benchmark/native-image/predefined-classes-config.json new file mode 100644 index 0000000..0e79b2c --- /dev/null +++ b/benchmark/native-image/predefined-classes-config.json @@ -0,0 +1,8 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] + diff --git a/benchmark/native-image/proxy-config.json b/benchmark/native-image/proxy-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/benchmark/native-image/proxy-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/benchmark/native-image/reflect-config.json b/benchmark/native-image/reflect-config.json new file mode 100644 index 0000000..b1610d8 --- /dev/null +++ b/benchmark/native-image/reflect-config.json @@ -0,0 +1,128 @@ +[ +{ + "name":"com.sun.crypto.provider.AESCipher$General", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"com.sun.crypto.provider.ARCFOURCipher", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"com.sun.crypto.provider.DESCipher", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"com.sun.crypto.provider.DESedeCipher", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"java.security.AlgorithmParametersSpi" +}, +{ + "name":"java.security.KeyStoreSpi" +}, +{ + "name":"java.security.SecureRandomParameters" +}, +{ + "name":"javax.security.auth.x500.X500Principal", + "fields":[{"name":"thisX500Name"}], + "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] +}, +{ + "name":"sun.security.pkcs12.PKCS12KeyStore", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.JavaKeyStore$JKS", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.NativePRNG", + "methods":[{"name":"","parameterTypes":[] }, {"name":"","parameterTypes":["java.security.SecureRandomParameters"] }] +}, +{ + "name":"sun.security.provider.SHA", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.provider.X509Factory", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.rsa.RSAKeyFactory$Legacy", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.ssl.KeyManagerFactoryImpl$SunX509", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.ssl.SSLContextImpl$DefaultSSLContext", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"sun.security.x509.AuthorityInfoAccessExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.AuthorityKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.BasicConstraintsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CRLDistributionPointsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.CertificatePoliciesExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.ExtendedKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.IssuerAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.KeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.NetscapeCertTypeExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.PrivateKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +}, +{ + "name":"sun.security.x509.SubjectKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] +} +] diff --git a/benchmark/native-image/resource-config.json b/benchmark/native-image/resource-config.json new file mode 100644 index 0000000..6030923 --- /dev/null +++ b/benchmark/native-image/resource-config.json @@ -0,0 +1,7 @@ +{ + "resources":{ + "includes":[{ + "pattern":"\\Qrender_template_test.txt\\E" + }]}, + "bundles":[] +} diff --git a/benchmark/native-image/serialization-config.json b/benchmark/native-image/serialization-config.json new file mode 100644 index 0000000..f3d7e06 --- /dev/null +++ b/benchmark/native-image/serialization-config.json @@ -0,0 +1,8 @@ +{ + "types":[ + ], + "lambdaCapturingTypes":[ + ], + "proxies":[ + ] +} diff --git a/benchmark/src/main/java/net/woggioni/jwo/benchmark/Main.java b/benchmark/src/main/java/net/woggioni/jwo/benchmark/Main.java index e42b27a..4f53bc8 100644 --- a/benchmark/src/main/java/net/woggioni/jwo/benchmark/Main.java +++ b/benchmark/src/main/java/net/woggioni/jwo/benchmark/Main.java @@ -2,9 +2,9 @@ package net.woggioni.jwo.benchmark; import lombok.SneakyThrows; import net.woggioni.jwo.Chronometer; +import net.woggioni.jwo.CircularInputStream; import net.woggioni.jwo.CollectionUtils; import net.woggioni.jwo.JWO; -import net.woggioni.jwo.CircularInputStream; import net.woggioni.jwo.Tuple2; import java.io.InputStream; diff --git a/build.gradle b/build.gradle index 2e4c16d..de90546 100644 --- a/build.gradle +++ b/build.gradle @@ -3,6 +3,7 @@ plugins { id 'maven-publish' alias(catalog.plugins.multi.release.jar) alias(catalog.plugins.lombok) + alias(catalog.plugins.sambal) } allprojects { @@ -18,6 +19,14 @@ allprojects { pluginManager.withPlugin('java-library') { + java { + + toolchain { + languageVersion = JavaLanguageVersion.of(17) + vendor = JvmVendorSpec.GRAAL_VM + } + } + dependencies { testImplementation catalog.junit.jupiter.api testImplementation catalog.junit.jupiter.params @@ -36,6 +45,14 @@ allprojects { } pluginManager.withPlugin('maven-publish') { + + pluginManager.withPlugin('java-library') { + java { + withJavadocJar() + withSourcesJar() + } + } + publishing { repositories { maven { @@ -51,11 +68,6 @@ allprojects { } } -java { - withJavadocJar() - withSourcesJar() -} - ext { setProperty('jpms.module.name', 'net.woggioni.jwo') } @@ -70,11 +82,6 @@ dependencies { pathClassloaderTest group: 'com.google.inject', name: 'guice', version: getProperty('guice.version') } -java { - withJavadocJar() - withSourcesJar() -} - compileJava { options.release = 8 options.compilerArgs << '-parameters' @@ -104,5 +111,3 @@ test { } - - diff --git a/gradle.properties b/gradle.properties index 91930f7..3aa4afb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -jwo.version = 2023.10.01 -lys.version = 2023.09.26 +jwo.version = 2023.10.05 +lys.version = 2023.10.05 guice.version = 5.0.1 diff --git a/jmath-benchmark/build.gradle b/jmath-benchmark/build.gradle index 41929ef..255c3a7 100644 --- a/jmath-benchmark/build.gradle +++ b/jmath-benchmark/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java-library' alias(catalog.plugins.lombok) alias(catalog.plugins.envelope) + alias(catalog.plugins.native.image) } repositories { @@ -12,7 +13,10 @@ dependencies { implementation project(':jmath') } -envelopeJar { +application { mainClass = 'net.woggioni.jmath.benchmark.Main' } +configureNativeImage { + args('20') +} diff --git a/jmath-benchmark/native-image/jni-config.json b/jmath-benchmark/native-image/jni-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/jmath-benchmark/native-image/jni-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/jmath-benchmark/native-image/native-image.properties b/jmath-benchmark/native-image/native-image.properties new file mode 100644 index 0000000..e2f5110 --- /dev/null +++ b/jmath-benchmark/native-image/native-image.properties @@ -0,0 +1 @@ +Args=-H:Optimize=3 --initialize-at-build-time=net.woggioni.jmath.benchmark.Main \ No newline at end of file diff --git a/jmath-benchmark/native-image/predefined-classes-config.json b/jmath-benchmark/native-image/predefined-classes-config.json new file mode 100644 index 0000000..0e79b2c --- /dev/null +++ b/jmath-benchmark/native-image/predefined-classes-config.json @@ -0,0 +1,8 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] + diff --git a/jmath-benchmark/native-image/proxy-config.json b/jmath-benchmark/native-image/proxy-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/jmath-benchmark/native-image/proxy-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/jmath-benchmark/native-image/reflect-config.json b/jmath-benchmark/native-image/reflect-config.json new file mode 100644 index 0000000..0d4f101 --- /dev/null +++ b/jmath-benchmark/native-image/reflect-config.json @@ -0,0 +1,2 @@ +[ +] diff --git a/jmath-benchmark/native-image/resource-config.json b/jmath-benchmark/native-image/resource-config.json new file mode 100644 index 0000000..791ea0f --- /dev/null +++ b/jmath-benchmark/native-image/resource-config.json @@ -0,0 +1,5 @@ +{ + "resources":{ + "includes":[]}, + "bundles":[] +} diff --git a/jmath-benchmark/native-image/serialization-config.json b/jmath-benchmark/native-image/serialization-config.json new file mode 100644 index 0000000..f3d7e06 --- /dev/null +++ b/jmath-benchmark/native-image/serialization-config.json @@ -0,0 +1,8 @@ +{ + "types":[ + ], + "lambdaCapturingTypes":[ + ], + "proxies":[ + ] +} diff --git a/jmath/build.gradle b/jmath/build.gradle index 951da63..6c8317f 100644 --- a/jmath/build.gradle +++ b/jmath/build.gradle @@ -11,8 +11,4 @@ dependencies { java { withJavadocJar() withSourcesJar() - - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } } \ No newline at end of file diff --git a/jmath/src/main/java/net/woggioni/jmath/BigIntegerExt.java b/jmath/src/main/java/net/woggioni/jmath/BigIntegerExt.java index 92b5fdd..c0de8c4 100644 --- a/jmath/src/main/java/net/woggioni/jmath/BigIntegerExt.java +++ b/jmath/src/main/java/net/woggioni/jmath/BigIntegerExt.java @@ -4,7 +4,6 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import java.math.BigInteger; -import java.util.Objects; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class BigIntegerExt { @@ -29,21 +28,6 @@ public class BigIntegerExt { return a; } -// static BigInteger gcd(BigInteger n1, BigInteger n2) { -// BigInteger remainder; -// BigInteger result; -// while (true) { -// remainder = n1.mod(n2); -// result = n2; -// if (BigInteger.ZERO.equals(remainder)) break; -// else { -// n1 = n2; -// n2 = remainder; -// } -// } -// return result; -// } - public static BigInteger mcm(BigInteger n1, BigInteger n2) { return n1.multiply(n2).divide(gcd(n1, n2)); } diff --git a/jmath/src/test/java/net/woggioni/jmath/MatrixTest.java b/jmath/src/test/java/net/woggioni/jmath/MatrixTest.java index 61caba2..3ddc3d8 100644 --- a/jmath/src/test/java/net/woggioni/jmath/MatrixTest.java +++ b/jmath/src/test/java/net/woggioni/jmath/MatrixTest.java @@ -4,7 +4,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import java.util.Optional; import java.util.Random; import java.util.function.IntFunction; import java.util.stream.IntStream; diff --git a/jmath/src/test/java/net/woggioni/jmath/RationalTest.java b/jmath/src/test/java/net/woggioni/jmath/RationalTest.java index 379a8aa..b145cbd 100644 --- a/jmath/src/test/java/net/woggioni/jmath/RationalTest.java +++ b/jmath/src/test/java/net/woggioni/jmath/RationalTest.java @@ -9,9 +9,10 @@ import org.junit.jupiter.params.provider.ArgumentsProvider; import org.junit.jupiter.params.provider.ArgumentsSource; import java.math.BigInteger; -import static java.math.BigInteger.valueOf; import java.util.stream.Stream; +import static java.math.BigInteger.valueOf; + public class RationalTest { private enum Operation { diff --git a/src/main/java/net/woggioni/jwo/CollectionUtils.java b/src/main/java/net/woggioni/jwo/CollectionUtils.java index 93b0341..9ab8ec1 100644 --- a/src/main/java/net/woggioni/jwo/CollectionUtils.java +++ b/src/main/java/net/woggioni/jwo/CollectionUtils.java @@ -1,6 +1,20 @@ package net.woggioni.jwo; -import java.util.*; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.NavigableMap; +import java.util.NavigableSet; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; import java.util.function.BiConsumer; import java.util.function.BinaryOperator; import java.util.function.Function; diff --git a/src/main/java/net/woggioni/jwo/JavaVersion.java b/src/main/java/net/woggioni/jwo/JavaVersion.java index 97afca6..d177020 100644 --- a/src/main/java/net/woggioni/jwo/JavaVersion.java +++ b/src/main/java/net/woggioni/jwo/JavaVersion.java @@ -1,10 +1,6 @@ package net.woggioni.jwo; -import lombok.SneakyThrows; - -import java.io.InputStreamReader; -import java.io.Reader; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/woggioni/jwo/ListView.java b/src/main/java/net/woggioni/jwo/ListView.java index a06dabf..5406ec3 100644 --- a/src/main/java/net/woggioni/jwo/ListView.java +++ b/src/main/java/net/woggioni/jwo/ListView.java @@ -2,7 +2,12 @@ package net.woggioni.jwo; import lombok.RequiredArgsConstructor; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Objects; import static java.lang.Math.min; diff --git a/src/main/java/net/woggioni/jwo/LruCache.java b/src/main/java/net/woggioni/jwo/LruCache.java index c8993cd..305cb12 100644 --- a/src/main/java/net/woggioni/jwo/LruCache.java +++ b/src/main/java/net/woggioni/jwo/LruCache.java @@ -2,7 +2,11 @@ package net.woggioni.jwo; import lombok.Getter; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Stream; diff --git a/src/main/java/net/woggioni/jwo/PathClassLoader.java b/src/main/java/net/woggioni/jwo/PathClassLoader.java index 05b2d55..5286490 100644 --- a/src/main/java/net/woggioni/jwo/PathClassLoader.java +++ b/src/main/java/net/woggioni/jwo/PathClassLoader.java @@ -11,9 +11,17 @@ import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; -import java.nio.file.*; +import java.nio.file.FileVisitResult; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; /** * A classloader that loads classes from a {@link Path} instance diff --git a/src/main/java/net/woggioni/jwo/Tuple2.java b/src/main/java/net/woggioni/jwo/Tuple2.java index 196fc71..60678b7 100644 --- a/src/main/java/net/woggioni/jwo/Tuple2.java +++ b/src/main/java/net/woggioni/jwo/Tuple2.java @@ -1,8 +1,9 @@ package net.woggioni.jwo; +import net.woggioni.jwo.internal.Tuple2Impl; + import java.util.Comparator; import java.util.function.Function; -import net.woggioni.jwo.internal.Tuple2Impl; public interface Tuple2 { T get_1(); diff --git a/src/main/java/net/woggioni/jwo/Tuple3.java b/src/main/java/net/woggioni/jwo/Tuple3.java index ebc4889..e5c18df 100644 --- a/src/main/java/net/woggioni/jwo/Tuple3.java +++ b/src/main/java/net/woggioni/jwo/Tuple3.java @@ -1,8 +1,9 @@ package net.woggioni.jwo; -import java.util.Comparator; import net.woggioni.jwo.internal.Tuple3Impl; +import java.util.Comparator; + public interface Tuple3 { T get_1(); U get_2(); diff --git a/src/test/java/net/woggioni/jwo/CircularBufferTest.java b/src/test/java/net/woggioni/jwo/CircularBufferTest.java index cab9db0..fb00732 100644 --- a/src/test/java/net/woggioni/jwo/CircularBufferTest.java +++ b/src/test/java/net/woggioni/jwo/CircularBufferTest.java @@ -1,7 +1,6 @@ package net.woggioni.jwo; import lombok.SneakyThrows; -import net.woggioni.jwo.CircularBuffer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/woggioni/jwo/ExtractorInputStreamTest.java b/src/test/java/net/woggioni/jwo/ExtractorInputStreamTest.java index bdc9056..d7983df 100644 --- a/src/test/java/net/woggioni/jwo/ExtractorInputStreamTest.java +++ b/src/test/java/net/woggioni/jwo/ExtractorInputStreamTest.java @@ -10,7 +10,14 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.nio.file.*; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.NavigableMap; import java.util.Objects; diff --git a/src/test/java/net/woggioni/jwo/JWOTest.java b/src/test/java/net/woggioni/jwo/JWOTest.java index f45875a..b216e18 100644 --- a/src/test/java/net/woggioni/jwo/JWOTest.java +++ b/src/test/java/net/woggioni/jwo/JWOTest.java @@ -3,7 +3,6 @@ package net.woggioni.jwo; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledOnOs; import org.junit.jupiter.api.condition.OS; @@ -11,13 +10,19 @@ import org.junit.jupiter.api.io.TempDir; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.EnumSource; -import java.io.*; +import java.io.InputStreamReader; +import java.io.Reader; import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.attribute.PosixFileAttributes; import java.nio.file.attribute.UserPrincipal; -import java.util.*; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; diff --git a/src/test/java/net/woggioni/jwo/LruCacheTest.java b/src/test/java/net/woggioni/jwo/LruCacheTest.java index 401f905..d69dbd6 100644 --- a/src/test/java/net/woggioni/jwo/LruCacheTest.java +++ b/src/test/java/net/woggioni/jwo/LruCacheTest.java @@ -8,7 +8,12 @@ import org.junit.jupiter.api.Test; import java.io.Serializable; import java.security.MessageDigest; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; import java.util.function.Function; @EqualsAndHashCode diff --git a/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java b/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java index a558a33..57ec899 100644 --- a/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java +++ b/src/test/java/net/woggioni/jwo/PathClassLoaderTest.java @@ -1,7 +1,6 @@ package net.woggioni.jwo; import lombok.SneakyThrows; -import net.woggioni.jwo.PathClassLoader; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/woggioni/jwo/TreeWalkerTest.java b/src/test/java/net/woggioni/jwo/TreeWalkerTest.java index 294b78c..4f33471 100644 --- a/src/test/java/net/woggioni/jwo/TreeWalkerTest.java +++ b/src/test/java/net/woggioni/jwo/TreeWalkerTest.java @@ -5,7 +5,12 @@ import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; diff --git a/src/test/java/net/woggioni/jwo/compression/CompressionOutputStreamTest.java b/src/test/java/net/woggioni/jwo/compression/CompressionOutputStreamTest.java index ae21f74..88f15c9 100644 --- a/src/test/java/net/woggioni/jwo/compression/CompressionOutputStreamTest.java +++ b/src/test/java/net/woggioni/jwo/compression/CompressionOutputStreamTest.java @@ -7,7 +7,11 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; -import java.io.*; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; import java.security.DigestInputStream; import java.security.MessageDigest; import java.util.Arrays;