Skip to content

module-info.java, 2nd attempt#3623

Closed
wadoon wants to merge 23 commits into
mainfrom
weigl/module
Closed

module-info.java, 2nd attempt#3623
wadoon wants to merge 23 commits into
mainfrom
weigl/module

Conversation

@wadoon

@wadoon wadoon commented Jun 19, 2025

Copy link
Copy Markdown
Member

Second run for module-info in KeY after the drop of ST4. Builds-upon #3621, should merged afterwards.

This pull request adds module support in KeY by adding module-info.java and doing the necessary stuff. There are three main issues with modules in KeY:

  • clashing Java packages (packages are sealed)
    (solved by renaming some packages)

  • Docking Frames is not-modularized
    (Baked a new version, with renamed packages. **This version is on central snapshot repo, and should then be deployed to Maven central)

  • Caching extension in wrong service file

Additional:

  • Removal of ANTLR2+3 from KeY.

Hint:

  • Isabelle translation added a Scala library, which breaks the Java module convention, but it seems not to break the JVM module system (invalid module name).

Type of pull request

  • Refactoring (behaviour should not change or only minimally change)

@wadoon wadoon self-assigned this Jun 19, 2025
@wadoon wadoon added this to the v2.12.4 milestone Jun 19, 2025
@wadoon wadoon changed the title weigl/module module-info.java, 2nd attempt Jun 20, 2025
@wadoon wadoon force-pushed the weigl/module branch 2 times, most recently from ef482fd to a10effd Compare June 29, 2025 22:44
@wadoon wadoon modified the milestones: v2.13.0, v2.14.0 Nov 21, 2025
@Drodt Drodt self-requested a review December 5, 2025 13:29
@Drodt

Drodt commented Dec 19, 2025

Copy link
Copy Markdown
Member

Is this really ready for review?

@wadoon

wadoon commented Dec 27, 2025

Copy link
Copy Markdown
Member Author

Is this really ready for review?

A review should wait for #3621. This PR builds upon it (removal of ST4).

@wadoon wadoon modified the milestones: NextMajor, 3.1.0 Mar 18, 2026
wadoon added 8 commits March 22, 2026 22:50
error in docking frames version, cannot find resource bundle

� Conflicts:
�	key.core.testgen/src/main/java/de/uka/ilkd/key/settings/TestGenerationSettings.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/ModelGenerator.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/TestGenerationSettings.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/macros/SemanticsBlastingMacro.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/settings/TestGenerationSettings.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/smt/testgen/AbstractTestGenerator.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/smt/testgen/MemoryTestGenerationLog.java
�	key.core.testgen/src/main/java/de/uka/ilkd/key/testgen/smt/testgen/TestGenerationLog.java
�	key.ui/src/main/java/de/uka/ilkd/key/ui/util/CommandLine.java
�	keyext.proofmanagement/src/main/java/org/key_project/proofmanagement/Main.java
�	keyext.ui.testgen/src/main/java/de/uka/ilkd/key/gui/testgen/TGInfoDialog.java
�	keyext.ui.testgen/src/main/java/de/uka/ilkd/key/gui/testgen/TGWorker.java
�	keyext.ui.testgen/src/main/java/de/uka/ilkd/key/gui/testgen/TestgenExtension.java
�	keyext.ui.testgen/src/main/java/de/uka/ilkd/key/gui/testgen/TestgenOptionsPanel.java
# Conflicts:
#	build.gradle
#	key.core.example/src/main/java/org/key_project/Main.java
@unp1 unp1 self-requested a review June 17, 2026 15:49

@unp1 unp1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Proof Caching extension is no longer there, when I start it via ./gradlew :key.ui:run

  • we need most likely a mainModule in addition/instead of mainClass

But the problem then could be that ServiceLoader.load(...) for proof macros, scrips, PO, etc. have no declared uses in module-infos no opens, which means the on the module path ...util.reflection thorws InaccessibleObjectExceptions which is aproblem when the application is run via classpath

Shoul dwe expose in key-core the requires directives as transitive, so that depending modules don;t have to redeclare them?

@wadoon

wadoon commented Jun 20, 2026

Copy link
Copy Markdown
Member Author

We should rather give up on modules. In KaKeY, the predecessor PR #3845 was also not favoured.

@wadoon wadoon closed this Jun 20, 2026
@wadoon

wadoon commented Jun 20, 2026

Copy link
Copy Markdown
Member Author

@unp1:

Should we expose in key-core the requires directives as transitive, so that depending modules don;t have to redeclare them?

That is something I have on different repos, I also already made a proposal with #3638.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants