gnodet opened a new issue, #13518:
URL: https://github.com/apache/maven/issues/13518

   **Parent:** #13499 | **Related:** #13465
   
   ## Problem
   
   There is no v4 API for reading a mojo's resolved parameter values without 
executing it.
   Today this requires internal APIs: `MavenPluginManager.getConfiguredMojo()` 
/ `releaseMojo()`,
   `PluginParameterExpressionEvaluator`, `ConfigurationConverter`, and manual
   `SessionScope`/`MojoExecutionScope` enter/seed/exit management.
   
   ## Who needs this
   
   - **m2e**: Project configurators read plugin parameters to configure IDE 
projects.
     `AbstractJavaProjectConfigurator` reads ~30 parameters from 
`maven-compiler-plugin`
     (`source`, `target`, `release`, `encoding`, `compilerArgs`, 
`compileSourceRoots`, etc.)
     to configure Eclipse JDT. Two mechanisms are used:
     - `getMojoParameterValue()` — resolves individual parameters with 
expression
       evaluation
     - `getConfiguredMojo()` — fully instantiates the mojo object so any field 
can be
       read (used for complex typed configuration like surefire's argLine, 
archive config)
   
   ## What's needed
   
   A v4 API for mojo configuration introspection:
   - Resolve and return parameter values for a given `MojoExecution` without 
side effects
   - Support expression evaluation (`${project.basedir}`, 
`${settings.localRepository}`, etc.)
   - Support type conversion (string → Path, List, complex objects)
   - Ideally both single-parameter lookup and full mojo instantiation (for 
complex configs)
   
   This is unique to IDE embedders — CLI builds never need to read parameters 
without
   executing.
   
   <!-- AI-Agent-Disclosure -->
   > 🤖 Drafted with Claude Code (Claude Opus 4.6, interactive mode). Reviewed 
and confirmed by @gnodet before submission.


-- 
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]

Reply via email to