-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pom] Use plexus xml 3.0.0 or we lose maven 3 support #851
Conversation
plexus-utils doesn't actually come with plexus-xml anymore. It ships separately. We don't use it, so we don't need to specify any version for it. The version that comes transitively with plexus-resources, which we do use, is 3.0.0, which should work fine with Maven 3. We can just keep plexus-xml omitted from the POM entirely. |
Sure they just fixed that in 4.0.1 so it can now be removed as that was the only reason it was there (due to leaking maven 4). |
* Update maven build to use revelc prefixed property name for formatting profiles in the parent POM * Drop the sonatype deploy snapshot configuration (not needed and not safe to use personal individual credentials on a shared repository this way - personal secrets still need to be deleted from the GitHub repository); discussed on revelc#889 * Re-drop autogenerated CHANGELOG file and related README in favor of adding a link to the milestone or full changeset in the GitHub release notes; discussion on revelc#844 * Bump snapshot version to 2.25.0 and update the compatible Eclipse version in the site documentation * Add missing scm section (revelc/revelc#12) * Drop site-specific distributionManagement section and related scmpublish plugin settings (those can be run manually entirely from the command-line with command-line parameters, if needed, but it shouldn't be necessary if the GitHub plugin defined in the site-deploy phase of the site lifecyle is used, as defined in the parent POM); discussed on revelc#905 * Revert to using stable versions of maven site plugin and Fluido skin, defined in the parent POM, rather than override here (when these get stable releases, the parent POM can be updated, and then the site descriptor will need to be updated, but for now, these can use the latest stable versions) * Add dependencyConvergence rule to the build, and exclude conflicting transitive dependencies, in order to affix them to specific versions (some of this might not be needed once some of the other plugins start doing dependency convergence also, like xml-formatter and jsdt-core) * Make sure slf4j-api is marked as provided (address concerns from revelc#846) It would be easier if we could converge on what maven-core or maven-plugin-api uses, but those dependencies are opaque to us, so we just have to assume it's provided and compatible with what we're using; slf4j has a high degree of compatibility, though, so this shouldn't be much of a concern * Drop plexus-xml dependency (we don't use it, and the one that comes with plexus-resources is fine with Maven 3); see comment on revelc#851
* Update maven build to use revelc prefixed property name for formatting profiles in the parent POM * Drop the sonatype deploy snapshot configuration (not needed and not safe to use personal individual credentials on a shared repository this way - personal secrets still need to be deleted from the GitHub repository); discussed on #889 * Re-drop autogenerated CHANGELOG file and related README in favor of adding a link to the milestone or full changeset in the GitHub release notes; discussion on #844 * Bump snapshot version to 2.25.0 and update the compatible Eclipse version in the site documentation * Add missing scm section (revelc/revelc#12) * Drop site-specific distributionManagement section and related scmpublish plugin settings (those can be run manually entirely from the command-line with command-line parameters, if needed, but it shouldn't be necessary if the GitHub plugin defined in the site-deploy phase of the site lifecyle is used, as defined in the parent POM); discussed on #905 * Revert to using stable versions of maven site plugin and Fluido skin, defined in the parent POM, rather than override here (when these get stable releases, the parent POM can be updated, and then the site descriptor will need to be updated, but for now, these can use the latest stable versions) * Add dependencyConvergence rule to the build, and exclude conflicting transitive dependencies, in order to affix them to specific versions (some of this might not be needed once some of the other plugins start doing dependency convergence also, like xml-formatter and jsdt-core) * Make sure slf4j-api is marked as provided (address concerns from #846) It would be easier if we could converge on what maven-core or maven-plugin-api uses, but those dependencies are opaque to us, so we just have to assume it's provided and compatible with what we're using; slf4j has a high degree of compatibility, though, so this shouldn't be much of a concern * Drop plexus-xml dependency (we don't use it, and the one that comes with plexus-resources is fine with Maven 3); see comment on #851 * Upload build logs on GitHub Actions failure Try to make the build windows-friendly * Treat test files as binaries, so git won't mangle the line endings * Make sortpom-maven-plugin ignore line endings when verifying * Commit correct CRLF line endings for AnyClassCRLF.java and someFile.xml
Plexus utils 4.0.0 brings in maven 4 apis which should not be in the build. In many cases it breaks compatibility with maven 3 especially earlier versions indicated supported here. Maven created a non maven 4 copy of plexus-xml that should be defined for this specific purpose. We should however try to stop relying on plexus utils as its mostly deprecated.