Skip to content

maven: parse all version-bearing references #48

Closed

Description

@andrew

Yul checks prospective pom.xml edits and needs to inspect every directly declared coordinate whose version can change. The Maven parser currently returns effective project dependencies from ep.Dependencies, which omits several declarations that Yul checks today:

  • parent
  • dependencyManagement
  • build plugins
  • plugin dependencies
  • pluginManagement
  • build extensions
  • each of those declarations inside profiles

Could the Maven parser expose these version-bearing references while preserving enough information to distinguish their kind and profile? Consumers comparing before and after manifest content need the declarations themselves rather than only the effective dependency set.

This affects manifests v0.6.1. A characterization suite for the intended consumer behavior is in chains-project/yul#1.

Activity

  1. andrew commented on Aug 15, 2026

    @andrew
    ContributorAuthor

    The supporting POM change is merged and released, and the manifests API is ready for review:

    • git-pkgs/pom#18 is merged and available in v0.1.7. It exposes plugin dependencies and the other POM structures needed by the manifest parser.
    • git-pkgs/manifests#67 is ready for review. It adds format-neutral Declaration values and populates them for Maven parents, dependencies, plugins, plugin dependencies, extensions, management blocks, and profile-scoped declarations.
    • chains-project/yul#12 is a draft consumer. It removes the custom Yul POM parser and Maven Central client, then uses manifest declarations with the shared pin comparison and enrichment resolver. The characterization coverage still includes every Maven declaration type listed in this issue.

    The remaining work is to merge manifests#67, tag a manifests release, then replace the pseudo-version in the Yul draft and mark it ready for review. PR #67 covers the parser behavior requested here; the release is needed for Yul to consume it without pinning a commit.

  2. self-assigned this
    on Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions