Skip to content

Conversation

@velo
Copy link
Member

@velo velo commented Oct 21, 2025

Summary

This PR centralizes all hardcoded version numbers to properties in the parent POM, improving maintainability and making version upgrades easier across the multi-module project.

Changes

Parent POM (pom.xml)

Added 52 new version properties organized into three categories:

Maven Plugin Versions (18 properties):

  • maven-source-plugin.version, maven-javadoc-plugin.version, maven-gpg-plugin.version
  • maven-assembly-plugin.version, maven-compiler-plugin.version, maven-deploy-plugin.version
  • maven-failsafe-plugin.version, maven-bundle-plugin.version, maven-enforcer-plugin.version
  • maven-jar-plugin.version, maven-scm-plugin.version, maven-toolchains-plugin.version
  • maven-wrapper-plugin.version, build-helper-maven-plugin.version

Other Plugin Versions (9 properties):

  • central-publishing-maven-plugin.version, dokka-maven-plugin.version, kotlin-maven-plugin.version
  • japicmp-maven-plugin.version, go-offline-maven-plugin.version, jacoco-maven-plugin.version
  • easy-jacoco-maven-plugin.version, sundr-maven-plugin.version, sortpom-maven-plugin.version
  • rewrite-maven-plugin.version

Dependency Versions (11 properties):

  • jandex.version, jetbrains-annotations.version, jts.version, classgraph.version
  • javassist.version, geolatte-geom.version, classmate.version, jboss-logging.version
  • jakarta.validation-api.version, jakarta.activation-api.version, jakarta.inject-api.version
  • reactor-bom.version, easymock.version, animal-sniffer-signature.version
  • rewrite-testing-frameworks.version, rewrite-migrate-java.version, postgis-jdbc.version

Child Module POMs

  • querydsl-libraries/querydsl-sql/pom.xml: Updated postgis-jdbc version reference
  • querydsl-libraries/querydsl-scala/pom.xml: Updated jakarta.inject-api version reference

Benefits

  1. Centralized version management - All versions defined in one place in the parent POM
  2. Easier upgrades - Update a single property to upgrade a dependency/plugin across all modules
  3. Consistency - Ensures same versions are used throughout the multi-module project
  4. Better maintainability - Clear overview of all dependencies and their versions
  5. No conflicts - Verified no property name conflicts with child modules

Testing

  • ✅ Build validation passes: ./mvnw validate
  • ✅ All property references resolve correctly
  • ✅ No conflicts with existing child module properties
  • ✅ Pre-commit hooks executed successfully

Files Changed

  • pom.xml (121 lines changed)
  • querydsl-libraries/querydsl-sql/pom.xml (2 lines changed)
  • querydsl-libraries/querydsl-scala/pom.xml (2 lines changed)

@codecov
Copy link

codecov bot commented Oct 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (d395f2a) to head (1a321ae).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #1433    +/-   ##
=======================================
  Coverage    0.00%   0.00%            
=======================================
  Files         813     838    +25     
  Lines       31465   31795   +330     
  Branches     3600    3608     +8     
=======================================
- Misses      31465   31795   +330     
Flag Coverage Δ
cubrid 0.00% <ø> (?)
embedded 0.00% <ø> (?)
examples 0.00% <ø> (?)
firebird 0.00% <ø> (?)
mongodb 0.00% <ø> (?)
mysql 0.00% <ø> (?)
postgresql 0.00% <ø> (?)
test 0.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

velo added 3 commits October 20, 2025 21:48
- Added 40+ additional version properties to parent POM
- Updated all child module POMs in querydsl-libraries/ and querydsl-tooling/
- All hardcoded versions now use property references
- Build validated successfully

Signed-off-by: Marvin Froeder <[email protected]>
- querydsl-jpa-codegen was incorrectly using hibernate6.version for expressly dependency
- Removed unused hibernate6.version property
- expressly.version is the correct property (both are 6.0.0 but semantically different)

Signed-off-by: Marvin Froeder <[email protected]>
Issues fixed:
- jdepend was using json-path.version (2.9.1) instead of jdepend.version
- cubrid-jdbc-driver was using jmolecules.version instead of cubrid-packaging.version
- r2dbc-postgresql was using r2dbc-h2.version instead of r2dbc-postgresql.version
- jmh-core/jmh-generator-annprocess were using jmh-generator.version instead of jmh.version

All dependencies now use semantically correct property names

Signed-off-by: Marvin Froeder <[email protected]>
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.

2 participants