With some JDKs, System property java.version returns a single number, for example OpenJDK 17 early-access builds use 17.
This means the following parsing code in Moditect will fail:
|
public final class JavaVersionHelper { |
|
|
|
private static final String VERSION_REGEXP = "^(\\d+)\\.(\\d+)\\.(\\d+).*"; |
|
Version javaVersion(String versionString) { |
|
Matcher matcher = VERSION_PATTERN.matcher(versionString); |
|
if (!matcher.matches()) { |
|
warn("The java version " + versionString + " cannot be parsed as " + VERSION_REGEXP); |
|
return null; |
|
} |
As a result, #141 reappears: Moditect is unable to detect module-info.java if it's in versions/<some-version>.
[INFO] --- moditect-maven-plugin:1.0.0.RC2:add-module-info (add-module-infos) @ hibernate-search-util-common ---
writing to /home/yrodiere/workspaces/main/hibernate-search/util/common/target/moditect/org.hibernate.search.util.common/versions/9/module-info.java
[WARNING] The java version 17 cannot be parsed as ^(\d+)\.(\d+)\.(\d+).*
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Hibernate Search Root POM 6.2.0-SNAPSHOT:
[INFO]
[INFO] Hibernate Search Root POM .......................... SUCCESS [ 1.192 s]
[INFO] Hibernate Search Build - Config .................... SUCCESS [ 3.128 s]
[INFO] Hibernate Search Build - Surefire Extension ........ SUCCESS [ 1.637 s]
[INFO] Hibernate Search Parent POM for Internal Artifacts . SUCCESS [ 1.085 s]
[INFO] Hibernate Search Utils - Internal - Test - Common .. SUCCESS [ 4.502 s]
[INFO] Hibernate Search Utils - Internal - Test - ORM ..... SUCCESS [ 1.057 s]
[INFO] Hibernate Search Parent POM for Public Artifacts ... SUCCESS [ 1.109 s]
[INFO] Hibernate Search Utils - Common .................... FAILURE [ 7.770 s]
[INFO] Hibernate Search Engine ............................ SKIPPED
[... ommitted for brevity ...]
[INFO] Hibernate Search Reports ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.997 s
[INFO] Finished at: 2022-03-31T15:28:32+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.moditect:moditect-maven-plugin:1.0.0.RC2:add-module-info (add-module-infos) on project hibernate-search-util-common: Execution add-module-infos of goal org.moditect:moditect-maven-plugin:1.0.0.RC2:add-module-info failed: Couldn't parse /home/yrodiere/workspaces/main/hibernate-search/util/common/target/moditect/org.hibernate.search.util.common/module-info.java -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :hibernate-search-util-common
With some JDKs, System property
java.versionreturns a single number, for example OpenJDK 17 early-access builds use17.This means the following parsing code in Moditect will fail:
moditect/core/src/main/java/org/moditect/internal/parser/JavaVersionHelper.java
Lines 28 to 30 in d2cc464
moditect/core/src/main/java/org/moditect/internal/parser/JavaVersionHelper.java
Lines 70 to 75 in d2cc464
As a result, #141 reappears: Moditect is unable to detect
module-info.javaif it's inversions/<some-version>.