Code reuse (build logic reuse) between child projects. Easier upgrading of all plugins.
- Correcting repository URLs
- Make spotbugs-annotations optional (-Dexclude-spotbugs-dependency or add to child pom properties)
- Switched to !property for fast profile.
- surefire/failsafe 3.0.0-M5 with toolchain support
- remove forge plugin executions in favor of surefire/failsafe
- remove redundant skipITs (failsafe already supports this)
- Complete repository/snapshot spec
- -DnexusUrl=X is required for deployment
- Support vendor in toolchains (zulu default)
- Fix surefire/failsafe versions
- Add default encoding property
- Remove default executions of failsafe/surefire so they don't appear in the output
- Child projects can now use surefire/failsafe if maven-forge is undesirable, but need to define custom executions to do it.
- Moving license plugin to this parent with reasonable defaults.
child projects should be able to remove all mentions of this plugin unless defaults don't fit - Add spotbugs to main execution
- Add spotbugs provided dependency for annotation
- New maven-forge-plugin with proper failsafe/surefire JAVA_HOME env var support (previous versions did not correctly hack this variable in failsafe)
slow
andfast
modes. slow is default, fast skips everything inessential to permit quick building.-Dfast -DskipTest
is the fastest way to build a project using this parent.
Any custom pom profile for fast/slow in a child project should mimic the slow
profile definition in this project,
so that a single -Dfast
activates both child and parent. See terracotta-platform for an example.
-DskipIts
is now supported in addition to-DskipTests
maven-forge-plugin with toolchains support replaces surefire and failsafe.
- Replace any mentions of surefire and failsafe with org.terracotta:maven-forge-plugin (do not specify version)
- Remove any of the above if they are not customizing configuration (plugin executions are already defined)
- Remove any property definitions that may unintentionally override this parent (eg
maven-forge-plugin.version
)
- Avoid unnecessary duplication in child poms.