Visitar URL original
Keep Dependabot off Maven 4 deps on the 3.x line by ascheman · Pull Request #732 · apache/maven-deploy-plugin · GitHub
Skip to content

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

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

ascheman wants to merge 4 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

@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 Outdated
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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

You're right, thanks — 3.10.x does use Resolver 2.x, so my comment ("2.x is Maven 4") was wrong. The ignore entry itself is intentional, though: this plugin's Maven 3 line stays on 3.9.16, which compiles against the maven-resolver-api 1.x surface (resolverVersion 1.9.27, provided), so I keep Dependabot off Resolver 2.x to match that baseline. I've reworded the comment to say exactly that instead of citing a Maven version boundary that doesn't hold.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

You're right, thanks — 3.10.x does use Resolver 2.x, so my comment ("2.x is Maven 4") was wrong. The ignore entry itself is intentional, though: this plugin's Maven 3 line stays on 3.9.16, which compiles against the maven-resolver-api 1.x surface (resolverVersion 1.9.27, provided), so I keep Dependabot off Resolver 2.x to match that baseline. I've reworded the comment to say exactly that instead of citing a Maven version boundary that doesn't hold.

@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 Outdated
# 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.

@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 Outdated
# 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
ascheman and others added 4 commits November 6, 2026 23:43
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
The comment claimed "2.x is Maven 4", which is wrong: Resolver 2.x
ships with Maven 3.10+ as well. This build deliberately compiles
against the resolver-api 1.x surface (resolverVersion 1.9.27), so
keep Dependabot off 2.x -- but say so accurately. Ignore entry itself
unchanged; the 3.9 baseline for this plugin is correct.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ascheman
ascheman force-pushed the bugfix/dependabot-resolver-ignore-maven3 branch from 95f05ad to a5cc228 Compare November 6, 2026 22:43
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