Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 8, 2025

This PR adds a grouping rule to the Renovate configuration to combine Jackson dependency updates into a single PR instead of creating separate PRs for each Jackson package. Also removes build-scan.txt file and adds it to .gitignore to prevent Gradle build scan URLs from being committed.

Problem

Currently, Renovate creates separate PRs for different Jackson packages, as seen in:

This creates unnecessary review overhead when Jackson releases new versions that affect multiple packages simultaneously.

Solution

Added a new package rule to group all com.fasterxml.jackson{/,}** packages together:

{
  groupName: 'jackson packages',
  matchPackageNames: [
    'com.fasterxml.jackson{/,}**',
  ],
},

This follows the existing pattern used for other grouped packages like spotless packages, errorprone packages, and hipparchus packages.

Additional Changes

  • Removed build-scan.txt file which contained Gradle build scan URLs that should not be committed
  • Added build-scan.txt to .gitignore to prevent future accidental commits of build scan files

Impact

  • Future Jackson updates (jackson-bom, jackson-core, jackson-databind, etc.) will be combined into a single PR
  • Reduces review overhead and ensures consistent Jackson version updates across the project
  • Matches the existing dependency management strategy where Jackson BOM is used to align versions
  • Prevents build artifacts from being accidentally committed to the repository

The pattern com.fasterxml.jackson{/,}** will match all Jackson packages currently used in the project, including:

  • com.fasterxml.jackson:jackson-bom
  • com.fasterxml.jackson.core:jackson-core
  • com.fasterxml.jackson.core:jackson-databind

💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI and others added 2 commits September 8, 2025 17:35
This will combine future Jackson dependency updates (jackson-bom, jackson-core, jackson-databind, etc.) into a single PR instead of separate PRs like #2227 and #2228.

Co-authored-by: trask <[email protected]>
Copilot AI changed the title [WIP] add a renovate grouping so these will be combined into one PR next time: @open-telemetry/opentelemetry-java-contrib/pull/2228 @open-telemetry/opentelemetry-java-contrib/pull/2227 Add Jackson packages grouping to Renovate configuration Sep 8, 2025
Copilot AI requested a review from trask September 8, 2025 17:44
Copilot finished work on behalf of trask September 8, 2025 17:44
Copilot AI changed the title Add Jackson packages grouping to Renovate configuration Add Jackson packages grouping to Renovate configuration and fix gitignore Sep 8, 2025
Copilot AI requested a review from trask September 8, 2025 17:51
Copilot finished work on behalf of trask September 8, 2025 17:51
@trask trask marked this pull request as ready for review September 8, 2025 17:54
@trask trask requested a review from a team as a code owner September 8, 2025 17:54
{
groupName: 'jackson packages',
matchPackageNames: [
'com.fasterxml.jackson{/,}**',
Copy link
Contributor

Choose a reason for hiding this comment

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

So this feels like copypasta (it's even in the docs), but maybe I'm missing something and I am willing to use this as a moment to learn.

Java doesn't use the forward slash in package names, so why does this glob include a forward slash?

My understanding of the brace expansion is that com.fasterxml.jackson{/,}** simply expands to com.fasterxml.jackson/** com.fasterxml.jackson**. Right?

So we don't need that first one, and the second one is probably overkill. Jackson packages are just in com.fasterxml.jackson so I'd prefer that this just tighen up to com.fasterxml.jackson. If there are other packages in the future that we want to add, we can do that then.

Suggested change
'com.fasterxml.jackson{/,}**',
'com.fasterxml.jackson',

Copy link
Member

Choose a reason for hiding this comment

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

com.fasterxml.jackson.core:jackson-databind is in com.fasterxml.jackson.core

Copy link
Contributor

@breedx-splk breedx-splk Sep 8, 2025

Choose a reason for hiding this comment

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

Can we still be explicit then and avoid the forward slash thinger?

Suggested change
'com.fasterxml.jackson{/,}**',
'com.fasterxml.jackson',
'com.fasterxml.jackson.core',

Copy link
Member

@trask trask Sep 8, 2025

Choose a reason for hiding this comment

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

looking into the question about {/,}... I'm not sure (other than it's the pattern we use elsewhere in this file)...

Copy link
Member

Choose a reason for hiding this comment

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

yeah, from the Renovate logs, it looks like

"packageName": "com.fasterxml.jackson.core:jackson-databind"

can I make a follow-up PR to fix this since copilot did its job here based on our current pattern?

@breedx-splk breedx-splk added this pull request to the merge queue Sep 8, 2025
Merged via the queue into main with commit 3cf1b89 Sep 8, 2025
25 checks passed
@breedx-splk breedx-splk deleted the copilot/fix-6b08ea7d-2690-4333-9bfd-9b597407cb28 branch September 8, 2025 21:34
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.

3 participants