We now inspect the BOM pom.xml for references to -SNAPSHOT in declared dependencies. This is to work around the limitation of the Maven Enforcer plugin which only verifies actual project dependencies, not ones declared in a <dependencyManagement /> block.
#63 - Additional guards against snapshots in release train BOM.
We now inspect the BOM pom.xml for references to -SNAPSHOT in declared dependencies. This is to work around the limitation of the Maven Enforcer plugin which only verifies actual project dependencies, not ones declared in a <dependencyManagement /> block.
This commit introduces a command "sagan update …" to take a comma-separated list of release train names that are supported. The implementation will find the latest releases by inspecting the Git tags and the creating the necessary project metadata information. The code will then wipe the existing metadata and PUT the current information to the server.
The maven release builds (Artifactory and Maven Central) now both trigger the "release" profile as well as their deployment target profile ("artifactory", "central").
Support self-assignment of Github release issues. Added Apache httpclient to support HTTP PATCH as Java's HttpUrlConnection does not accept PATCH as HTTP method.
Introduced value objects to properly abstract command line arguments and introduced an interface Masked that allows masking a String value when printed to the console.
Introduced an overload for GitOperations.checkout(…) to allow to define whether a branch about to be created is supposed to be updated right away. The already existing method keeps the old behavior (immediate update) while the maintenance branch creation forces a create only as by definition a branch about to be created is not going to be available in the remote repo.
Renamed workspace purge artifacts to build purge artifacts as it requires knowledge about the build, not only the workspace. Some JavaDoc and assertions. Moved logging of workspace cleanup from operations to Workspace. Re-enabled workspace command as @CliComponent was missing on the class.
Project has a withFullName(…) to be able to define it manually. Projects makes use of that to explicitly define the name for Apache backed ones.
Introduced a skipTests property to make explicit, which projects should not have their test run during a build.
Introduced overloads to allow the optional lookup of a Project by name.
Train has now a method withAlwaysUseBranch(…) to define that milestone releases are supposed to be build from a branch, too.
Introduced Kay release train using that new flag and setting up a customized Iteration chain including a second milestone.