Make package sealable#3845
Open
wadoon wants to merge 13 commits into
Open
Conversation
# Conflicts: # keyext.caching/src/main/java/de/uka/ilkd/key/caching/gui/actions/CopyReferencedProof.java
b684c4b to
85f8c4d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description: Make Packages Sealable
Overview
This pull request refactors the KeY project's package structure to enable Java package sealing—a security feature that prevents unauthorized classes from being added to critical packages. The changes involve extensive package reorganization and restructuring across 470 files.
What are Sealable Packages and Why Are They Useful?
Sealable packages (also called sealed packages) are a Java security mechanism where you can seal a package within a JAR file to prevent other code from adding classes to that package. This is valuable because:
Main Changes in This PR
The PR makes packages sealable by:
Package Reorganization: Moving files from overly broad packages into more specific, focused packages:
de.uka.ilkd.key.ui.gui.*de.uka.ilkd.key.ui.core.*de.uka.ilkd.key.symbolic_execution.*de.uka.ilkd.key.ui.*Updated Imports: Adjusts 470 import statements throughout the codebase to reflect the new package structure
Build Configuration: Adds JAR manifest configuration to set the
Sealed: trueattribute, enabling the sealing mechanismType of pull request
Status
This PR is currently in draft mode and targets the v3.0.0 milestone. The scope is substantial (1,675 additions, 1,499 deletions across 470 files).
Ensuring quality
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.