Conversation
Provide a singleton service describing the current logging destination and charset, plus an immutable execution-request data map for plugins compiled against older Maven APIs. Capture the map at the start of every Maven execution, preserving retained maps through request reuse and cleanup. Capture the actual logging route, preserve initialization and cleanup behavior, and treat negative exec-provider probes as unknown. Cover injection, request compatibility access, resident lifecycle where supported, and terminal detection.
|
Thanks for this contribution — the use case is real and the API design ( A few thoughts before this can move forward: Milestone / branch targeting This PR targets Interaction with When I'd recommend keeping the 3.10.x and 4.0.x backports as drafts for now. This is new API surface, not a bug fix, and adding a new injectable service to maintenance branches is invasive. If |
Plugins currently have to inspect logging internals to learn where Maven writes and which charset it uses. Add an injectable
OutputCapabilitiesservice plus an immutablemaven.logging.outputCapabilitiesmap in execution-request data for plugins compiled against older Maven APIs.Capture the actual logging route, report uncertain detection as
UNKNOWN, and preserve resident-invocation cleanup without changing output routing or encoding.Validation: reactor verification (excluding existing IDE
.imlfiles), focused Core ITs, and Linux runtime checks passed. macOS and Windows remain untested.