We now correctly set the javaHome variable instead of the workDir if the io.javaHome property is set.
Include the property in the template file and add the maven.parallelize=true flag as well.
Closes: #152
Remove Calver type as the version scheme can be already represented using the Version type. Adopt ticket/milestone creation, Sagan versioning and Git tags to new scheme.
As we publish public artifacts (i.e. GA and service releases) directly to Maven Central, there's no need for the promotion step and it currently produces error output (fortunately not breaking the build). With this commit in place, this is now changed to simply skip that step and print informative output.
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.
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.
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.
Introduced customized execution strategy that makes methods on command classes accessible before executing them. This allows to make command classes package protected.
Introduced TimedCommand base class to output the time a command execution takes.
Refactored issue tracker implementation into dedicated packages. Removed package tangles by moving some types around. Extracted GitHub specific properties into its own properties type reusing the Git credentials as we're talking to GitHub anyway.
Added Jackson parameter name module and enabled Java 8 parameter names to be able to get rid of the manually declared constructors for payload classes. Turned them into value objects where possible.
Original pull request: #14.
Creates jira release version for a train iteration if not present. Creates release tickets in Jira and GitHub if not present. Added pre-release verification that the release ticket is present and all other tickets are closed. Allow singular ticket and release version creation. Add integration tests using WireMock. Add command to self-assign release tickets.
Added CLI commands:
* jira releasetickets
* jira create releasetickets
* jira self-assign releasetickets
* jira create releaseversions
* github tickets
* github releasetickets
* github create releaseversions
* github create releasetickets
Original pull request: #14.