Skip to content

Fix being unable to correctly load recipes whose superclasses come from other jars.#7338

Merged
sambsnyd merged 2 commits intomainfrom
dvc-extends
Apr 14, 2026
Merged

Fix being unable to correctly load recipes whose superclasses come from other jars.#7338
sambsnyd merged 2 commits intomainfrom
dvc-extends

Conversation

@sambsnyd
Copy link
Copy Markdown
Member

Relevant when the recipe's superclass isn't Recipe or ScanningRecipe and is in a different jar from the recipe itself.
Specifically came up in the context of Find and fix vulnerable dependencies.

In the process, got rid of classgraph. I had to work around it to get this working enough that I questioned if it was really doing anything worthwhile for us.

This uses substantially less memory during recipe loading.
It is slightly faster when loading recipes from a single jar with scanJar. Whole-classpath scanning is slower but that is less relevant than ever.

…s come from other jars.

In the process, got rid of classgraph.
…t performance.

Would all be better if we could cache the JDK types in a static field, but we've gone that route before unsuccessfully. Perhaps could load them from type tables?
@sambsnyd sambsnyd merged commit 839bfb7 into main Apr 14, 2026
1 check passed
@sambsnyd sambsnyd deleted the dvc-extends branch April 14, 2026 21:57
@github-project-automation github-project-automation bot moved this from In Progress to Done in OpenRewrite Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant