Preparation and discussion

We have a lot of server bits that don't normally get run in a build and shouldn't be released. These are typically integration tests or test servers for plugins. All these projects have to be built during the release so the versions get updated properly. Since mistakes here won't cause build problems except during releases, you have to check carefully that all projects are built in the all-subprojects profile. Note that integration tests are often run from non-pom packaging projects so you have to add such projects as modules to the closest parent project that is pom packaging.

When I tried it the versions plugin did not successfully update all the child projects in testsuite, I had to actually run the release process to determine if all modules were getting their versions updated.

Many projects such as integration tests, test servers, and the testsuite should not get deployed. You can arrange this by including this configuration in the topmost pom that should not be deployed: