Polish QuarkusClassLoaderHandler and FastPathResolver.#894
Merged
lukehutch merged 1 commit intoclassgraph:latestfrom Nov 11, 2024
Merged
Polish QuarkusClassLoaderHandler and FastPathResolver.#894lukehutch merged 1 commit intoclassgraph:latestfrom
QuarkusClassLoaderHandler and FastPathResolver.#894lukehutch merged 1 commit intoclassgraph:latestfrom
Conversation
Contributor
Author
|
Of course I forget my main point: I would be quite happy if my previous change and potentially this additional change could go out as a release. Thank you! 🙇 |
This is a follow up on issue classgraph#891 and the preceding PR classgraph#893 and brings two changes: * The `QuarkusClassLoaderHandler` is a bit more explicit now about how the elements returned from the class loader are treated * The `FastPathResolver` can be simplified using only one pattern
329f492 to
515a24c
Compare
Member
|
@michael-simons LGTM, I will push out a release later today -- sorry that I was offline for a few days! (I'll try to quickly get a Narcissus release before then, so ClassGraph can depend on the new version.) |
Contributor
Author
|
Nice, thank you. I set up the Narcissus pipelines and opened a PR there. |
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.
This is a follow up on issue #891 and the preceding PR #893 and brings two changes:
QuarkusClassLoaderHandleris a bit more explicit now about how the elements returned from the class loader are treatedFastPathResolvercan be simplified using only one patternThe latter was discovered while trying to get the custom URL scheme
quarkus:that the Quarkus class loader uses for in-memory classes to work.Ultimately, the work on using those in-memory classes, that are usually transformed classes such as session proxies, has been abandoned due to the fact that the current ClassGraph infrastructure can basically deal only with Jar and related entries, or directories.
To make the Quarkus in-memory classes work one would need to map them to ultimately into a Jar file and use an additional custom URL scheme, to "download" them again.
The alternative is additional implementations of
ClasspathElement, but that would require a change on public API and this not only quite a bit out of my comfort zone, but also in all probability, not worth the effort.I am happy to pick it if there's ever be a need, though.
The changes I had in addition (but those are only barely minimum, they won't work, as the scanner thinks that the urls are paths and does not use
openStreamor similar):