Hi all, I've been running systematic Maven 4 compatibility tests against 966 Apache projects (https://github.com/gnodet/maven4-testing). The test branch `maven-4.0.x-test-fixes` includes 17 PRs that together bring the pass rate from ~88% to ~98.8%.
A full test run is in progress and results will be updated in the summary issue: https://github.com/gnodet/maven4-testing/issues/14270 None of these PRs have reviews yet. I'd appreciate reviews so we can get them merged for rc-6. Core fixes (high priority - affect many projects) ================================================== #12166 - Fix deadlocks in request cache (unstable hashCode, re-entrant self-deadlock, mutable properties) https://github.com/apache/maven/pull/12166 -> Fixed ~64 projects hanging at maven-remote-resources-plugin #12184 - Use request properties consistently for CI-friendly version interpolation https://github.com/apache/maven/pull/12184 -> Fixed ${revision}/${changelist}/${sha1} in dependency versions #12205 - Fix mvnup effective model analysis for CI-friendly parent versions https://github.com/apache/maven/pull/12205 -> Fixed 4 projects using ${revision} in parent version #12179 - Filter dependencies with uninterpolated expressions from CollectRequest https://github.com/apache/maven/pull/12179 #12206 - Fix Source.targetPath incorrectly aligned to basedir https://github.com/apache/maven/pull/12206 -> Fixed 2 projects where Resource targetPath was resolved as absolute path #12204 - Filter project repos with uninterpolated property expressions https://github.com/apache/maven/pull/12204 -> Fixed 3 projects with undefined ${...} in repository IDs (mvnup + runtime) #11825 - Fix @PreDestroy ClassNotFoundException from premature ClassRealm disposal https://github.com/apache/maven/pull/11825 #11889 - Preserve default-phases bindings for standard lifecycle phases https://github.com/apache/maven/pull/11889 #11888 - Improve error message for prefix-based remote repository filtering https://github.com/apache/maven/pull/11888 mvnup fixes =========== #12158 - Fix mvnup: use effective model to resolve properties from remote parents https://github.com/apache/maven/pull/12158 #12160 - Remove invalid combine.self and combine.children attributes in mvnup https://github.com/apache/maven/pull/12160 #12165 - Fix mvnup plugin upgrade for versions locked by parent build/plugins https://github.com/apache/maven/pull/12165 #12172 - Fix mvnup PLUGIN_UPGRADES for compiler and exec plugins https://github.com/apache/maven/pull/12172 #12173 - Bump scala-maven-plugin upgrade target from 4.9.2 to 4.9.5 https://github.com/apache/maven/pull/12173 #12200 - Bump exec-maven-plugin target to 3.5.0 and fix PLUGIN_UPGRADES https://github.com/apache/maven/pull/12200 Dependency upgrade ================== #12174 - Upgrade domtrip from 1.5.1 to 1.5.2 https://github.com/apache/maven/pull/12174 -> Fixes blank line idempotency in mvnup POM formatting Test re-enablement ================== #11826 - Re-enable MNG-6772 integration test for nested import scope https://github.com/apache/maven/pull/11826 Test results ============ 966 Apache projects tested with Maven 4 (branch maven-4.0.x-test-fixes): - 946 pass (97.9%) - 8 known issues - plugin incompatibilities that can't be fixed in Maven core (ancient enforcer-plugin 1.x, old Quarkus ServiceLocator, exec-maven-plugin getContainer() null, beta-1 plugin API break, scala-maven-plugin < 4.9.5, Sling enforcer BannedDependencies rules) - 12 project/environment failures - expired certs, missing SNAPSHOTs, compilation errors, 3rd party plugin issues - 0 Maven 4 core failures remaining The current test is still ongoing, so the above is the expected results: https://github.com/gnodet/maven4-testing/issues/14270 Thanks, Guillaume
