Skip to content

Ingest Maveniverse Heimdall#1540

Merged
cstamas merged 6 commits intoapache:masterfrom
cstamas:ingest-heimdall
Aug 12, 2025
Merged

Ingest Maveniverse Heimdall#1540
cstamas merged 6 commits intoapache:masterfrom
cstamas:ingest-heimdall

Conversation

@cstamas
Copy link
Member

@cstamas cstamas commented Aug 5, 2025

High level new features and changes:

  • (change) filtering is enabled by default
  • (new) filtering can be suppressed on per-repository basis by appending configuration key with .repoId=false.
  • (change) both filters enhanced to become really usable.

GroupId filter

Is enabled by default (but remains dormant if user does not provides input). It becomes active only when user provides input for it.

Input vastly improved and now supports modifiers as well (Resolver 1.x modus operandi was =org.apache ONLY). Hence, upgrading from Resolver 1.x to Resolver 2.x leads to "broadened" filtering but that is fine is was user usually wants (Resolver 1.x had to enumerate all Gs for nested G, ie org.apache.maven, org.apache.maven.plugins etc... same effect with Resolver 2.x is one liner: org.apache.maven (as it means now "and below"). Added support for negation (!) and limiter (=). Example groupId filter file:

# My file                   (1)
                            (2)
org.apache.maven            (3)
!=org.apache.maven.foo      (4)
!org.apache.maven.indexer   (5)
=org.apache.bar             (6)

Lines 1, 2 ignored. Line 3 "allow org.apache.maven and below". Line 4 "not allow org.apache.maven.foo only". Line 5 "not allow org.apache.maven.indexer and below". Line 6 "allow org.apache.bar only".

Prefix filter

Is enabled by default and improved to try to auto-discover prefix file published by remote repository. If prefix file is discovered, common resolver means are used to resolve and cache the prefix file in user local repository. If discovery fails, user provided prefix file is attempted (and used, if found). Finally, if no input, filter will not interfere. Order of precedence:

  • user provided prefix file (if found, will be used, no discovery happens)
  • auto discovery

Caching is now possible with fix done in #1491

@cstamas cstamas self-assigned this Aug 5, 2025
@cstamas cstamas marked this pull request as ready for review August 5, 2025 15:20
@cstamas cstamas added the enhancement New feature or request label Aug 6, 2025
@cstamas
Copy link
Member Author

cstamas commented Aug 9, 2025

Thought: what if remote publishes wrong prefix? So we need some means or maybe revert the logic: try user provided, if not found, discover?

@cstamas cstamas added this to the 2.0.11 milestone Aug 12, 2025
@cstamas cstamas merged commit a78647b into apache:master Aug 12, 2025
8 checks passed
@cstamas cstamas deleted the ingest-heimdall branch August 12, 2025 10:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant