gnodet opened a new pull request, #13853:
URL: https://github.com/apache/maven/pull/13853
Backport of #13570 to `maven-4.0.x`.
Cherry-pick of f6d1bca52717b46ee84183f746adf75b4cfca321 — required conflict
resolution.
**Changes:**
- Add `isVisibleFrom(provider, tccl)` in `ExtensibleEnumRegistries`: walks
the classloader hierarchy and checks Plexus `ClassRealm.getImportRealms()` via
`ClassValue`-cached reflection to determine whether a provider's realm is
imported into the current project's realm
- Override `lookup()` to filter dynamic providers through `isVisibleFrom()`
before returning a match
- `DefaultExtensibleEnumRegistryTest` covers the visibility filter,
`FakeClassRealm` import check, and null-classloader edge cases
- `MavenITgh13306PackagingProviderTest` verifies provider isolation in a
reactor with `-T 2`
**Conflict resolution:**
- `ExtensibleEnumRegistries.java`: imports (`maven-4.0.x` uses `api.di` not
`javax.inject`, no `Dialect`-related types), javadoc addition, and
`isVisibleFrom` filter in `lookup()` — the 4-arg constructor and `Lookup` field
already existed on `maven-4.0.x`
- `DefaultExtensibleEnumRegistryTest.java`: merged new visibility test
methods + `FakeClassRealm` into existing test class on `maven-4.0.x`
- `MavenITgh13306PackagingProviderTest.java`: kept `maven-4.0.x` API
(`File`, `super("[4.0.0,)")`, `extractResources("/...")`) + added `-T 2` flags
from master
- `DefaultPackagingRegistry.java`: auto-merged with no diff (already
identical on `maven-4.0.x`)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]