Skip to content

v9.40.0

Compare
Choose a tag to compare
@adierkens adierkens released this 24 Jun 17:11
· 2178 commits to main since this release

Release Notes

From #1295

This release removes the requirement for the Maven Release Plugin from maven projects. This is a breaking change but that maven plugin was quite experimental. This PR makes it a full featured auto experience.

Remove requirement for "maven-release-plugin" and other improvements

  1. Remove requirement for "maven-release-plugin".
  2. Support recursive changes to all pom.xml files in the project, with the following assumptions:
    a. The project is a multi-module project.
    b. The parent pom.xml file is located in the root directory of the repo.
    c. The parent pom.xml contains the version.
    d. Sub-modules have the same version as the parent pom.xml.
  3. Support plugin options, with environment variable overrides:
    a. MAVEN_COMMAND || mavenCommand - the path to the maven executable to use. Defaults to /usr/bin/mvn.
    b. MAVEN_OPTIONS || mavenOptions - an array of arbitrary maven options, e.g. -DskipTests -P some-profile. No defaults.
    c. MAVEN_RELEASE_GOALS || mavenReleaseGoals - an array of maven goals to run when publishing. Defaults to ["deploy", "site-deploy"].
    d. MAVEN_SETTINGS || mavenSettings - the path to the maven settings file. No defaults.

NOTE: The MAVEN_USERNAME and MAVEN_PASSWORD environment variables are still supported, and have their counterparts as configuration options, but should are deprecated, and will be removed in a later release. This is because MAVEN_SETTINGS or MAVEN_OPTIONS can do the same work, but provide a much more flexible solution.

Support both "versions-maven-plugin" and auto-native DOM/XML

auto will detect if the parent pom.xml file has the versions-maven-plugin configured, and if so, use it to set the version on the parent and all child pom.xml files. If not, then auto will modify the parent and all child pom.xml files using a DOM parser and XML serializer. This has the effect of losing formatting. Therefore it then runs the serialized XML through the prettier "html" pretty-printer.

This means that if the versions-maven-plugin isn't available, the pom.xml files will be pretty-printed using the prettier formatter with the following default settings:

  • printWidth: 120 (configurable - see below)
  • tabWidth: 4 (configurable - see below)
  • parser: "html"

🚀 Enhancement

🐛 Bug Fix

⚠️ Pushed to master

📝 Documentation

  • fix home page icons first load #1308 (@hipstersmoothie)
  • fix blog #1302 (@hipstersmoothie)
  • add image lightboxes and fix some bugs in ignite #1300 (@hipstersmoothie)
  • Fix images in docs #1299 (@hipstersmoothie)
  • add logos and frontmatters to docs #1297 (@hipstersmoothie)
  • better docs theming #1296 (@hipstersmoothie)
  • add hook overview image #1281 (@hipstersmoothie)
  • @auto-it/cocoapods, @auto-it/exec, @auto-it/gradle, @auto-it/omit-commits
  • auto, @auto-it/all-contributors, @auto-it/brew, @auto-it/chrome, @auto-it/cocoapods, @auto-it/conventional-commits, @auto-it/crates, @auto-it/exec, @auto-it/first-time-contributor, @auto-it/gem, @auto-it/gh-pages, @auto-it/git-tag, @auto-it/gradle, @auto-it/jira, @auto-it/maven, @auto-it/npm, @auto-it/omit-commits, @auto-it/omit-release-notes, @auto-it/released, @auto-it/s3, @auto-it/slack, @auto-it/twitter, @auto-it/upload-assets

🔩 Dependency Updates

Authors: 3