Commit Graph

72 Commits

Author SHA1 Message Date
Oliver Gierke
ab64b68245 #61 - Re-added spring-cql as additional artifact for the Cassandra module.
API polishing in Project and ArtifactCoordinates.
2017-07-26 07:58:15 +02:00
Oliver Gierke
618f04cfa1 #59 - Added Lovelace release train. 2017-07-25 18:29:28 +02:00
Oliver Gierke
ad13f84b43 #58 - Added CommandLine.Argument.debug() to run Maven in debug mode. 2017-07-25 18:29:06 +02:00
Oliver Gierke
910af9bb29 #47 - Added Spring Data for Apache Geode to release modules. 2017-07-25 18:29:01 +02:00
Mark Paluch
3735d0aaf4 #56 - Add support to archive (retire) release versions.
Added support for Jira. There's no such concept for GitHub.
2017-06-07 15:06:47 +02:00
Mark Paluch
be1ed74059 #4 - Add initial support to close Github milestones. 2017-06-07 14:39:32 +02:00
Mark Paluch
14167e4eeb #55 - Add support to assign Github release issues.
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.
2017-06-07 14:25:48 +02:00
Mark Paluch
fb187e407c #54 - Polishing.
Extend test assertion to accept released flag of Jira release versions.
2017-06-07 13:58:43 +02:00
Mark Paluch
7e4265a594 #54 - Switch to verb-based issue update of Jira tickets.
Use PUT using update verbs instead of PUT'ing the whole Jira issue value object to prevent accidental update of unwanted but set fields.
2017-06-07 13:57:02 +02:00
Mark Paluch
9cc3577a00 #53 - Polishing.
Use warn log level if git cherry pick fails.
2017-05-09 14:57:13 +02:00
Mark Paluch
658bdd2836 #53 - Skip Jira ticket assignment if ticket is already assigned.
Jira tickets are no longer self-assigned if they are assigned already.
2017-05-09 14:55:31 +02:00
Mark Paluch
ca03e7a80e #52 - Skip git push for non-existing branches. 2017-05-09 14:09:37 +02:00
Mark Paluch
974835b10b #51 - Add command to trigger distribution build for train iteration. 2017-05-09 08:04:03 +02:00
Oliver Gierke
8504c605f7 #49 - Upgraded to Spring Boot 2.0 snapshots. 2017-05-04 15:38:55 +02:00
Oliver Gierke
c65ce694cc #48 - Upgraded release train model with new iterations for milestones and service releases. 2017-05-04 15:17:52 +02:00
Oliver Gierke
05fdeba8d3 #45 - --target is now an optional argument to git backport changelog. 2017-04-03 17:05:21 +02:00
Oliver Gierke
0e4f194e81 #44 - Added infrastructure to prevent passwords from being printed to the console.
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.
2017-04-03 17:02:38 +02:00
Oliver Gierke
a960ea51a2 #43 - Added default service iterations 8 and 9. 2017-01-26 16:32:17 +01:00
Oliver Gierke
537c10fe9f #42 - Maintenance branch creation does not try to update just created branch.
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.
2017-01-26 16:30:39 +01:00
Oliver Gierke
463a5b6cee #41 - Only run validate phase for Maven pre-release checks. 2017-01-26 16:28:05 +01:00
Oliver Gierke
4523e7ef18 #40 - Reduced Maven output. 2017-01-26 16:28:02 +01:00
Oliver Gierke
e0462b777f #39 - Added Spring Data LDAP to release train. 2017-01-26 07:53:41 +01:00
Oliver Gierke
c7ec16aefc #38 - Polishing.
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.
2016-12-16 11:58:13 +01:00
Oliver Gierke
32ed7ee44f #38 - Added execution of pre-release checks to release preparations.
We now also trigger mvn verify -Ppre-release to execute all checks bound to that profile (currently a check for snapshot third-party dependencies).
2016-12-16 11:53:15 +01:00
Mark Paluch
21ab362b54 #37 - Use user-scoped request headers to close Jira release versions. 2016-11-24 17:27:20 +01:00
Oliver Gierke
d374881748 #35 - Added command to trigger builds. 2016-11-24 15:45:52 +01:00
Oliver Gierke
5d26714b11 #34 - More logging in GitOperations.
Removed some unnecessary resets along the way. Failed cherry picks now get logged explicitly so that they can be resolved manually.
2016-11-24 15:39:14 +01:00
Oliver Gierke
05ae394fad #33 - Projects can now have an explicit full name.
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.
2016-11-24 15:28:53 +01:00
Oliver Gierke
ac1273856c #32 - Allow enforcing to build milestone releases on a branch.
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.
2016-11-24 15:28:03 +01:00
Oliver Gierke
b14bda81ca #31 - Removed obsolete code from BootShim. 2016-11-24 15:17:59 +01:00
Oliver Gierke
dad0f4bc45 #30 - Polishing. 2016-07-28 09:21:54 +02:00
Oliver Gierke
b0015316ff #30 - Check out of a branch for a project now also pulls latest changes. 2016-07-28 09:17:55 +02:00
Oliver Gierke
fff9693576 #29 - Workspace.LineCallback now uses Optional as return type.
That allows us to replace non-null checks with a simple ….ifPresent(…).
2016-06-19 09:31:04 +02:00
Oliver Gierke
7ee134c777 #28 - Project lookup by String now also considers keys. 2016-06-19 09:29:15 +02:00
Oliver Gierke
51fd13c6b6 #27 - Removed build system implementation for Gradle and command for updating Docbook. 2016-06-19 09:26:21 +02:00
Oliver Gierke
3e0e742378 #26 - Upgraded to Spring 4.3 and Spring Shell 1.2 RC1.
Removed @Autowired from constructors. Tweaked class setup with Lombok in a variety of places (using @FieldDefaults, @NonNull etc.).
2016-06-19 09:25:22 +02:00
Oliver Gierke
5ac01962e9 #4 - First draft of marking versions as released.
JIRA implementation. Fails currently as the server complains about the user not being a project admin (which is not the case).
2016-04-06 22:07:02 +02:00
Oliver Gierke
ae96493519 #25 - Added Ingalls to release train model. 2016-04-06 22:04:31 +02:00
Oliver Gierke
a582b6d5b2 #19 - Made command in GitCommands methods public again. 2016-04-06 22:03:47 +02:00
Oliver Gierke
ec362e59cf #24 - Improved release steps.
Updating versions back to development ones is now contained in the conclude step. GitOperations does less pulls now to make sure we don't accidentally drop local commits. The step to create maintenance branches now uses the module version explicitly to create a branch with the right name.
2016-04-06 22:03:13 +02:00
Oliver Gierke
ea84132aba #23 - We're now explicitly declaring the source repo to promote from for Artifactory. 2016-04-06 17:29:15 +02:00
Oliver Gierke
c9f12b1c70 #22 - UpdateInformation now produces correct version for release train BOM on GA releases. 2016-04-06 17:28:20 +02:00
Oliver Gierke
6a2d63a934 #21 - Dsitribution build now only uses the distribute profile. 2016-04-06 17:25:45 +02:00
Oliver Gierke
8282a901a9 #20 - Turned DeploymentInformation into an interface. 2016-04-06 13:42:56 +02:00
Oliver Gierke
a044322b31 #19 - Made command classes package protected.
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.
2016-04-05 19:38:34 +02:00
Oliver Gierke
a820ed9178 #16 - Untangled build execution for Artifactory and Maven Central.
As the Artifactory Maven plugin currently doesn't deploy GPG signatures we need to separate the release build into two iterations. The first one is building the artifacts and promoting them to Artifactory. The second one signs the artifacts and uploads them to Maven Central in case we release a public version (GA or service release).
2016-04-05 18:47:08 +02:00
Oliver Gierke
30bec2701a #5 - Polishing.
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.
2016-04-05 18:43:46 +02:00
Mark Paluch
9944848d81 #5 - Create release tickets and release versions for Jira-tracked projects.
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.
2016-04-05 18:43:37 +02:00
Oliver Gierke
b7e981b57f #17 - Changed folder name of checked out modules. 2016-03-31 18:49:23 +02:00
Oliver Gierke
56b704b6e2 #16 - Added Maven Central distribution
Introduced properties for GPG plugin and forward them to the execution of the release build. Public release versions now trigger the "central" profile being used which will enable the Nexus repository distribution.

Renamed GitCommands.checkout(…) to update(…). Made sure that project release build execution now also authenticates with Artifactory beforehand.
2016-03-31 18:45:46 +02:00