[WIP] maven 4 migration#6276
Draft
duncdrum wants to merge 15 commits into
Draft
Conversation
23ba8a3 to
862777d
Compare
…aseInsertResourcesWithValidationTest
- Updated Javadoc comments in SwapVals to enhance clarity and formatting.
- Modified comments in DatabaseInsertResourcesWithValidationTest to use {@code} for HTML-like strings.
- Replaced direct Maven commands with the Maven Wrapper (`./mvnw`) in documentation and CI workflows for improved consistency and ease of use. - Added Maven Wrapper scripts (`mvnw` and `mvnw.cmd`) and properties to facilitate building with a specific Maven version without requiring a system installation. - Updated build instructions in `AGENTS.md` and `BUILD.md` to reflect the new usage of the Maven Wrapper.
- Renamed the 'installer' profile to 'local-build' and adjusted its activation to be the default. - Introduced a new 'release-build' profile for packaging the installer. - Changed the activation of 'concurrency-stress-tests' and 'micro-benchmarks' profiles to be inactive by default. - Added a 'build-dist-archives' profile to control assembly behavior, defaulting to skipping assembly for local/CI builds. close eXist-db#3394
- Replaced complex profile configurations with a simplified 'local-build' profile for local development. - Introduced a 'release-build' profile to streamline the release process and activate release-specific properties. - Updated CI workflows to remove unnecessary profile exclusions, enhancing build clarity and efficiency. - Revised documentation in AGENTS.md to reflect the new build commands and profiles. This change aims to improve the build process and facilitate easier releases.
- Updated the Maven GitHub Packages action to support optional Sonatype Central credentials for improved flexibility in publishing. - Modified CI workflow conditions to allow publishing on tagged releases, enhancing deployment capabilities. - Increased the minimum Maven version requirement to 4.0.0-rc-5 and added new build profiles for preflight checks, ensuring necessary environment variables are set before releases. see eXist-db#6176
- Replaced hardcoded version numbers in POM files with a CI-friendly property `${revision}` for better flexibility in version management.
- Enhanced CI workflows to dynamically set the revision based on GitHub tags, ensuring accurate versioning during Docker builds and releases.
- Added `.flattened-pom.xml` to `.gitignore` to prevent unnecessary file tracking.
close eXist-db#4519
- Upgraded all POM files to use Maven version 4.1.0, ensuring compatibility with the latest features and improvements. - Replaced `<modules>` tags with `<subprojects>` for better clarity and alignment with updated Maven practices. Breaking Change: No more mvn 3.x support
- Updated all POM files to ensure consistent formatting by aligning the `<artifactId>` and `<relativePath>` elements. - mvnup changes, inferred groupId, and implicit modelVersion result in StackOverflows keeping them explicit for now.
- Removed unnecessary `<relativePath>` elements from all POM files to streamline the structure and improve clarity. - Ensured consistent formatting across modules by aligning the parent tags.
- Added guidance for using Maven 4's reactor resume mode to improve rerun efficiency after module failures. - Updated release process documentation to include consumer POM flattening for published artifacts. - Enhanced CI workflows to reflect new rerun strategies and ensure clarity on deploy behavior. - Modified POM file to indicate it is a root project, aligning with Maven 4 standards.
- Introduced a new system property for product version retrieval in SystemProperties.java, allowing for dynamic resolution of version placeholders. - Updated pom.xml files to include a Maven dependency plugin for analyzing unused declared dependencies, enhancing build clarity and maintenance. - Ensured consistent handling of versioning across modules to improve overall project integrity.
…4.1 modules
- removing explicit ${project.version} for org.exist-db:exist-core across active reactor modules
- exclusions (exist-distribution, exist-xqts, exist-core-jcstress, exist-core-jmh, extensions/images, extensions/debuggee) due to current topology/profile constraints.
- removing redundant modelVersion declarations and selected intra-reactor org.exist-db dependency groupIds, - preserve required explicit coordinates (e.g., exist-saxon-regex).
Member
|
I think it is just a bit too early for v7 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
update build tooling for maven 4. For now use mvnw for clean separation of v3 and v4. Once v4 is no longer RC we can consider its removal.
simplify releasish profiles, make installer generation off by default, and avoid long chains of disabled profiles for day to day operations.
start with releases config for CI.
needs #6246