Commit Graph

59 Commits

Author SHA1 Message Date
Mark Paluch
9ee733d12c #159 - Dependency upgrade automation.
Add commands to check for dependency upgrades and to perform an upgrade for Spring Data Build.
2020-11-13 16:26:55 +01:00
Mark Paluch
352e155e9f #99 - Polishing.
Avoid CGlib subclasses for configuration classes. Move ExecutorService to top-level config. Use lazy HTTP client creation to speed up test bootstrap.
2020-11-12 15:29:58 +01:00
Mark Paluch
acca880b0f #99 - Create changelog from ticket references used in Git commits. 2020-11-12 15:29:18 +01:00
Mark Paluch
4a6f430c3b #99 - Extract ticket references from Git commits. 2020-11-12 15:29:12 +01:00
Mark Paluch
987281d4c6 #157 - Enable calver to TrainIteration resolution. 2020-10-29 11:10:06 +01:00
Mark Paluch
d20a245f82 #155 - Fix calver version bump after conclude. 2020-10-29 10:42:31 +01:00
Mark Paluch
d487333b78 #151 - Adapt project metadata update to new Sagan API. 2020-10-27 11:30:50 +01:00
Christoph Strobl
fca3466a42 #152 - Fix IoProperties.javaHome setter.
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
2020-10-15 09:47:32 +02:00
Mark Paluch
b065b070d0 #147 - Add means to create a ticket for each project.
We now have a command to create a ticket per module iteration using the summary as argument.

tracker create tickets <module iteration> -text "summary"
2020-06-10 15:43:57 +02:00
Mark Paluch
7c999f9698 #144 - Add support for Spring Data BOM. 2020-05-18 15:29:30 +02:00
Mark Paluch
8dfaa014e2 #144 - Adapt to new versioning scheme.
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.
2020-05-12 15:01:09 +02:00
Mark Paluch
46d4e75a62 #145 - Polishing.
Rewrite ticket references in tests from (at)see #nnn to (at)Test // #nnn.
2020-04-30 15:07:46 +02:00
Mark Paluch
1a1e0cd07d #145 - Migrate unit tests to JUnit 5 and AssertJ. 2020-04-30 15:02:35 +02:00
Mark Paluch
44517c9680 #144 - Add Calver type. 2020-04-30 11:01:35 +02:00
Mark Paluch
7eb0a23ab2 #310 - Polishing.
Add linebreak to commit message only if detail is present.
2020-04-29 17:11:14 +02:00
Jens Schauder
44fe34fbc4 #139 - Updated expected release in integration test. 2020-03-11 08:34:00 +01:00
Mark Paluch
667bd6f17c #137 - Update license headers to 2020. 2020-02-26 14:12:57 +01:00
Mark Paluch
876924430b #134 - Add fixture values for tests.
We now specify test properties for Jira and GitHub integrations to prevent a fallback to values from application-local.properties.
2019-12-04 10:52:41 +01:00
Mark Paluch
d44614b50e #133 - Upgrade to Spring Boot 2.2. 2019-11-20 14:13:42 +01:00
Oliver Drotbohm
594ca16875 #113 - Deployment promotion is now skipped for public artifacts.
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.
2019-04-02 12:38:47 +02:00
Mark Paluch
ec4835b32f #107 - Polishing.
Remove failing integration test that requires external state from Jira/GitHub.
2019-03-25 09:36:26 +01:00
Spring Operator
1ac1380cba #107 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://openjdk.java.net/projects/code-tools/jmh/ with 1 occurrences migrated to:
  https://openjdk.java.net/projects/code-tools/jmh/ ([https](https://openjdk.java.net/projects/code-tools/jmh/) result 200).
* [ ] http://www.example.com/jira/rest/api/2/issue/10000 with 1 occurrences migrated to:
  https://www.example.com/jira/rest/api/2/issue/10000 ([https](https://www.example.com/jira/rest/api/2/issue/10000) result 200).
* [ ] http://docs.spring.io/spring-data/%s/docs/%s with 1 occurrences migrated to:
  https://docs.spring.io/spring-data/%s/docs/%s ([https](https://docs.spring.io/spring-data/%s/docs/%s) result 301).

# Ignored
These URLs were intentionally ignored.

* http://127.0.0.1:8080/capture-benchmarks with 1 occurrences
* http://localhost:8888 with 2 occurrences

Original pull request: #108.
2019-03-25 09:35:10 +01:00
Spring Operator
a25ff3ae28 #107 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 150 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).

Original Pull Request: #111
2019-03-22 18:33:00 +01:00
Spring Operator
b1ad6370fc #107 - URL Cleanup.
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://maven.apache.org/xsd/maven-4.0.0.xsd with 4 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).
* http://maven.apache.org/maven-v4_0_0.xsd with 3 occurrences migrated to:
  https://maven.apache.org/maven-v4_0_0.xsd ([https](https://maven.apache.org/maven-v4_0_0.xsd) result 301).
* http://www.spring.io with 2 occurrences migrated to:
  https://www.spring.io ([https](https://www.spring.io) result 301).
* http://www.spring.io/spring-data with 1 occurrences migrated to:
  https://www.spring.io/spring-data ([https](https://www.spring.io/spring-data) result 301).
* http://oss.sonatype.org/content/repositories/snapshots with 1 occurrences migrated to:
  https://oss.sonatype.org/content/repositories/snapshots ([https](https://oss.sonatype.org/content/repositories/snapshots) result 302).
* http://repo.spring.io/libs-snapshot with 3 occurrences migrated to:
  https://repo.spring.io/libs-snapshot ([https](https://repo.spring.io/libs-snapshot) result 302).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 14 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 7 occurrences

Original pull request: #106
2019-03-20 10:23:26 -05:00
Mark Paluch
25a2f23568 #100 - Ignore Milestone.open property.
We now no longer render the open property of a GitHub Milestone as JSON.

Previously, the open property was rejected by the GitHub API validator.
2019-02-13 12:13:51 +01:00
Mark Paluch
0e6c9ae37c #96 - Polishing.
Fix ReleaseCommandsIntegrationTests. Guard TrainIterationConverter against invalid input.
2018-12-12 14:53:10 +01:00
Mark Paluch
e51c06c8e3 #94 - Extend IssueTracker.closeIteration(…) to resolve release tickets.
closeIteration() now resolves release tickets within its release version to simplify post-release tasks.
2018-12-12 14:50:25 +01:00
Mark Paluch
20a8b8cb6f #92 - Adapt parent pom update to after Spring Doc Resources inclusion.
Include artifactId of spring-data-build-resources in update XPath to update the appropriate dependency.
2018-12-10 14:53:00 +01:00
Mark Paluch
628da8bd4e #91 - Polishing.
Guard tests requiring connectivity to GitHub with assumptions.
2018-12-10 14:10:59 +01:00
Mark Paluch
d5bfe81d18 #91 - Disable unsafe integration tests. 2018-12-10 14:06:05 +01:00
Oliver Gierke
11bbf98fdd #61 - Make sure Project.getDependencies() includes transitive dependencies. 2017-07-27 18:21:25 +02:00
Oliver Gierke
fec910564d #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.

#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.
2017-07-27 18:21:23 +02:00
Oliver Gierke
4cd460fa98 #7 - Added support to update project information on spring.io.
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.
2017-07-26 17:25:00 +02:00
Oliver Gierke
3fa3560ad1 #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
Mark Paluch
469e06e4b9 #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
4707e03d07 #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
27900e144a #54 - Polishing.
Extend test assertion to accept released flag of Jira release versions.
2017-06-07 13:58:43 +02:00
Mark Paluch
8b05b56cbb #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
280e3c4728 #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
Oliver Gierke
a4acf4b3d8 #49 - Upgraded to Spring Boot 2.0 snapshots. 2017-05-04 15:38:55 +02:00
Oliver Gierke
672549c734 #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
15935fb9bb #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
dbf7b26261 #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
56287e4d2f #28 - Project lookup by String now also considers keys. 2016-06-19 09:29:15 +02:00
Oliver Gierke
7cbb6606d3 #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
d162cee3f6 #22 - UpdateInformation now produces correct version for release train BOM on GA releases. 2016-04-06 17:28:20 +02:00
Oliver Gierke
d787d557db #20 - Turned DeploymentInformation into an interface. 2016-04-06 13:42:56 +02:00
Oliver Gierke
e09f5434ef #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
5451682c64 #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
7f1ae27d3e #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