Skip to content

Dependency cleanup#291

Merged
TheSnoozer merged 6 commits intogit-commit-id:masterfrom
AB-xdev:dependency-cleanup
Apr 1, 2026
Merged

Dependency cleanup#291
TheSnoozer merged 6 commits intogit-commit-id:masterfrom
AB-xdev:dependency-cleanup

Conversation

@AB-xdev
Copy link
Copy Markdown
Contributor

@AB-xdev AB-xdev commented Mar 31, 2026

Fixes #240

Context

  • Use https instead of ssh for submodule
    • This prevents "The authenticity of host can't be established" errors
  • Replace joda-time with Standard Java 8+ Time API
  • Replace Legacy javax Annotations with jspecify

Contributor Checklist

  • Added relevant integration or unit tests to verify the changes
    • Not affected by this change
  • Update the Readme or any other documentation (including relevant Javadoc)
    • There is no changelog
  • Ensured that tests pass locally: mvn clean package
    • Latest native git/Git for Windows is not working properly on multiple tests
  • Ensured that the code meets the current checkstyle coding style definition: mvn clean verify -Pcheckstyle -Dmaven.test.skip=true -B

@TheSnoozer
Copy link
Copy Markdown
Contributor

Thanks for your contribution and the cleanup!
Maybe just curious is there a specific advantage of using https://mvnrepository.com/artifact/org.jspecify/jspecify? When looking at https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305 (the current dependency) I see it was relocated to https://mvnrepository.com/artifact/com.github.spotbugs/spotbugs-annotations.
I'm just curious to understand the motivation if there is a good reason to move to jspecify over a spotbugs-annotations.

@TheSnoozer
Copy link
Copy Markdown
Contributor

This also makes the tests fail with:

Error:    GitCommitIdPluginIntegrationTest.shouldGenerateClosestTagInformationWithIncludeLightweightTagsForClosestTagAndPreferAnnotatedTags:1432->assertPropertyPresentAndEqual:1837 
expected: "newest-tag-1-gb6a73ed74-customDirtyMark"
 but was: "lightweight-tag-1-gb6a73ed74-customDirtyMark"

This sounds and feels related to Replace joda-time with Standard Java 8+ Time API

@AB-xdev
Copy link
Copy Markdown
Contributor Author

AB-xdev commented Apr 1, 2026

I'm just curious to understand the motivation if there is a good reason to move to jspecify over a spotbugs-annotations.

This tiny library will likely be the de-facto standard in the future when compared to the other ones:
https://blog.doubleslash.de/en/software-technologien/coding-and-frameworks/specify-nullness-handling/
https://spring.io/blog/2025/11/12/null-safe-applications-with-spring-boot-4

I'm also not quite sure where mvnrepository.com get's the relocation info from as the pom of jsr305 does not contains relocation information.

This also makes the tests fail with

I will have a look into it.

@AB-xdev
Copy link
Copy Markdown
Contributor Author

AB-xdev commented Apr 1, 2026

@TheSnoozer
I think I fixed the problems now:

  • I restored the old logic with Instant
  • It was still not working
  • While debugging I found out that there was silently an error thrown however this error was never logged because the test dummy implementation uses no logger
  • I added logging there
  • The logging was still not working because slf4j-simple had the wrong version (v2) whilst the api used v1
  • I fixed the exception
  • It no works

@TheSnoozer
Copy link
Copy Markdown
Contributor

Thanks, indeed the logging is on scope test and was just updated by dependabot automatically so no wonder it never worked :-)

The changes look good to me, thanks for your patience and all your explanations!

@TheSnoozer TheSnoozer merged commit c9c1902 into git-commit-id:master Apr 1, 2026
18 checks passed
@TheSnoozer TheSnoozer added this to the 6.2.0 milestone Apr 1, 2026
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.

Dependency cleanup

2 participants