Add the ability to find resources by path glob by calling ScanResult#getResourcesMatchingWildcard(String wildcardString) (#588, thanks to @jjlin for the request):
** matches zero or more characters
* matches zero or more characters other than /
? matches any one character
Any other valid Java regexp syntax is supported, such as character ranges in square brackets ([a-c]), with the exception of ., which is interpreted as a literal dot character (the single-character wildcard syntax is replaced with ?, as shown above).
classgraph-4.8.128
Optimize reflection by caching fields and methods of introspected classes by name.
classgraph-4.8.127
Fix illegal reflective access warning on stderr in JDK 11 (#579, thanks to @josephlbarnett for reporting).
classgraph-4.8.126
Remove -parameters flag from javac parameters of non-test build, introduced in 4.8.121, because it introduced issues with -Xlint:classfile or -Xlint:all combined with -Werror (#577, thanks to @Stephan202 for reporting)
classgraph-4.8.125
Remove a debugging setting which produced a warning on stderr (#568).
classgraph-4.8.124
Allow circumvention of encapsulation in JDK 16+ via jvm-driver, in addition to existing Narcissus support. Details are on README.md page for ClassGraph GitHub project.
classgraph-4.8.123
More compatibility fixes for IBM Semeru.
classgraph-4.8.122
Add support for ClassGraph.CIRCUMVENT_ENCAPSULATION = true to work on IBM Semeru, an OpenJDK fork (#563).
classgraph-4.8.121
Optimization of reflection code (no functional changes compared to previous release)
classgraph-4.8.120
First version that is fully compatible with JDK 16+
The JDK team decided to switch on strong encapsulation in JDK 16+. That means that ClassGraph cannot find the classpath, if all of the following are true:
You are running on JDK 16+
You are using a legacy classloader (rather than the module system)
The legacy classloader does not expose its classpath via a public field or method
The classloader is loaded in a different module from your user code
If your ClassGraph code works in JDK versions less than 16 but breaks in JDK 16+ (meaning that ClassGraph can no longer find your classes), you have probably run into this problem.
You can circumvent this restriction by:
Adding the Narcissus library to your project as an extra dependency (only Linux x86/x64, Windows x86/x64, and Mac OS X x64 are currently supported).
Setting ClassGraph.CIRCUMVENT_ENCAPSULATION = true; before interacting with ClassGraph in any other way (this will load the Narcissus library as ClassGraph's reflection driver).
This release of ClassGraph uses Narcissus to silently circumvent all of Java's security mechanisms (visibility/access checks, security manager restrictions, and strong encapsulation), in order to read the classpath from private fields and methods of classloaders. Narcissus is a collaboration between:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps classgraph from 4.8.94 to 4.8.129.
Release notes
Sourced from classgraph's releases.
... (truncated)
Commits
3d98409
[maven-release-plugin] prepare release classgraph-4.8.129c118c03
Create Javadoc before jars are signedfc0e3f6
Update comment0920507
[maven-release-plugin] prepare for next development iterationcf59b8e
[maven-release-plugin] prepare release classgraph-4.8.129fbb1428
bump version back downa50e433
Don't change glob behavior for accept/reject criteria (#588)629dd36
Organize importsd8bfc33
[maven-release-plugin] prepare for next development iterationd0a46d1
[maven-release-plugin] prepare release classgraph-4.8.129Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)