diff --git a/core/src/main/java/org/moditect/internal/parser/JdepsExtraArgsExtractor.java b/core/src/main/java/org/moditect/internal/parser/JdepsExtraArgsExtractor.java index 4871d72..704bcba 100644 --- a/core/src/main/java/org/moditect/internal/parser/JdepsExtraArgsExtractor.java +++ b/core/src/main/java/org/moditect/internal/parser/JdepsExtraArgsExtractor.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Optional; +import java.util.jar.JarFile; public final class JdepsExtraArgsExtractor { @@ -71,6 +72,13 @@ private Optional extractVersionFromSameArgument(String multiReleaseArgu } private Optional parseVersionNumber(String versionString) { + if ("base".equals(versionString)) { + // "base" basically means "put the file at the root instead of inside versions/" + // See https://github.com/openjdk/jdk/blob/5740a3b6e635456b34b4f31d0f1e84d3e746b796/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java#L274-L275 + // See https://github.com/openjdk/jdk/blob/5740a3b6e635456b34b4f31d0f1e84d3e746b796/src/java.base/share/classes/java/util/jar/JarFile.java#L179 + // See https://github.com/openjdk/jdk/blob/5740a3b6e635456b34b4f31d0f1e84d3e746b796/src/java.base/share/classes/java/util/jar/JarFile.java#L604 + return Optional.empty(); + } try { return Optional.of(Integer.parseInt(versionString)); } catch (NumberFormatException ex) {