gnodet opened a new pull request, #12998:
URL: https://github.com/apache/maven/pull/12998

   ## Summary
   
   The standalone `ApiRunner` is the main entry point for using the Maven 4 API 
outside of a full Maven build (e.g. in tools like mvnup). Previously it had 
several gaps that made it unsuitable for production use — settings were 
hardcoded to a test directory, proxy/mirror/auth from `settings.xml` were 
ignored, and dependency resolution machinery was not configured.
   
   This PR fixes all of these issues:
   
   - **Remove hardcoded `user.home = "target"`** — the standalone API now reads 
settings from the real user home (`~/.m2/settings.xml`)
   - **Store effective settings on the session** — `session.getSettings()` now 
returns the actual effective settings instead of an empty object
   - **Apply proxy configuration** from settings via `DefaultProxySelector`
   - **Apply mirror configuration** from settings via `DefaultMirrorSelector`
   - **Apply server authentication** from settings via 
`DefaultAuthenticationSelector` (username, password, private key)
   - **Configure dependency resolution machinery** via 
`MavenSessionBuilderSupplier` — `DependencyTraverser`, `DependencyManager`, 
`DependencySelector`, `DependencyGraphTransformer`, `ArtifactTypeRegistry`, 
`ArtifactDescriptorPolicy`
   - **Detect and set Maven version** from classpath `pom.properties` (fixes 
`@Nonnull` contract violation)
   - **Honor offline mode** from settings
   - Clean up stale TODO comments and dead commented-out code
   
   Also makes 5 getter methods in `MavenSessionBuilderSupplier` public (from 
protected) so they can be reused by `ApiRunner` across packages.
   
   ## Test plan
   
   - [x] All 611 tests in `maven-impl` pass (0 failures)
   - [x] `TestApiStandalone` — verifies artifact resolution and dependency 
collection work
   - [x] `RequestTraceTest` — verifies request tracing works with standalone 
session
   - [x] `DiTest` — verifies DI wiring
   - [x] `maven-core` compiles successfully with the visibility changes
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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