Skip to content

Add Jackson 3 plugin and migrate publishing to maven-publish#185

Merged
jackmatt2 merged 14 commits into
origin-energy:masterfrom
Sboti03:feature/jackson3
May 12, 2026
Merged

Add Jackson 3 plugin and migrate publishing to maven-publish#185
jackmatt2 merged 14 commits into
origin-energy:masterfrom
Sboti03:feature/jackson3

Conversation

@Sboti03

@Sboti03 Sboti03 commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

What changed

Build and publishing

  • upgraded the Gradle build setup
  • migrated publishing from legacy maven / uploadArchives to maven-publish
  • updated release workflows to use publish
  • consolidated shared JUnit 5 and dependency configuration
  • kept publishToMavenLocal working with the upgraded build

Jackson 3 support

  • added a new java-snapshot-testing-plugin-jackson3 module
  • introduced Jackson 3 serializer implementations and tests
  • added snapshot fixtures for the new module
  • updated the README with Jackson 2 vs Jackson 3 usage examples

Validation

Ran:

./gradlew publishToMavenLocal
./gradlew :java-snapshot-testing-plugin-jackson3:test publishToMavenLocal

Notes

  • existing Java 8-targeted modules remain unchanged in intent
  • Jackson 3 support is provided as a separate module rather than changing the existing Jackson 2 plugin
  • the branch history is intentionally split into two commits for easier review

fixes #183

Comment thread gradle/publishing.gradle Outdated
Comment thread build.gradle Outdated
mavenCentral()
}

if (subproject.name == 'java-snapshot-testing-plugin-jackson3') {

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.

Why is this long if else needed as it wasn't required previously? Will the code work without it?

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.

The Jackson 3 module needs Java 17 because Jackson 3 artifacts require Java 17.
The long root if/else is not needed the default can stay Java 11 and Jackson 3 can override locally.

Comment thread build.gradle Outdated
Comment thread build.gradle
Comment thread build.gradle
Comment thread README.md
Comment thread README.md Outdated
Comment thread gradle/publishing.gradle
@Sboti03 Sboti03 requested a review from jackmatt2 April 21, 2026 15:31
@Sboti03

Sboti03 commented Apr 21, 2026

Copy link
Copy Markdown
Contributor Author

@jackmatt2 I've made the fixes you requested and fixed the pipelines.

@jackmatt2 jackmatt2 merged commit 8def355 into origin-energy:master May 12, 2026
6 checks passed
@Sboti03

Sboti03 commented May 13, 2026

Copy link
Copy Markdown
Contributor Author

When will this be released?

@jackmatt2

Copy link
Copy Markdown
Member

When will this be released?

Hi @Sboti03. I'm reaching out to the company to update the maven central token as I think it's expired. Once that's done I can release immediately.

@Sboti03

Sboti03 commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Hi @jackmatt2

I wanted to follow up on this. Has there been any progress with renewing the Maven Central token?

We're currently waiting for the release, so I'd appreciate any update on the status.

Thanks!

@jackmatt2

Copy link
Copy Markdown
Member

Let me check again. If I still can't get it renewed I might need to consider an alternative.

@jackmatt2

jackmatt2 commented Jun 2, 2026

Copy link
Copy Markdown
Member

Hi @Sboti03

https://github.com/origin-energy/java-snapshot-testing/releases/tag/4.1.0

I have implemented Jitpack as a temporary solution until we get the credentials sorted.

See the README on how to add jitpack as a repository. Note that the dependency names have changed a little bit to conform to jitpack conventions.

Let me know how it goes.

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.

Incompatibility with Jackson 3/ Spring Boot 4

2 participants