Skip to content

Maven Build Overhaul: Plugin Modernization, Dependency Updates, and Enforcer Integration#184

Open
spannm wants to merge 5 commits intoibanity:masterfrom
spannm:build/maven-pom-overhaul
Open

Maven Build Overhaul: Plugin Modernization, Dependency Updates, and Enforcer Integration#184
spannm wants to merge 5 commits intoibanity:masterfrom
spannm:build/maven-pom-overhaul

Conversation

@spannm
Copy link
Copy Markdown

@spannm spannm commented Apr 10, 2026

This PR performs a comprehensive overhaul of the Maven build configuration to improve stability, security, and developer experience.

Key Changes

  • Enforcer Integration: Added the maven-enforcer-plugin to strictly validate bytecode version (Java 8) and build environment
  • Plugin Modernization: Updated all core Maven plugins (Source, Surefire, Javadoc, GPG) to their latest stable versions for better performance and IDE compatibility
  • Dependency Upgrades: Bumped central libraries, including Apache Commons, Jackson, and SLF4J, to address technical debt and improve security
  • IBAN Library Migration: Switched from iban4j to superior de.speedbanking:iban-commons across the test suite and samples
  • Test Stack Optimization: Simplified the JUnit 5 configuration using the junit-jupiter aggregator, updated AssertJ and Mockito

Impact

  • Reliability: Enforcer rules prevent accidental version mismatches
  • Efficiency: Cleaner POM structure and faster test execution with Surefire 3.x
  • Compliance: Updated Bouncy Castle and Jackson versions ensure better alignment with modern security standards

All builds and tests passed locally with mvn clean verify.

spannm added 5 commits April 10, 2026 15:26
Align compiler source/target with java.version property
- Update core maven plugins to latest stable Java8-comptabile versions
- Remove obsolete junit-platform-surefire-provider dependency
- Use junit-jupiter aggregator instead of separate artifacts
- Remove redundant junit-platform-launcher
- Upgrade JUnit to 5.14.3, AssertJ to 3.27.7, and Mockito to 4.11.0
- Upgrade core dependencies:
    - commons-configuration2 to 2.14.0, lang3 to 3.20.0, io to 2.21.0
    - slf4j to 2.0.17
    - jackson-datatype/-annotations to 2.21.2
    - bouncycastle (bcpkix-jdk18on) to 1.83
    - lombok to 1.18.44
- Switch from org.iban4j to de.speedbanking:iban-commons for sample IBAN generation
- Refactor jackson properties for better granularity
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.

1 participant