-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
module-info.java #3451
module-info.java #3451
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3451 +/- ##
============================================
+ Coverage 37.86% 37.88% +0.01%
- Complexity 17079 17083 +4
============================================
Files 2092 2091 -1
Lines 127596 127489 -107
Branches 21478 21460 -18
============================================
- Hits 48316 48297 -19
+ Misses 73355 73286 -69
+ Partials 5925 5906 -19 ☔ View full report in Codecov by Sentry. |
I think using modules makes sense. But if there is a demand to remove the |
The JPMS is a very complicated thingy. It depends whether your Jars are in the classpath or module-path. The later one are recognised as modules. the first one is put into the unnamed module. But also Gradle and Maven have implemented some module magic to detect the suitable "path" for a Jar file. I think we should do it right, and for this, I need to update and release the Docking Frames library, as this library also has package clashes. |
@WolframPfeifer Your extension is not JPMS-ready due to ST4. |
- add SNAPSHOT of dockingframes - removal of JUnit4 from root gradle
closed in favor #3473 |
This pull request adds module support in KeY by adding
module-info.java
and doing the necessary stuff. Modules forkey.util
andkey.ncore
have already been added by @Drodt onmain
. This is dangerous situation where some jars are modules, some are not.There are two main issues with modules in KeY:
This PR does not change the package names, when not necessary.
Benefits: Along with adding the Java modules, various errors appeared and got repaired.
For examples, the slicing extension was added in the
META-INF
in KeYStatus
In general this PR is ready!
Except for one thing: We have a problem with ST4 library added by
keyext.proofmanagement
, due to the lack of module in ST4. There is a very old issue on antlr/stringtemplate4 open.There are two solutions:
This PR also removes the JUnit 4 libraries and support of all key submodules.
This is one origin of errors when test cases can not be found. (There was only one JUnit test class left). JUnit 4 is still present in module
recoder
.There was a new version of docking frames needed, which I have build and added as a SNAPSHOT. This version will be publish to maven central when this PR is accepted.
sun.misc.Signal
: The signal handling for SIGTERM is dropped. On some (linux) computer, this does not work properly all times (you can not abort KeY anymore). On Windows, gradle prompts a compile error. In the end,Signal
class is part of thejdk.unsupported
module. At this point you should recognise that is more luck that it works.Note: Spotless format is terrible broken on
module-info.java
.Plan
key.ext
librariesType of pull request