Skip to content
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

Refactor unshimmed classes into a separate Maven module #9104

Closed
jlowe opened this issue Aug 24, 2023 · 2 comments
Closed

Refactor unshimmed classes into a separate Maven module #9104

jlowe opened this issue Aug 24, 2023 · 2 comments
Labels
build Related to CI / CD or cleanly building duplicate This issue or pull request already exists

Comments

@jlowe
Copy link
Member

jlowe commented Aug 24, 2023

We've hit a few problems recently with unshimmed classes referencing shimmed classes directly which is problematic at runtime when the unshimmed class is not using the classloader that is parallel-world aware. It would be nice to catch these issues at build time. One way to do that is to refactor the code so that the shimmed and unshimmed classes are in separate Maven modules. The shimmed module would depend on the unshimmed module but not vice-versa. That way unshimmed classes are not allowed to reference shimmed classes except via the ShimLoader interface or similar reflection techniques, and the build will fail if attempting to reference them directly.

@jlowe jlowe added ? - Needs Triage Need team to review and classify build Related to CI / CD or cleanly building labels Aug 24, 2023
@gerashegalov
Copy link
Collaborator

looks like a duplicate of #6565

@jlowe
Copy link
Member Author

jlowe commented Aug 25, 2023

Yes, completely! Thanks @gerashegalov I missed that when I went searching for it earlier.

@jlowe jlowe closed this as completed Aug 25, 2023
@jlowe jlowe added the duplicate This issue or pull request already exists label Aug 25, 2023
@sameerz sameerz removed the ? - Needs Triage Need team to review and classify label Sep 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to CI / CD or cleanly building duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

3 participants