gnodet opened a new pull request, #13550:
URL: https://github.com/apache/maven/pull/13550
Backport of #13319 to `maven-4.0.x`.
Project extensions contribute custom `Packaging`, `Type`, and `Lifecycle`
implementations via SPI providers, but SISU's visibility filtering only
kicks in on an explicit `Lookup` call. Registries that cached providers at
construction time or queried a static map could not see extension-contributed
values, causing `Unknown packaging: app-client` and similar errors even when
the extension was properly loaded (#13306).
- `DefaultExtensibleEnumRegistry`: new Lookup-aware constructor; queries
`Lookup.lookupList(providerType)` first, letting SISU apply project-scope
filtering before falling back to statically registered values
- `DefaultPackagingRegistry`: delegates dynamic lookup to super via
`PackagingProvider.class`; retains legacy `LifecycleMapping` as last resort
- `DefaultTypeRegistry`: queries `TypeProvider` list uncached before the
`ArtifactHandler` fallback cache, preventing type leaks across reactor
projects
- `DefaultLifecycleRegistry`: Lookup-aware constructor; `stream()` merges
injected and dynamically discovered lifecycles, deduplicating by id
- Tests: unit tests for all three registries + IT
`MavenITgh13306PackagingProviderTest`
Fixes: #13306
--
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]