Skip to content

fix(maven): prefer strong Maven identity for mixed manifests#818

Merged
mstykow merged 4 commits intomainfrom
fix/maven-mixed-manifest-identity
Apr 29, 2026
Merged

fix(maven): prefer strong Maven identity for mixed manifests#818
mstykow merged 4 commits intomainfrom
fix/maven-mixed-manifest-identity

Conversation

@mstykow
Copy link
Copy Markdown
Owner

@mstykow mstykow commented Apr 29, 2026

Summary

  • prefer a Maven primary identity for MANIFEST.MF files only when strong Maven coordinates are provable, while keeping richer OSGi metadata and dependency extraction
  • add mixed-manifest unit and parser-golden coverage, including an explicit negative regression for ambiguous manifests that must stay type=osgi
  • fix update-parser-golden for extensionless .expected parser fixtures and document the mixed Maven+OSGi behavior in the OSGi improvement docs

Scope and exclusions

  • Included:
    • src/parsers/maven/manifest.rs mixed-manifest identity selection
    • targeted parser tests and a new Maven golden fixture for the Jackson-like manifest shape
    • src/golden_maintenance.rs support for formatting extensionless .expected parser outputs
    • docs clarifying mixed-manifest Maven fallback behavior for OSGi parsing
  • Explicit exclusions:
    • no broader parser-architecture or assembly-model changes
    • no dual-emission of separate Maven and OSGi package rows from one manifest

Intentional differences from Python

  • For mixed Maven+OSGi manifests with strongly provable Maven coordinates, this branch keeps a single emitted package row but prefers a Maven primary identity while preserving OSGi metadata and dependency edges in the same result.

Expected-output fixture changes

  • Files changed: testdata/maven-golden/jackson-mixed-manifest/MANIFEST.MF.expected
  • Why the new expected output is correct:
    • the fixture models a manifest with both OSGi headers and strong Maven coordinates
    • the parser now emits one Maven package row with java_jar_manifest/pkg:maven/... identity in that case
    • OSGi bundle identity is preserved in extra_data, and OSGi dependency edges from Import-Package / Require-Bundle are still emitted

mstykow and others added 4 commits April 29, 2026 17:37
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
@mstykow mstykow enabled auto-merge (rebase) April 29, 2026 15:42
@mstykow mstykow merged commit 72d191f into main Apr 29, 2026
15 checks passed
@mstykow mstykow deleted the fix/maven-mixed-manifest-identity branch April 29, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant