Skip to content

Keep Dependabot off Maven 4 deps on the 3.x line - #732

Open
ascheman wants to merge 3 commits into
apache:masterfrom
aschemaven:bugfix/dependabot-resolver-ignore-maven3
Open

ascheman wants to merge 3 commits into
apache:masterfrom
aschemaven:bugfix/dependabot-resolver-ignore-maven3

Conversation

@ascheman

Copy link
Copy Markdown
Contributor

master now carries the Maven 3 line after the apache/maven-sources#57 branch switch. The default Dependabot block had no upper bound on the org.apache.maven resolver/core artifacts, so it proposes Maven 4 dependencies (maven-resolver 2.x, and maven-core 4.0.0 once GA ships) onto the Maven 3 line.

This pins them below the 4.x boundary, mirroring the existing SLF4J/Mockito ignores. The *-4.x target-branch block is untouched, so the Maven 4 line keeps tracking 4.x (incl. RCs).

Refs: apache/maven-sources#57

master now carries the Maven 3 line after the apache/maven-sources#57
branch switch. The default Dependabot block had no upper bound on the
org.apache.maven resolver/core artifacts, so it proposes Maven 4
dependencies (maven-resolver 2.x, and maven-core 4.0.0 once GA ships)
onto the Maven 3 line. Pin them below the 4.x boundary, mirroring the
existing SLF4J/Mockito ignores. The *-4.x target-branch block is
untouched, so the Maven 4 line keeps tracking 4.x.

Refs: apache/maven-sources#57

Co-Authored-By: Claude Opus 4.8 <[email protected]>

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Clean, correct Dependabot ignore rules that pin the Maven 3 line (master) to Resolver 1.x and Maven core 3.x, consistent with the existing SLF4J/Mockito ignores. The version boundaries (>= 2.0.0 for Resolver, >= 4.0.0 for Maven core) are correct for the Maven 3/4 split, and org.apache.maven:* does not accidentally block the plugin itself (which lives under org.apache.maven.plugins).

This review was generated by an AI agent, Hermès on behalf of @gnodet.

Comment thread .github/dependabot.yml
Comment on lines +37 to +39
# Maven 3 line stays on Resolver 1.x (2.x is Maven 4)
- dependency-name: "org.apache.maven.resolver:*"
versions: [">= 2.0.0"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not true 3.10.x use resolver 2.x

Replace the broad `org.apache.maven:*` glob in the Maven 3 default
ignore block with the specific core artifacts this module actually
uses. Artifacts that share the groupId but follow their own release
line (e.g. maven-archiver) are no longer caught.

Addresses review feedback on the branch-switch Dependabot PR.

Co-Authored-By: Claude Opus 4.8 <[email protected]>

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on my earlier review — the scoping of Maven core artifact ignores from org.apache.maven:* to specific artifacts is a good fix, addressing the over-broad wildcard. However, @slawekjaranowski's concern about the Resolver comment remains unaddressed.

Factual error in the comment at line 37: The comment # Maven 3 line stays on Resolver 1.x (2.x is Maven 4) is incorrect. Maven 3.10.0 also uses Resolver 2.x (specifically 2.0.24 — see 3.10.0 release notes: "Maven 3.10 is now using Resolver 2.0 lineage, same one that is used by Maven 4+"). The Dependabot branch dependabot/maven/resolverVersion-2.0.24 on this repo confirms it's being proposed.

The underlying intent of the rule (keeping master pinned to Resolver 1.x for Maven 3.9.x compatibility) is reasonable, but the comment needs to accurately reflect this. Update to make clear this is for the Maven 3.9.x line, not "Maven 3" in general:

This review was generated by an AI agent, Hermès on behalf of @gnodet.

Comment thread .github/dependabot.yml
# Maven 3 so use SLF4J 1.7.x
- dependency-name: "org.slf4j:*"
versions: [">= 2.0.0"]
# Maven 3 line stays on Resolver 1.x (2.x is Maven 4)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Factual error: (2.x is Maven 4) is incorrect — Maven 3.10.0 also uses Resolver 2.x (see 3.10.0 release notes). This is what @slawekjaranowski was pointing out. Update to accurately describe the constraint:

Suggested change
# Maven 3 line stays on Resolver 1.x (2.x is Maven 4)
# Maven 3.9.x line stays on Resolver 1.x; 3.10.x+ also uses 2.x but master targets 3.9.x.

The ASF minimum-prerequisite decision (dev@, Nov 2025, documented in
compatibility-plan.md) keeps plugins on the Maven 3.9 baseline. Lower
the core-artifact ignore from 4.0.0 to 3.10.0 so Dependabot no longer
offers the 3.10 bump; 3.10 would also pull in Resolver 2.x. The open
mavenVersion 3.10 PRs auto-close on the next Dependabot run once this
merges.

Co-Authored-By: Claude Opus 4.8 <[email protected]>

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on my earlier review — the over-broad org.apache.maven:* wildcard has been replaced with specific artifact ignores, which is the right fix. However, the factual error in the Resolver comment (raised by @slawekjaranowski and in my previous review) is still unaddressed.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

Comment thread .github/dependabot.yml
# Maven 3 so use SLF4J 1.7.x
- dependency-name: "org.slf4j:*"
versions: [">= 2.0.0"]
# Maven 3 line stays on Resolver 1.x (2.x is Maven 4)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Still unaddressed from previous review: (2.x is Maven 4) is incorrect — Maven 3.10.x also uses Resolver 2.x (see 3.10.0 release notes). Notably, the comment you added just below (lines 40–41) correctly states "3.10 would pull in Resolver 2.x" — the two comments now contradict each other.

Update to accurately describe the constraint:

Suggested change
# Maven 3 line stays on Resolver 1.x (2.x is Maven 4)
# Maven 3.9.x line stays on Resolver 1.x; 3.10.x+ also uses 2.x but master targets 3.9.x.

@slachiewicz slachiewicz added the dependencies Pull requests that update a dependency file label Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants