Summary
When promoting a transitive dependency to declared via pilot:dependencies, the added <dependency> should follow the project's existing conventions — just like maven-dependency-plugin#1599 does with its -Dalign feature.
Claude Code on behalf of Guillaume Nodet
Current Behavior
addTransitive() adds a full GAV <dependency> entry regardless of how the project manages its dependencies.
Desired Behavior
Detect and follow the project's conventions:
- Managed deps: if most existing deps are version-less (delegated to
<dependencyManagement>), add managed entry + version-less dep
- Version properties: if most versions use
${...}, create a version property
- Property naming: follow the dominant pattern (
.version, -version, Version, version. prefix)
Dependencies
Blocked on maveniverse/domtrip#170 — convention-aligned dependency addition in PomEditor. Once domtrip 1.1.0 is released with addAligned(), bump the dependency and wire it up in DependenciesTui.addTransitive().
Scope
- Update
addTransitive() in DependenciesTui to use PomEditor.dependencies().addAligned()
- Update tests to cover convention-aligned additions
Summary
When promoting a transitive dependency to declared via
pilot:dependencies, the added<dependency>should follow the project's existing conventions — just like maven-dependency-plugin#1599 does with its-Dalignfeature.Claude Code on behalf of Guillaume Nodet
Current Behavior
addTransitive()adds a full GAV<dependency>entry regardless of how the project manages its dependencies.Desired Behavior
Detect and follow the project's conventions:
<dependencyManagement>), add managed entry + version-less dep${...}, create a version property.version,-version,Version,version.prefix)Dependencies
Blocked on maveniverse/domtrip#170 — convention-aligned dependency addition in PomEditor. Once domtrip 1.1.0 is released with
addAligned(), bump the dependency and wire it up inDependenciesTui.addTransitive().Scope
addTransitive()inDependenciesTuito usePomEditor.dependencies().addAligned()