We now rewrite the <repositories> section of each parent pom to leave the milestone repo for milestone releases, remove all repositories if the release is a GA or service release and put both repositories back after a release.
Closes#39
We now sign commits if GPG properties are set. We pulled GPG properties from deployment.gpg to the top level (gpg).
For the deployment, we fall back to deployment.gpg if toplevel GPG properties aren't set.
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.
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.
Switched to Apache Maven Invoker for running Maven on the projects.
Added JGraphT to correctly sort dependencies in topological order.
Upgraded to Spring Boot 1.3.2, Lombok 1.16.6, jGit 4.2.0. Upgraded to Spring Plugin 1.3 to benefit from lazy exception creation using lambdas. Added Lombok configuration to throw IllegalArgumentException on null checks.
Moved to Spring Boot 1.3 and leverage the new configuration properties mechanism (see GitProperties and IoProperties). Improved ArtifactVersion to be a better value object.
Introduced usage of Java 8's CompletableFuture to execute most of the Git operations in parallel. Started to use Lambdas where possible.
Git configuration is now supposed to be done using a application-local.properties (Git ignored) file containing the relevant properties (see readme). The test configuration now uses a separate workspace location and a Sample release train to make sure the integration tests run without interfering a local workspace.
Added train declaration for Hopper. Integrated BootShim (see [0], [1]) to run the shell on top of Spring Boot.
[0] https://github.com/jeffellin/springshellwithboot
[1] https://github.com/spring-projects/spring-shell/issues/34