Compare commits

...
257 Commits
Author SHA1 Message Date
buildmaster 289e87195c Update SNAPSHOT to 4.0.0-M4 2022-07-29 18:34:55 +00:00
buildmaster f024dadefa Bumping versions 2022-07-21 14:52:39 +00:00
RobertRad 383ae64dbb Escape special characters for config Asciidoc 2022-06-29 14:07:42 -04:00
buildmaster 20df35799d Going back to snapshots 2022-06-15 08:45:27 +00:00
buildmaster 0e9ac25dd5 Update SNAPSHOT to 4.0.0-M3 2022-06-15 08:43:29 +00:00
Marcin Grzejszczak 49dd7deec2 Revert "Bumping versions"
This reverts commit 1c104f1837.
2022-04-27 16:44:17 +02:00
buildmaster 1c104f1837 Bumping versions 2022-04-26 14:57:29 +00:00
Marcin Grzejszczak 55b2c63b0a Revert "Bumping versions"
This reverts commit 7c613551d0.
2022-04-26 09:38:59 +02:00
buildmaster 7c613551d0 Bumping versions 2022-04-25 14:57:25 +00:00
Marcin Grzejszczak d48985e4fd Going back to Spring Boot 3.0.0-SNAPSHOT 2022-04-25 16:22:06 +02:00
buildmaster 1a1e2f7a45 Going back to snapshots 2022-03-31 16:24:12 +00:00
buildmaster 0fbe1ca90a Update SNAPSHOT to 4.0.0-M2 2022-03-31 16:23:01 +00:00
buildmaster 2830e11a3b Bumping versions 2022-03-25 14:55:17 +00:00
spencergibb c1bb7946cc Fixes asciidoc includes for main 2022-02-04 14:16:23 -05:00
spencergibb 1d354900b7 Merge branch '3.1.x' 2022-02-04 14:15:25 -05:00
spencergibb 2bb8d61d7d Fixes asciidoc includes for 3.1.x 2022-02-04 14:14:07 -05:00
spencergibb f005cfaa2b Merge branch '3.1.x' 2022-02-04 11:24:07 -05:00
Artem Bilan 711fbce9ba Remove lf from NewlineAtEndOfFileCheck
Different OSs may check out files with different line separators.
So, to better support other development environments it would be great to just require any end of file, not just Linux-specific.
2022-02-04 11:21:59 -05:00
spencergibb 84ecff1ac8 Updates boot version to 2.6.3 2022-02-04 11:21:22 -05:00
spencergibb 0e31343b92 move comment 2022-02-04 11:20:01 -05:00
spencergibb 592d80f379 Adds building-jdk8.adoc for backwards compatibility 2022-02-03 13:08:27 -05:00
spencergibb 40ae242fe8 Updates docs to reflect java 17.
Removed building-base.adoc and building-jdk8.adoc
2022-02-03 12:46:04 -05:00
buildmaster b94c72ea30 Bumping versions 2022-01-26 08:13:45 +00:00
buildmaster d9bdd101ac Going back to snapshots 2022-01-25 17:44:45 +00:00
buildmaster 41669f2cc5 Update SNAPSHOT to 4.0.0-M1 2022-01-25 17:43:30 +00:00
Glenn Renfro 0afa19a2e1 Updated version for the various components.
Was unable to update asciidoctor-maven-plugin from 2.1.0 -> 2.2.1 because of build failure.
Need to investigate for M2
2022-01-24 11:48:17 -05:00
Marcin Grzejszczak d135092150 Update maven.yml 2022-01-17 10:38:32 +01:00
Ryan Baxter 4b3c5c511c Bump jacoco plugin to 0.8.7 2022-01-12 11:12:14 -05:00
spencergibb e0ad557de9 Updates sdkman to java 17 temurin 2022-01-03 14:25:20 -05:00
spencergibb eb0d694c4e Merge branch '3.1.x' 2022-01-03 14:17:19 -05:00
spencergibb ad3ddefa16 Adds .sdkmanrc 2022-01-03 14:16:50 -05:00
spencergibb c55d97d47c Updates to version 4.0.0-SNAPSHOT and boot 3.0.0 2022-01-03 14:14:44 -05:00
spencergibb cdda8827b8 Merge branch '3.0.x' 2021-12-09 15:12:47 -05:00
Spencer Gibb 5a44935cb1 Removes nexus staging plugin (#222) 2021-12-09 15:10:39 -05:00
buildmaster e6b1048b95 Bumping versions 2021-12-02 08:12:42 +00:00
buildmaster cd07e0a1e0 Bumping versions 2021-11-30 08:13:07 +00:00
buildmaster 8f44088dab Bumping versions to 3.1.1-SNAPSHOT after release 2021-11-29 18:44:44 +00:00
buildmaster bee859195e Going back to snapshots 2021-11-29 18:44:43 +00:00
buildmaster e5d07102d3 Update SNAPSHOT to 3.1.0 2021-11-29 18:42:36 +00:00
spencergibb fb3f9dac01 Adds maven-gpg-plugin.version to dependencies pom 2021-11-29 12:54:46 -05:00
spencergibb b52e6489fa Merge remote-tracking branch 'origin/main'
# Conflicts:
#	pom.xml
2021-11-29 12:04:29 -05:00
buildmaster b91b10a197 Bumping versions 2021-11-29 17:01:00 +00:00
buildmaster ee66ee4791 Bumping versions 2021-11-26 08:12:59 +00:00
Olga Maciaszek-Sharma 4493fa05ea Add duplicate finder (#220)
* Add duplicate finder to plugins and executions.

* Add duplicate finder to plugins and executions.

* Fix docs.
2021-11-26 08:41:00 +01:00
spencergibb e0c89da706 Merge branch '3.0.x' 2021-11-23 15:28:56 -05:00
Marcin Grzejszczak 74842d8a7f Uses nexus staging plugin to deploy to central (#216)
* Uses nexus staging plugin to deploy to central

* Don't automatically close
2021-11-23 15:25:26 -05:00
buildmaster e874b69be7 Bumping versions 2021-11-19 19:30:30 +00:00
buildmaster b8132405ba Bumping versions 2021-11-03 19:18:16 +00:00
buildmaster 604011cb50 Going back to snapshots 2021-11-01 18:54:48 +00:00
buildmaster 036039ae77 Update SNAPSHOT to 3.1.0-RC1 2021-11-01 18:53:40 +00:00
buildmaster af34adfc11 Bumping versions 2021-10-22 15:25:08 +00:00
buildmaster 2741145bf3 Going back to snapshots 2021-10-14 14:58:32 +00:00
buildmaster 8902fd634c Update SNAPSHOT to 3.1.0-M3 2021-10-14 14:55:50 +00:00
buildmaster 3a21352bc6 Bumping versions 2021-10-06 17:12:36 +00:00
Jonatan Ivanov f27797c8ac Merge pull request #218 from robertmcnees/gh_217
Removed .travis and scripts reference from documentation
2021-09-27 12:21:43 -07:00
buildmaster e5fa41b0db Going back to snapshots 2021-09-27 16:26:31 +00:00
buildmaster 4b87554b2b Update SNAPSHOT to 3.1.0-M2 2021-09-27 16:25:23 +00:00
Robert McNeesandJonatan Ivanov bfc8b98a21 Update docs/src/main/asciidoc/building-base.adoc
Co-authored-by: Jonatan Ivanov <jonatan.ivanov@gmail.com>
2021-09-27 11:06:00 -04:00
Robert McNees e331da87fa Removed .travis and scripts reference from documentation 2021-09-22 07:38:59 -04:00
buildmaster 3e6b8144b6 Bumping versions to 3.0.5-SNAPSHOT after release 2021-09-20 14:09:33 +00:00
buildmaster b2b9e8fa90 Going back to snapshots 2021-09-20 14:09:33 +00:00
buildmaster e52df5d684 Update SNAPSHOT to 3.0.4 2021-09-20 14:07:37 +00:00
Olga MaciaszekSharma 5a19120508 Upgrade Boot to 2.4.10. 2021-09-20 15:05:57 +02:00
buildmaster 61e958b63d Bumping versions 2021-09-09 18:17:42 +00:00
Marcin Grzejszczak 9fb56b8b24 Spring Boot 2.6.0-SNAPSHOT 2021-09-06 13:11:27 +02:00
buildmaster d8f30876d3 Bumping versions 2021-08-18 08:14:23 +00:00
Marcin Grzejszczak 74b2e09838 Updated Boot to 2.6.0-SNAPSHOT 2021-08-17 18:40:27 +02:00
spencergibb d6ba904dcc Updates boot to 2.4.10-SNAPSHOT
fix for spring-amqp spring-integration version mismatch
2021-07-26 17:49:15 -04:00
spencergibb c154f40cdf Updates boot to 2.4.9 2021-07-26 12:56:48 -04:00
buildmaster 88906d3bab Bumping versions 2021-07-23 18:55:47 +00:00
spencergibb 3f3613b1ad adds maven.config back with just spring profile 2021-07-23 12:58:08 -04:00
buildmaster eb1faa3134 Bumping versions 2021-07-23 08:14:47 +00:00
buildmaster 8fed4a9249 Going back to snapshots 2021-07-23 00:40:58 +00:00
buildmaster f6e8e4b71b Update SNAPSHOT to 3.1.0-M1 2021-07-23 00:39:40 +00:00
Ryan Baxter f9386aa621 Using Boot 2.6.0-M1 2021-07-22 20:33:25 -04:00
Ryan Baxter 74fc896653 Adding plugin repositories to docs profile 2021-07-22 20:06:34 -04:00
Marcin Grzejszczak ad51c6b78f Bumping boot to 2.4.8 2021-07-20 16:37:38 +02:00
Marcin Grzejszczak a074b31b30 Downgrading exec-maven-plugin to speed up our builds
Currently with the updated plugin we're trying to fetch jars with a http:// URL
2021-07-16 15:41:27 +02:00
Spencer Gibb f1ec549ce6 Downgrade maven failsafe plugin 2021-07-15 14:00:22 -04:00
Olga MaciaszekSharma 216746d39b Downgrade surefire-plugin and surefire-reporting-plugin to 2.22.2. 2021-07-15 19:24:18 +02:00
Marcin Grzejszczak b41d78f5c6 Bumped jacoco 2021-07-13 10:22:02 +02:00
Marcin Grzejszczak 9247f06db2 Bumped versions of libs (#215) 2021-07-13 10:02:16 +02:00
Marcin Grzejszczak 3af8d0feae Adds -Pspring to maven build command 2021-07-12 12:40:28 +02:00
Marcin Grzejszczak 8d16702238 Fixde workflows 2021-07-12 12:37:05 +02:00
Spencer Gibb 8de921489f Replace symlink with include (#214)
* removed index.adoc symlink

* Replace symlink with include
2021-07-12 12:06:02 +02:00
spencergibb 8a2deb21d6 Updates boot to version 2.6.0-SNAPSHOT 2021-07-08 14:46:11 -04:00
spencergibb 82954c4313 Merge branch '3.1.x' 2021-07-08 14:34:48 -04:00
Christianandcgerrard 3b59bc688c Updating asciidoctorJ versions, handling deprecated constructors, removing unused import. (#213)
Co-authored-by: cgerrard <christian@nomena.io>
2021-07-01 12:36:19 +02:00
buildmaster 00f1b3426f Bumping versions 2021-06-22 00:03:58 +00:00
buildmaster e2021b552a Bumping versions 2021-06-11 08:12:58 +00:00
buildmaster 0b717b0c61 Bumping versions 2021-06-10 16:30:09 +00:00
buildmaster 6ff762f675 Bumping versions 2021-05-28 08:12:56 +00:00
buildmaster 5d61e6f832 Bumping versions 2021-05-27 08:12:43 +00:00
buildmaster c109e0520e Bumping versions to 3.0.4-SNAPSHOT after release 2021-05-26 12:49:50 +00:00
buildmaster d1470dd08a Going back to snapshots 2021-05-26 12:49:50 +00:00
buildmaster 0cc33f5c86 Update SNAPSHOT to 3.0.3 2021-05-26 12:47:45 +00:00
Olga MaciaszekSharma d1f60f83b6 Merge remote-tracking branch 'main' into 3.1.x 2021-05-13 12:54:45 +02:00
Olga MaciaszekSharma ab3faaebe0 Merge remote-tracking branch 'origin/2.3.x' into main 2021-05-13 12:51:06 +02:00
Olga MaciaszekSharma 7cc037d7cc Switch to GH actions. 2021-05-13 12:46:18 +02:00
Olga MaciaszekSharma 8d406e1e3f Add GH actions setup. 2021-05-13 12:27:26 +02:00
Olga MaciaszekSharma b6286b926e Revert "Try building with docs on Circle."
This reverts commit 2d1f2b3e11.
2021-05-13 12:24:48 +02:00
Olga MaciaszekSharma 2d1f2b3e11 Try building with docs on Circle. 2021-05-13 12:23:06 +02:00
Olga MaciaszekSharma 2b254a0769 Add debug flag. 2021-05-13 12:16:55 +02:00
Olga MaciaszekSharma a3d39519d9 Init 3.1.x. 2021-05-13 12:01:08 +02:00
Olga MaciaszekSharma 661f5f87bd Merge remote-tracking branch 'origin/main' into main 2021-05-12 17:15:57 +02:00
buildmaster 25eeb5d7dc Bumping versions 2021-05-04 20:58:30 +00:00
spencergibb cef2a68ae1 Updates build to version 2.3.5.BUILD-SNAPSHOT 2021-04-20 15:27:18 -04:00
buildmaster 58fe04d142 Bumping versions 2021-04-16 07:11:44 +00:00
buildmaster 4917243002 Bumping versions to 2.3.4.SNAPSHOT after release 2021-04-15 20:57:59 +00:00
buildmaster dc671e5961 Going back to snapshots 2021-04-15 20:57:59 +00:00
buildmaster b849224d34 Update SNAPSHOT to 2.3.3.RELEASE 2021-04-15 20:56:30 +00:00
buildmaster 94db972ad8 Bumping versions 2021-04-08 18:13:00 +00:00
buildmaster d559da0b65 Bumping versions 2021-03-18 16:22:46 +00:00
spencergibb 416cadcd87 Ignore milestone plugin versions in releaser.
Fixes gh-210
2021-03-18 12:14:54 -04:00
buildmaster 80dcb06760 Bumping versions 2021-03-18 07:12:19 +00:00
buildmaster 6a702ea444 Bumping versions 2021-03-12 07:12:25 +00:00
buildmaster 190cb86ef7 Bumping versions to 3.0.3-SNAPSHOT after release 2021-03-11 16:01:02 +00:00
buildmaster 0b3eb08ca7 Going back to snapshots 2021-03-11 16:01:02 +00:00
buildmaster f578303c08 Update SNAPSHOT to 3.0.2 2021-03-11 15:59:08 +00:00
Marcin Grzejszczak 39a1c393e4 Removed Bintray plugin 2021-03-08 09:08:52 +01:00
buildmaster ba39434f18 Bumping versions 2021-02-18 17:39:31 +00:00
buildmaster b0aea38029 Bumping versions 2021-01-28 01:17:03 +00:00
buildmaster 258905c660 Bumping versions to 3.0.2-SNAPSHOT after release 2021-01-27 16:27:41 +00:00
buildmaster 540d3b3fe5 Going back to snapshots 2021-01-27 16:27:41 +00:00
buildmaster 85e6ea2365 Update SNAPSHOT to 3.0.1 2021-01-27 16:25:55 +00:00
Ryan Baxter 4711b1780d Use org security policy 2021-01-21 13:54:59 -05:00
Marcin Grzejszczak 88b45f7791 Bumped Asciidoctor Maven Plugin to 2.1.0 (we need asciidoctorj > 2.4.0) 2021-01-05 11:08:42 +01:00
buildmaster 90a515199e Bumping versions 2020-12-22 18:08:13 +00:00
buildmaster 91299a3bee Bumping versions 2020-12-22 17:56:45 +00:00
buildmaster 6979da58be Bumping versions 2020-12-22 07:12:21 +00:00
spencergibb 2d256aa0f2 Updates version to 3.0.1-SNAPSHOT 2020-12-21 13:12:05 -05:00
buildmaster dea13a0f84 Bumping versions 2020-12-19 07:12:38 +00:00
buildmaster e5443ccf45 Bumping versions to 3.0.1.SNAPSHOT after release 2020-12-19 00:06:59 +00:00
buildmaster cb21c9a698 Going back to snapshots 2020-12-19 00:06:58 +00:00
buildmaster e0b2f352b5 Update SNAPSHOT to 3.0.0 2020-12-19 00:05:24 +00:00
Marcin Grzejszczak d5f63ece97 Removed plugins repo 2020-12-18 09:47:16 +01:00
buildmaster 1f8f123fd9 Bumping versions 2020-12-14 21:38:44 +00:00
Jonatan Ivanov 4901a73b7f Updating docs: Java 8 instead of 7 (#208) 2020-12-14 08:49:53 +01:00
buildmaster 372317bca0 Going back to snapshots 2020-12-10 21:10:02 +00:00
buildmaster 8889bffd19 Update SNAPSHOT to 3.0.0-RC1 2020-12-10 21:09:00 +00:00
Marcin Grzejszczak c909aacff9 Merge branch '2.3.x' 2020-12-09 17:40:10 +01:00
buildmaster 900a46748e Going back to snapshots 2020-12-01 20:53:55 +00:00
buildmaster 879b9a6053 Update SNAPSHOT to 3.0.0-M6 2020-12-01 20:52:52 +00:00
Marcin Grzejszczak 0c5b190e42 Fixed the invalid default value code formatting 2020-11-19 09:47:36 +01:00
buildmaster a4b139316e Going back to snapshots 2020-11-17 09:23:47 +00:00
buildmaster 7c6d77cf7f Update SNAPSHOT to 3.0.0-M5 2020-11-17 09:22:32 +00:00
Marcin Grzejszczak 313b7907de Updated settings.xml, changed code formatting for default values 2020-11-16 14:24:27 +01:00
buildmaster 5f75067cc2 Bumping versions 2020-11-12 19:58:53 +00:00
Marcin Grzejszczak 701bdc5f63 Moved the source highlighter 2020-11-10 15:26:17 +01:00
Marcin Grzejszczak 84afd82e17 Updated ascidoctorj 2020-11-10 14:14:57 +01:00
Marcin Grzejszczak 74bee7a6c3 Updated asciidoctor extensions 2020-11-10 09:28:07 +01:00
dependabot-preview[bot] 7da8e0c07b Bump maven-source-plugin from 3.0.1 to 3.2.1 (#184)
Bumps [maven-source-plugin](https://github.com/apache/maven-source-plugin) from 3.0.1 to 3.2.1.
- [Release notes](https://github.com/apache/maven-source-plugin/releases)
- [Commits](https://github.com/apache/maven-source-plugin/compare/maven-source-plugin-3.0.1...maven-source-plugin-3.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-03 13:03:23 -05:00
dependabot-preview[bot] 6ee50db4e6 Bump maven-javadoc-plugin from 3.1.0 to 3.2.0 (#199)
Bumps [maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.1.0...maven-javadoc-plugin-3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-03 11:16:38 +01:00
dependabot-preview[bot] 316c9cd491 Bump maven-jxr-plugin from 2.1 to 3.0.0 (#200)
Bumps [maven-jxr-plugin](https://github.com/apache/maven-jxr) from 2.1 to 3.0.0.
- [Release notes](https://github.com/apache/maven-jxr/releases)
- [Commits](https://github.com/apache/maven-jxr/compare/jxr-2.1...jxr-3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-03 11:16:24 +01:00
dependabot-preview[bot] f9f0b41e6c Bump asciidoctorj-pdf from 1.5.0-alpha.18 to 1.5.3 (#201)
Bumps [asciidoctorj-pdf](https://github.com/asciidoctor/asciidoctorj) from 1.5.0-alpha.18 to 1.5.3.
- [Release notes](https://github.com/asciidoctor/asciidoctorj/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctorj/blob/master/CHANGELOG.adoc)
- [Commits](https://github.com/asciidoctor/asciidoctorj/commits/v1.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-03 11:16:03 +01:00
buildmaster 357a804cea Bumping versions 2020-11-02 18:10:42 +00:00
Marcin Grzejszczak 17db2e46fb Downgraded checkstyle; added surefire-report plugin 2020-11-02 14:31:47 +01:00
Marcin Grzejszczak b155afba9e Revert "Bump checkstyle from 8.29 to 8.37 (#198)"
This reverts commit 7cf69ff3ed.
2020-11-02 14:16:25 +01:00
dependabot-preview[bot] 7cf69ff3ed Bump checkstyle from 8.29 to 8.37 (#198)
Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.29 to 8.37.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.29...checkstyle-8.37)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-02 09:47:06 +01:00
buildmaster 6032a90a22 Bumping versions 2020-10-16 15:48:29 +00:00
buildmaster 7c8ae3600e Bumping versions 2020-09-29 14:50:47 +00:00
buildmaster 784bf6c07d Bumping versions 2020-09-24 07:12:15 +00:00
buildmaster db077cc8dd Going back to snapshots 2020-09-23 11:02:25 +00:00
buildmaster 943f5baa8d Update SNAPSHOT to 3.0.0-M4 2020-09-23 11:01:19 +00:00
buildmaster ae1f08bc3b Bumping versions 2020-09-23 09:45:28 +00:00
buildmaster 77ab93cb00 Bumping versions 2020-09-18 07:13:40 +00:00
spencergibb 3e531fbf5b Updates spring-boot to 2.4.0-M3 2020-09-17 18:31:34 -04:00
spencergibb ea13dc5781 Updates spring-javaformat to 0.0.25 2020-09-16 15:51:17 -04:00
Marcin Grzejszczak 06d17061c9 Going back to spring-asciidoctor-extensions version 0.1.3.RELEASE 2020-08-25 18:10:26 +02:00
dependabot-preview[bot] 741af163e1 Bump asciidoctor-maven-plugin from 1.6.0 to 2.0.0 (#178)
Bumps [asciidoctor-maven-plugin](https://github.com/asciidoctor/asciidoctor-maven-plugin) from 1.6.0 to 2.0.0.
- [Release notes](https://github.com/asciidoctor/asciidoctor-maven-plugin/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctor-maven-plugin/blob/master/CHANGELOG.adoc)
- [Commits](https://github.com/asciidoctor/asciidoctor-maven-plugin/compare/asciidoctor-maven-plugin-1.6.0...asciidoctor-maven-plugin-2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 16:26:30 +02:00
dependabot-preview[bot] 361fc5dcb6 Bump maven-jar-plugin from 3.1.0 to 3.2.0 (#177)
Bumps [maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/apache/maven-jar-plugin/releases)
- [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.1.0...maven-jar-plugin-3.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:16:44 +02:00
dependabot-preview[bot] 65dfa0670d Bump nohttp-checkstyle from 0.0.2.RELEASE to 0.0.5.RELEASE (#176)
Bumps [nohttp-checkstyle](https://github.com/spring-projects/spring-security) from 0.0.2.RELEASE to 0.0.5.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Commits](https://github.com/spring-projects/spring-security/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:16:35 +02:00
dependabot-preview[bot] 9e07d6911f Bump jacoco-maven-plugin from 0.7.4.201502262128 to 0.8.5 (#174)
Bumps [jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.7.4.201502262128 to 0.8.5.
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/commits/v0.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:16:27 +02:00
dependabot-preview[bot] 3f671831c8 Bump maven-surefire-plugin from 2.22.1 to 2.22.2 (#173)
Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 2.22.1 to 2.22.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-2.22.1...surefire-2.22.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:16:20 +02:00
dependabot-preview[bot] 759c55a856 Bump maven-dependency-plugin from 3.1.1 to 3.1.2 (#172)
Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.1.1...maven-dependency-plugin-3.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:16:06 +02:00
dependabot-preview[bot] ac97919d4a Bump maven-compiler-plugin from 3.8.0 to 3.8.1 (#171)
Bumps [maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.8.0...maven-compiler-plugin-3.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 15:15:58 +02:00
Jay Bryant bf1b1a8862 Wording changes (#170)
* Wording changes

Replace potentially sensitive terms

* Wording changes

One more change.
2020-08-04 14:33:49 +02:00
dependabot-preview[bot] 44b0105f5d Bump pitest-maven from 1.5.0 to 1.5.2 (#175)
Bumps [pitest-maven](https://github.com/hcoles/pitest) from 1.5.0 to 1.5.2.
- [Release notes](https://github.com/hcoles/pitest/releases)
- [Commits](https://github.com/hcoles/pitest/compare/1.5.0...pitest-parent-1.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 14:32:28 +02:00
Marcin Grzejszczak e905e9abc7 Updated wrapper 2020-08-04 14:29:41 +02:00
Marcin Grzejszczak ef7a447115 Fixed wrong *-local repos 2020-08-04 14:23:28 +02:00
Marcin Grzejszczak 61590c2cc6 Fixed wrong *-local repos 2020-08-04 14:21:57 +02:00
dependabot-preview[bot] e312f8fbb2 Bump asciidoctorj from 2.1.0 to 2.4.0 (#179)
Bumps [asciidoctorj](https://github.com/asciidoctor/asciidoctorj) from 2.1.0 to 2.4.0.
- [Release notes](https://github.com/asciidoctor/asciidoctorj/releases)
- [Changelog](https://github.com/asciidoctor/asciidoctorj/blob/master/CHANGELOG.adoc)
- [Commits](https://github.com/asciidoctor/asciidoctorj/compare/v2.1.0...v2.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 14:17:46 +02:00
dependabot-preview[bot] 2e26a40821 Bump maven-war-plugin from 3.2.2 to 3.3.1 (#180)
Bumps [maven-war-plugin](https://github.com/apache/maven-war-plugin) from 3.2.2 to 3.3.1.
- [Release notes](https://github.com/apache/maven-war-plugin/releases)
- [Commits](https://github.com/apache/maven-war-plugin/compare/maven-war-plugin-3.2.2...maven-war-plugin-3.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-08-04 14:17:22 +02:00
Marcin Grzejszczak cd4c43834c Bumped pitest maven version to 1.5.2 2020-08-04 14:12:34 +02:00
Ryan Baxter ad4b6589ae Merge remote-tracking branch 'origin/2.3.x' 2020-07-29 17:12:00 -04:00
Ryan Baxter 97f2ff0772 Merge remote-tracking branch 'origin/2.3.x' 2020-07-29 16:17:31 -04:00
buildmaster faa7203fbd Bumping versions 2020-07-24 18:48:41 +00:00
buildmaster 46caf6af41 Going back to snapshots 2020-07-16 15:58:21 +00:00
buildmaster 1500125935 Update SNAPSHOT to 3.0.0-M3 2020-07-16 15:56:32 +00:00
buildmaster b4ee4f5868 Bumping versions 2020-07-16 14:34:56 +00:00
buildmaster fc0e97bfae Bumping versions 2020-07-08 07:12:29 +00:00
spencergibb d7ef8963a9 Merge branch '2.3.x' 2020-07-07 12:41:48 -04:00
spencergibb 2cbdbdfcc9 Bumps maven shade plugin to version 3.2.4 2020-06-24 10:19:35 -04:00
spencergibb 4fe1656c4b Bumps antrun plugin to version 3.0.0 2020-06-15 13:55:18 -04:00
Marcin Grzejszczak 0dc77984f0 Merge branch '2.3.x' 2020-06-10 09:59:20 +02:00
Marcin Grzejszczak 843cbd2f7c Skipping readme generation if there's no readme 2020-06-08 16:08:57 +02:00
Marcin Grzejszczak 48c7ac77ce Merge branch '2.3.x' 2020-06-04 13:14:24 +02:00
Marcin Grzejszczak fb9960639e Added missing files 2020-06-04 12:49:25 +02:00
Marcin Grzejszczak 5682e8d214 Removed gh-pages usage and ruby execution
migrated to docs.spring.io docs generation
merging of readme.adoc is done via Java code

fixes gh-165
2020-06-04 12:44:22 +02:00
spencergibb d2852a8519 Bumps boot to version to 2.4.0-SNAPSHOT 2020-05-29 16:47:44 -04:00
buildmaster 10d0bb9454 Going back to snapshots 2020-05-29 18:11:55 +00:00
buildmaster f8872365f7 Update SNAPSHOT to 3.0.0-M2 2020-05-29 18:11:25 +00:00
Marcin Grzejszczak 9f47b8e8c8 Fixed setting null as default value for config props 2020-05-28 13:18:23 +02:00
buildmaster 6b64579beb Bumping versions 2020-05-28 07:12:36 +00:00
Marcin Grzejszczak 61c967228a Fixed the root url link for docs 2020-05-27 09:22:02 +02:00
buildmaster 216681310e Bumping versions 2020-05-26 14:13:25 +00:00
Marcin Grzejszczak 355a18d5fa Fixed new lines in the config properties generation 2020-05-26 14:01:24 +02:00
Marcin Grzejszczak e2019664e2 Fixed improper packaging and config props parsing 2020-05-26 13:56:43 +02:00
Marcin Grzejszczak bdd2ae3ed3 Migrated the configprops parsing to Java due to constant issues with Groovy versions 2020-05-26 13:45:03 +02:00
Marcin Grzejszczak 95688d5c8e Don't generate a pom for uploaded zip with docs 2020-05-25 15:57:07 +02:00
Marcin Grzejszczak 59d1129b4b Fixed the way jar with sc-build-docs gets deployed 2020-05-25 15:18:30 +02:00
Marcin Grzejszczak 114b30af71 Removed unnecessary property setup in the plugin 2020-05-25 13:54:46 +02:00
Marcin Grzejszczak 25c19bbda1 Moved the phase property to the module 2020-05-25 13:52:13 +02:00
Marcin Grzejszczak c542d67ce7 Setting up repository for docs.spring.io migration 2020-05-25 13:40:42 +02:00
Marcin Grzejszczak a744025d26 Disabling docs zip publishing for all modules other than the docs module 2020-05-25 13:26:55 +02:00
Marcin Grzejszczak 2355cbdc6e Improved the way the zipped docs are pushed; fixes gh-166 2020-05-25 12:18:20 +02:00
buildmaster 4a5bbcd936 Bumping versions 2020-05-22 07:12:30 +00:00
spencergibb 501a33c65a Merge branch '2.3.x' 2020-05-21 16:20:09 -04:00
spencergibb bd26a5a184 Bumps boot to version to 2.3.0.BUILD-SNAPSHOT 2020-05-14 15:53:28 -04:00
spencergibb 2f1a258497 Merge branch '2.3.x' 2020-05-08 13:54:45 -04:00
Olga Maciaszek-Sharma 2417705160 Merge pull request #151 from spring-cloud/dependabot/maven/com.puppycrawl.tools-checkstyle-8.29
Bump checkstyle from 8.18 to 8.29
2020-04-23 18:01:21 +02:00
Olga Maciaszek-Sharma b6c617e7e4 Suppress javadoc check for files in test directory. 2020-04-23 16:54:41 +02:00
Spencer Gibb a3c351ebdb Merge branch '2.3.x' 2020-04-22 10:54:11 -04:00
buildmaster a2532c63b0 Bumping versions 2020-04-16 22:31:47 +00:00
buildmaster 8ad6ecd490 Bumping versions 2020-04-16 21:55:02 +00:00
Spencer Gibb ce18c35b9b Updates version to 3.0.0-SNAPSHOT 2020-04-16 17:51:18 -04:00
buildmaster e67ca1d250 Bumping versions 2020-04-16 20:59:34 +00:00
Spencer Gibb bb7f805da5 Updates version to 3.0.0-SNAPSHOT 2020-04-16 16:31:36 -04:00
buildmaster 3fcf51db80 Bumping versions 2020-04-07 07:12:50 +00:00
Ryan Baxter d27e082b86 Revert "Version changes for 3.0.0.M1 release"
This reverts commit d2c32c296f.
2020-04-06 10:43:35 -04:00
Ryan Baxter d2c32c296f Version changes for 3.0.0.M1 release 2020-04-06 10:41:30 -04:00
Marcin Grzejszczak cf97faac76 Downgraded Groovy to 2.5.10 2020-04-06 12:39:31 +02:00
Marcin Grzejszczak 7e0af58be1 Added missing ; at the end of type in the maven-deploy 2020-04-06 08:40:15 +02:00
buildmaster af64b39551 Bumping versions 2020-04-04 07:12:35 +00:00
Spencer Gibb cb4e0f2e1f Merge branch '2.3.x' 2020-04-03 10:25:24 -04:00
Marcin Grzejszczak 14829d4e67 Bumped Groovy for jdk14 to work 2020-04-02 14:38:23 +02:00
Marcin Grzejszczak c91c5d3146 Updated docs theme to github 2020-04-02 09:44:01 +02:00
Marcin Grzejszczak 62708fe5b0 Upgraded doc libraries 2020-04-01 18:42:16 +02:00
Marcin Grzejszczak 126d39dd11 Added one more prop for the .md5 extension to be added to that one instead of docs.deployed 2020-04-01 18:21:15 +02:00
Marcin Grzejszczak 21f60d469e Updated type with zip 2020-04-01 12:34:22 +02:00
Marcin Grzejszczak aa8e68f719 Describes how to attach the zip with docs 2020-04-01 10:18:50 +02:00
Marcin Grzejszczak 3b444ac772 Fixed the failure flag 2020-03-30 16:03:02 +02:00
Marcin Grzejszczak 57ee494b9d Fixed setup for failing on errors / warnings with javadocs 2020-03-30 09:57:13 +02:00
Marcin Grzejszczak 199c1405bf Externalized javadoc.failOnError 2020-03-30 08:40:54 +02:00
Marcin Grzejszczak 423db03218 Don't fail the build if there are no mutations 2020-03-27 10:42:48 +01:00
Marcin Grzejszczak c271a4eb9f Added pitest integration; fixes gh-154 (#155) 2020-03-26 13:41:00 +01:00
Olga Maciaszek-Sharma 6920b32ef7 Remove deprecated checkstyle property. 2020-02-07 13:52:28 +01:00
Dave Syer fb26806aa8 Update versions for checkstyle and puppy thing (#152)
Avoid nag by github security alert
2020-02-07 06:24:24 -05:00
dependabot[bot] d5a7b82b2a Bump checkstyle from 8.18 to 8.29
Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.18 to 8.29.
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.18...checkstyle-8.29)

Signed-off-by: dependabot[bot] <support@github.com>
2020-01-31 18:01:11 +00:00
buildmaster 7132df33e9 Bumping versions 2020-01-30 07:12:20 +00:00
Marcin Grzejszczak a12aafd666 Fixing Groovy 2020-01-29 21:23:30 +01:00
Marcin Grzejszczak 1e1a69d5e7 Merge branch '2.2.x' 2020-01-29 21:04:44 +01:00
buildmaster 2d6fba3980 Bumping versions 2020-01-21 17:56:12 +00:00
buildmaster b17c65538a Bumping versions 2020-01-21 07:12:29 +00:00
buildmaster 5c90e0fae5 Bumping versions 2020-01-20 13:08:57 +00:00
buildmaster 3ed6df3056 Bumping versions 2020-01-18 07:12:34 +00:00
Spencer Gibb e512de74b8 Updates to 3.0.0.BUILD-SNAPSHOT
Bumps boot to 2.3.0.BUILD-SNAPSHOT
2020-01-17 14:46:06 -05:00
1408 changed files with 1038 additions and 54180 deletions
-39
View File
@@ -1,39 +0,0 @@
version: 2
jobs:
build:
docker:
- image: springcloud/pipeline-base
user: appuser
environment:
_JAVA_OPTIONS: "-Xms1024m -Xmx2048m"
TERM: dumb
branches:
ignore:
- gh-pages # list of branches to ignore
steps:
- checkout
- restore_cache:
key: sc-build-{{ .Branch }}
- run:
name: "Download dependencies"
command: ./mvnw -s .settings.xml -U --fail-never dependency:go-offline || true
- save_cache:
key: sc-build-{{ .Branch }}
paths:
- ~/.m2
- run:
name: "Running build"
command: ./mvnw -s .settings.xml clean org.jacoco:jacoco-maven-plugin:prepare-agent install -U -P sonar -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- run:
name: "Aggregate test results"
when: always
command: |
mkdir -p ~/junit/
find . -type f -regex ".*/target/.*-reports/.*" -exec cp {} ~/junit/ \;
bash <(curl -s https://codecov.io/bash)
- store_artifacts:
path: ~/junit/
destination: artifacts
- store_test_results:
path: ~/junit/
destination: testartifacts
+31
View File
@@ -0,0 +1,31 @@
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 17
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build with Maven
run: ./mvnw clean install -B -U -Pspring
+1 -2
View File
@@ -18,5 +18,4 @@ _site/
.factorypath
.vscode/
.flattened-pom.xml
.DS_Store
.sdkmanrc
.DS_Store
+1 -1
View File
@@ -1 +1 @@
-DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local -P spring
-P spring
@@ -1,22 +1,18 @@
/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
@@ -24,11 +20,12 @@ import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL =
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
@@ -76,13 +73,13 @@ public class MavenWrapperDownloader {
}
}
}
System.out.println("- Downloading from: : " + url);
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
@@ -98,6 +95,16 @@ public class MavenWrapperDownloader {
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
BIN
View File
Binary file not shown.
+2 -1
View File
@@ -1 +1,2 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
+3
View File
@@ -0,0 +1,3 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=17.0.1-tem
+29 -4
View File
@@ -1,4 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2013-2018 the original author or authors.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ https://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<settings>
<servers>
<server>
@@ -23,7 +39,7 @@
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot-local</url>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
@@ -31,7 +47,7 @@
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
@@ -49,7 +65,7 @@
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot-local</url>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
@@ -57,12 +73,21 @@
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<!--
Turns on jdk8 for tests
-->
<id>ide</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
</settings>
+98 -39
View File
@@ -5,7 +5,7 @@ Edit the files in the src/main/asciidoc/ directory instead.
////
image:https://circleci.com/gh/spring-cloud/spring-cloud-build.svg?style=svg[link="https://travis-ci.org/spring-cloud/spring-cloud-build"]
image::https://github.com/spring-cloud/spring-cloud-build/workflows/Build/badge.svg?branch=main&style=svg["Build",link="https://github.com/spring-cloud/spring-cloud-build/actions"]
Spring Cloud Build is a common utility project for Spring Cloud
to use for plugin and dependency management.
@@ -22,13 +22,13 @@ $ mvn install -s .settings.xml
and to deploy snapshots to repo.spring.io:
----
$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local
$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/snapshot
----
for a RELEASE build use
----
$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-release-local
$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/release
----
and for jcenter use
@@ -227,6 +227,57 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t
IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources.
=== Duplicate Finder
Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath.
==== Duplicate Finder configuration
Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`.
.pom.xml
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
----
For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation].
You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build.
If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project:
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<configuration>
<ignoredClassPatterns>
<ignoredClassPattern>org.joda.time.base.BaseDateTime</ignoredClassPattern>
<ignoredClassPattern>.*module-info</ignoredClassPattern>
</ignoredClassPatterns>
<ignoredResourcePatterns>
<ignoredResourcePattern>changelog.txt</ignoredResourcePattern>
</ignoredResourcePatterns>
</configuration>
</plugin>
</plugins>
</build>
----
== Flattening the POMs
To avoid propagating build setup that is required to build a Spring Cloud project, we're using the maven flatten plugin. It has the advantage of letting you use whatever features you need while publishing "clean" pom to the repository.
@@ -254,46 +305,54 @@ approach of generating documentation just add these plugins to your `docs` modul
[source,xml]
----
<properties>
<upload-docs-zip.phase>deploy</upload-docs-zip.phase> <8>
</properties>
<profiles>
<profile>
<id>docs</id>
<build>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <1>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <2>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <3>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId> <4>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <5>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <6>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<profile>
<id>docs</id>
<build>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <1>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <2>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <3>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId> <4>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <5>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <6>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId> <7>
</plugin>
</plugins>
</build>
</profile>
</profiles>
----
<2> This plugin downloads sets up all the git information of the project
<1> This plugin downloads sets up all the git information of the project
<2> This plugin downloads the resources of the `spring-cloud-build-docs` module
<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module
<4> This plugin generates an `adoc` file with all the configuration properties from the classpath
<5> This plugin is required to parse the Asciidoctor documentation
<6> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
<7> This plugin ensures that the generated zip docs will get published
<8> This property turns on the "deploy" phase for <7>
IMPORTANT: The order of plugin declaration is important!
@@ -353,9 +412,9 @@ We assume that your project contains guides under the `guides` folder.
```
.
└── guides
├── gs-guide1
├── gs-guide2
└── gs-guide3
├── gs-guide1
├── gs-guide2
└── gs-guide3
```
This means that the project contains 3 guides that would
-5
View File
@@ -1,5 +0,0 @@
# Security Policy
## Reporting a Vulnerability
To report security vulnerabilities, please go to https://pivotal.io/security.
+2 -2
View File
@@ -10,7 +10,7 @@
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-build</artifactId>
<version>2.3.4.RELEASE</version>
<version>4.0.0-M4</version>
</parent>
<properties>
<docs.main>spring-cloud-build</docs.main>
@@ -85,7 +85,7 @@
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<version>${maven-deploy-plugin.version}</version>
</plugin>
</plugins>
</build>
+56 -48
View File
@@ -1,4 +1,4 @@
image:https://circleci.com/gh/spring-cloud/spring-cloud-build.svg?style=svg[link="https://travis-ci.org/spring-cloud/spring-cloud-build"]
image::https://github.com/spring-cloud/spring-cloud-build/workflows/Build/badge.svg?branch=main&style=svg["Build",link="https://github.com/spring-cloud/spring-cloud-build/actions"]
Spring Cloud Build is a common utility project for Spring Cloud
to use for plugin and dependency management.
@@ -15,13 +15,13 @@ $ mvn install -s .settings.xml
and to deploy snapshots to repo.spring.io:
----
$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local
$ mvn deploy -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/snapshot
----
for a RELEASE build use
----
$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-release-local
$ mvn deploy -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/release
----
and for jcenter use
@@ -40,7 +40,7 @@ $ mvn deploy -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging:
== Contributing
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/contributing.adoc[]
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/contributing.adoc[]
== Flattening the POMs
@@ -51,12 +51,12 @@ In order to add it, add the `org.codehaus.mojo:flatten-maven-plugin` to your `po
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
</plugin>
</plugins>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
----
@@ -69,46 +69,54 @@ approach of generating documentation just add these plugins to your `docs` modul
[source,xml]
----
<properties>
<upload-docs-zip.phase>deploy</upload-docs-zip.phase> <8>
</properties>
<profiles>
<profile>
<id>docs</id>
<build>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <1>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <2>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <3>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId> <4>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <5>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <6>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<profile>
<id>docs</id>
<build>
<plugins>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId> <1>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId> <2>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <3>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId> <4>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId> <5>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId> <6>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId> <7>
</plugin>
</plugins>
</build>
</profile>
</profiles>
----
<2> This plugin downloads sets up all the git information of the project
<1> This plugin downloads sets up all the git information of the project
<2> This plugin downloads the resources of the `spring-cloud-build-docs` module
<3> This plugin unpacks the resources of the `spring-cloud-build-docs` module
<4> This plugin generates an `adoc` file with all the configuration properties from the classpath
<5> This plugin is required to parse the Asciidoctor documentation
<6> This plugin is required to copy resources into proper final destinations and to generate main README.adoc and to assert that no files use unresolved links
<7> This plugin ensures that the generated zip docs will get published
<8> This property turns on the "deploy" phase for <7>
IMPORTANT: The order of plugin declaration is important!
@@ -120,7 +128,7 @@ Spring Cloud Build Docs comes with a set of attributes for asciidoctor that you
[source,xml]
----
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/pom.xml[tags=attributes,indent=0]
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/pom.xml[tags=attributes,indent=0]
----
== Updating the guides
@@ -130,9 +138,9 @@ We assume that your project contains guides under the `guides` folder.
```
.
└── guides
├── gs-guide1
├── gs-guide2
└── gs-guide3
├── gs-guide1
├── gs-guide2
└── gs-guide3
```
This means that the project contains 3 guides that would
@@ -152,4 +160,4 @@ what will happen is that for GA project versions, we will clone `gs-guide1`, `gs
You can skip this by either not adding the `guides` profile, or passing the `-DskipGuides` system property when the profile is turned on.
You can configure the project version passed to guides via the `guides-project.version` (defaults to `${project.version}`). The phase at which guides get updated can be configured by `guides-update.phase` (defaults to `deploy`).
You can configure the project version passed to guides via the `guides-project.version` (defaults to `${project.version}`). The phase at which guides get updated can be configured by `guides-update.phase` (defaults to `deploy`).
-91
View File
@@ -1,91 +0,0 @@
=== Basic Compile and Test
To build the source you will need to install JDK {jdkversion}.
Spring Cloud uses Maven for most build-related activities, and you
should be able to get off the ground quite quickly by cloning the
project you are interested in and typing
----
$ ./mvnw install
----
NOTE: You can also install Maven (>=3.3.3) yourself and run the `mvn` command
in place of `./mvnw` in the examples below. If you do that you also
might need to add `-P spring` if your local Maven settings do not
contain repository declarations for spring pre-release artifacts.
NOTE: Be aware that you might need to increase the amount of memory
available to Maven by setting a `MAVEN_OPTS` environment variable with
a value like `-Xmx512m -XX:MaxPermSize=128m`. We try to cover this in
the `.mvn` configuration, so if you find you have to do it to make a
build succeed, please raise a ticket to get the settings added to
source control.
For hints on how to build the project look in `.travis.yml` if there
is one. There should be a "script" and maybe "install" command. Also
look at the "services" section to see if any services need to be
running locally (e.g. mongo or rabbit). Ignore the git-related bits
that you might find in "before_install" since they're related to setting git
credentials and you already have those.
The projects that require middleware generally include a
`docker-compose.yml`, so consider using
https://docs.docker.com/compose/[Docker Compose] to run the middeware servers
in Docker containers. See the README in the
https://github.com/spring-cloud-samples/scripts[scripts demo
repository] for specific instructions about the common cases of mongo,
rabbit and redis.
NOTE: If all else fails, build with the command from `.travis.yml` (usually
`./mvnw install`).
=== Documentation
The spring-cloud-build module has a "docs" profile, and if you switch
that on it will try to build asciidoc sources from
`src/main/asciidoc`. As part of that process it will look for a
`README.adoc` and process it by loading all the includes, but not
parsing or rendering it, just copying it to `${main.basedir}`
(defaults to `${basedir}`, i.e. the root of the project). If there are
any changes in the README it will then show up after a Maven build as
a modified file in the correct place. Just commit it and push the change.
=== Working with the code
If you don't have an IDE preference we would recommend that you use
https://www.springsource.com/developer/sts[Spring Tools Suite] or
https://eclipse.org[Eclipse] when working with the code. We use the
https://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools
should also work without issue as long as they use Maven 3.3.3 or better.
==== Activate the Spring Maven profile
Spring Cloud projects require the 'spring' Maven profile to be activated to resolve
the spring milestone and snapshot repositories. Use your preferred IDE to set this
profile to be active, or you may experience build errors.
==== Importing into eclipse with m2eclipse
We recommend the https://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with
eclipse. If you don't already have m2eclipse installed it is available from the "eclipse
marketplace".
NOTE: Older versions of m2e do not support Maven 3.3, so once the
projects are imported into Eclipse you will also need to tell
m2eclipse to use the right profile for the projects. If you
see many different errors related to the POMs in the projects, check
that you have an up to date installation. If you can't upgrade m2e,
add the "spring" profile to your `settings.xml`. Alternatively you can
copy the repository settings from the "spring" profile of the parent
pom into your `settings.xml`.
==== Importing into eclipse without m2eclipse
If you prefer not to use m2eclipse you can generate eclipse project metadata using the
following command:
[indent=0]
----
$ ./mvnw eclipse:eclipse
----
The generated eclipse projects can be imported by selecting `import existing projects`
from the `file` menu.
+1 -2
View File
@@ -1,4 +1,3 @@
:jdkversion: 1.8
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/building-base.adoc[]
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/building.adoc[]
+78 -2
View File
@@ -1,3 +1,79 @@
:jdkversion: 1.7
:jdkversion: 17
=== Basic Compile and Test
To build the source you will need to install JDK {jdkversion}.
Spring Cloud uses Maven for most build-related activities, and you
should be able to get off the ground quite quickly by cloning the
project you are interested in and typing
----
$ ./mvnw install
----
NOTE: You can also install Maven (>=3.3.3) yourself and run the `mvn` command
in place of `./mvnw` in the examples below. If you do that you also
might need to add `-P spring` if your local Maven settings do not
contain repository declarations for spring pre-release artifacts.
NOTE: Be aware that you might need to increase the amount of memory
available to Maven by setting a `MAVEN_OPTS` environment variable with
a value like `-Xmx512m -XX:MaxPermSize=128m`. We try to cover this in
the `.mvn` configuration, so if you find you have to do it to make a
build succeed, please raise a ticket to get the settings added to
source control.
The projects that require middleware (i.e. Redis) for testing generally
require that a local instance of [Docker](https://www.docker.com/get-started) is installed and running.
=== Documentation
The spring-cloud-build module has a "docs" profile, and if you switch
that on it will try to build asciidoc sources from
`src/main/asciidoc`. As part of that process it will look for a
`README.adoc` and process it by loading all the includes, but not
parsing or rendering it, just copying it to `${main.basedir}`
(defaults to `${basedir}`, i.e. the root of the project). If there are
any changes in the README it will then show up after a Maven build as
a modified file in the correct place. Just commit it and push the change.
=== Working with the code
If you don't have an IDE preference we would recommend that you use
https://www.springsource.com/developer/sts[Spring Tools Suite] or
https://eclipse.org[Eclipse] when working with the code. We use the
https://eclipse.org/m2e/[m2eclipse] eclipse plugin for maven support. Other IDEs and tools
should also work without issue as long as they use Maven 3.3.3 or better.
==== Activate the Spring Maven profile
Spring Cloud projects require the 'spring' Maven profile to be activated to resolve
the spring milestone and snapshot repositories. Use your preferred IDE to set this
profile to be active, or you may experience build errors.
==== Importing into eclipse with m2eclipse
We recommend the https://eclipse.org/m2e/[m2eclipse] eclipse plugin when working with
eclipse. If you don't already have m2eclipse installed it is available from the "eclipse
marketplace".
NOTE: Older versions of m2e do not support Maven 3.3, so once the
projects are imported into Eclipse you will also need to tell
m2eclipse to use the right profile for the projects. If you
see many different errors related to the POMs in the projects, check
that you have an up to date installation. If you can't upgrade m2e,
add the "spring" profile to your `settings.xml`. Alternatively you can
copy the repository settings from the "spring" profile of the parent
pom into your `settings.xml`.
==== Importing into eclipse without m2eclipse
If you prefer not to use m2eclipse you can generate eclipse project metadata using the
following command:
[indent=0]
----
$ ./mvnw eclipse:eclipse
----
The generated eclipse projects can be imported by selecting `import existing projects`
from the `file` menu.
include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/building-base.adoc[]
+51
View File
@@ -177,3 +177,54 @@ Go to `File` -> `Settings` -> `Other settings` -> `Checkstyle`. There click on t
- `checkstyle.additional.suppressions.file` - this variable corresponds to suppressions in your local project. E.g. you're working on `spring-cloud-contract`. Then point to the `project-root/src/checkstyle/checkstyle-suppressions.xml` folder. Example for `spring-cloud-contract` would be: `/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml`.
IMPORTANT: Remember to set the `Scan Scope` to `All sources` since we apply checkstyle rules for production and test sources.
=== Duplicate Finder
Spring Cloud Build brings along the `basepom:duplicate-finder-maven-plugin`, that enables flagging duplicate and conflicting classes and resources on the java classpath.
==== Duplicate Finder configuration
Duplicate finder is *enabled by default* and will run in the `verify` phase of your Maven build, but it will only take effect in your project if you add the `duplicate-finder-maven-plugin` to the `build` section of the projecst's `pom.xml`.
.pom.xml
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
----
For other properties, we have set defaults as listed in the https://github.com/basepom/duplicate-finder-maven-plugin/wiki[plugin documentation].
You can easily override them but setting the value of the selected property prefixed with `duplicate-finder-maven-plugin`. For example, set `duplicate-finder-maven-plugin.skip` to `true` in order to skip duplicates check in your build.
If you need to add `ignoredClassPatterns` or `ignoredResourcePatterns` to your setup, make sure to add them in the plugin configuration section of your project:
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<configuration>
<ignoredClassPatterns>
<ignoredClassPattern>org.joda.time.base.BaseDateTime</ignoredClassPattern>
<ignoredClassPattern>.*module-info</ignoredClassPattern>
</ignoredClassPatterns>
<ignoredResourcePatterns>
<ignoredResourcePattern>changelog.txt</ignoredResourcePattern>
</ignoredResourcePatterns>
</configuration>
</plugin>
</plugins>
</build>
----
+31 -12
View File
@@ -14,7 +14,26 @@ export SPRING_CLOUD_STATIC_REPO_DESTINATION="${SPRING_CLOUD_STATIC_REPO_DESTINAT
GIT_BIN="${GIT_BIN:-git}"
# The script should be executed from the root folder
cat <<EOF
!!! WARNING !!!
THIS SCRIPT IS DEPRECATED!!
We're migrating away from using gh-pages at all. We're moving to using docs.spring.io and the zipped documentation.
Please migrate to the new approach as soon as possible since this script will be removed soon.
!!! WARNING !!!
EOF
# The script should be run from the root folder
ROOT_FOLDER="$( pwd )"
echo "Current folder is [${ROOT_FOLDER}]"
echo "Spring Cloud Static repo is [${SPRING_CLOUD_STATIC_REPO_DESTINATION}]"
@@ -116,23 +135,23 @@ function build_docs_if_applicable() {
}
# Get the name of the `docs.main` property
# Get whitelisted branches - assumes that a `docs` module is available under `docs` profile
# Get allowed branches - assumes that a `docs` module is available under `docs` profile
# shellcheck disable=SC2016
function retrieve_doc_properties() {
if [[ "${RELEASE_TRAIN}" == "yes" ]]; then
echo "Will not extract any properties for release train"
return
return
fi
WHITELIST_PROPERTY=${WHITELIST_PROPERTY:-"docs.whitelisted.branches"}
WHITELISTED_BRANCHES_VALUE=$("${MAVEN_EXEC}" -q \
ALLOW_PROPERTY=${ALLOW_PROPERTY:-"docs.allowed.branches"}
ALLOWED_BRANCHES_VALUE=$("${MAVEN_EXEC}" -q \
-Dexec.executable="echo" \
-Dexec.args="\${${WHITELIST_PROPERTY}}" \
-Dexec.args="\${${ALLOW_PROPERTY}}" \
org.codehaus.mojo:exec-maven-plugin:1.3.1:exec \
-P docs \
-pl docs | tail -1 )
echo "Extracted '${WHITELIST_PROPERTY}' from Maven build [${WHITELISTED_BRANCHES_VALUE}]"
echo "Extracted '${ALLOW_PROPERTY}' from Maven build [${ALLOWED_BRANCHES_VALUE}]"
}
# Stash any outstanding changes
@@ -219,9 +238,9 @@ function copy_docs_for_current_version() {
else
echo -e "Current branch is [${CURRENT_BRANCH}]"
# https://stackoverflow.com/questions/29300806/a-bash-script-to-check-if-a-string-is-present-in-a-comma-separated-list-of-strin
if [[ ",${WHITELISTED_BRANCHES_VALUE}," = *",${CURRENT_BRANCH},"* ]] ; then
if [[ ",${ALLOWED_BRANCHES_VALUE}," = *",${CURRENT_BRANCH},"* ]] ; then
mkdir -p "${ROOT_FOLDER}/${CURRENT_BRANCH}"
echo -e "Branch [${CURRENT_BRANCH}] is whitelisted! Will copy the current docs to the [${CURRENT_BRANCH}] folder"
echo -e "Branch [${CURRENT_BRANCH}] is allowed! Will copy the current docs to the [${CURRENT_BRANCH}] folder"
for f in docs/target/generated-docs/*; do
file="${f#docs/target/generated-docs/*}"
if ! "${GIT_BIN}" ls-files -i -o --exclude-standard --directory | grep -q ^"${file}"$; then
@@ -234,7 +253,7 @@ function copy_docs_for_current_version() {
done
COMMIT_CHANGES="yes"
else
echo -e "Branch [${CURRENT_BRANCH}] is not on the white list! Check out the Maven [${WHITELIST_PROPERTY}] property in
echo -e "Branch [${CURRENT_BRANCH}] is not on the allow list! Check out the Maven [${ALLOW_PROPERTY}] property in
[docs] module available under [docs] profile. Won't commit any changes to gh-pages for this branch."
fi
fi
@@ -310,10 +329,10 @@ the script will work in the following manner:
- if there's no gh-pages / target for docs module then the script ends
- for master branch the generated docs are copied to the root of gh-pages branch
- for any other branch (if that branch is whitelisted) a subfolder with branch name is created
- for any other branch (if that branch is allowed) a subfolder with branch name is created
and docs are copied there
- if the version switch is passed (-v) then a tag with (v) prefix will be retrieved and a folder
with that version number will be created in the gh-pages branch. WARNING! No whitelist verification will take place
with that version number will be created in the gh-pages branch. WARNING! No allow verification will take place
- if the destination switch is passed (-d) then the script will check if the provided dir is a git repo and then will
switch to gh-pages of that repo and copy the generated docs to [docs/<project-name>/<version>]
- if the destination switch is passed (-d) then the script will check if the provided dir is a git repo and then will
-1
View File
@@ -1 +0,0 @@
spring-cloud-build.adoc
+1
View File
@@ -0,0 +1 @@
include::spring-cloud-build.adoc[]
+1 -2
View File
@@ -10,7 +10,7 @@ if [[ "${PROJECT_VERSION}" != *"RELEASE"* ]];then
exit 0
fi
# The script should be executed from the root folder
# The script should be run from the root folder
[[ -z "${ROOT_FOLDER}" ]] && ROOT_FOLDER="$( pwd )"
echo "Current folder is ${ROOT_FOLDER}"
@@ -146,4 +146,3 @@ else
iterate_over_guides
fi
@@ -144,7 +144,7 @@ public class Main {
}
public String toString() {
return "|" + name + " | " + (StringUtils.hasText(defaultValue) ? ("`" + defaultValue + "`") : "") + " | " + description;
return "|" + name + " | " + (StringUtils.hasText(defaultValue) ? ("`+++" + defaultValue + "+++`") : "") + " | " + description;
}
}
@@ -51,15 +51,17 @@ public class ReadmeMain {
}
private Options options(File input, File output) {
Attributes attributes = new Attributes();
attributes.setAllowUriRead(true);
attributes.setAttribute("project-root", output.getParent());
Options options = new Options();
options.setSourceDir(input.getParent());
options.setBaseDir(input.getParent());
options.setAttributes(attributes);
options.setSafe(SafeMode.UNSAFE);
options.setParseHeaderOnly(true);
return options;
Attributes attributes = Attributes.builder()
.allowUriRead(true)
.attribute("project-root", output.getParent())
.build();
return Options.builder()
.sourceDir(input.getParentFile())
.baseDir(input.getParentFile())
.attributes(attributes)
.safe(SafeMode.UNSAFE)
.parseHeaderOnly(true)
.build();
}
}
-47
View File
@@ -1,47 +0,0 @@
#!/usr/bin/env ruby
base_dir = File.join(File.dirname(__FILE__),'../../..')
src_dir = File.join(base_dir, "/src/main/asciidoc")
require 'asciidoctor'
require 'optparse'
options = {}
file = "#{src_dir}/README.adoc"
OptionParser.new do |o|
o.on('-o OUTPUT_FILE', 'Output file (default is stdout)') { |file| options[:to_file] = file unless file=='-' }
o.on('-h', '--help') { puts o; exit }
o.parse!
end
file = ARGV[0] if ARGV.length>0
# Copied from https://github.com/asciidoctor/asciidoctor-extensions-lab/blob/master/scripts/asciidoc-coalescer.rb
attributes = {}
attributes['project-root'] = File.expand_path("#{base_dir}/../")
doc = Asciidoctor.load_file file, safe: :unsafe, header_only: true, attributes: attributes
header_attr_names = (doc.instance_variable_get :@attributes_modified).to_a
header_attr_names.each {|k| doc.attributes[%(#{k}!)] = '' unless doc.attr? k }
attrs = doc.attributes
attrs['allow-uri-read'] = true
puts attrs
out = <<-WARNING
////
DO NOT EDIT THIS FILE. IT WAS GENERATED.
Manual changes to this file will be lost when it is generated again.
Edit the files in the src/main/asciidoc/ directory instead.
////
WARNING
doc = Asciidoctor.load_file file, safe: :unsafe, parse: false, attributes: attrs
out << doc.reader.read
unless options[:to_file]
puts out
else
File.open(options[:to_file],'w+') do |file|
file.write(out)
end
end
-88
View File
@@ -1,88 +0,0 @@
#!/bin/bash
[[ -z $DEBUG ]] || set -o xtrace
set -o errexit
set -o errtrace
set -o nounset
set -o pipefail
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ROOT_DIR="${ROOT_DIR}/../../.."
echo "Root directory is [${ROOT_DIR}]"
function usage {
echo "usage: $0: <download-shellcheck|run-shellcheck|download-bats|run-bats|initialize-submodules>"
exit 1
}
if [[ $# -ne 1 ]]; then
usage
fi
SHELLCHECK_VERSION="v0.7.0"
ARCH="x86_64"
if [ "$(uname -m)" == aarch64 ]; then
ARCH="aarch64"
fi
SHELLCHECK_BIN="${ROOT_DIR}/../target/shellcheck-${SHELLCHECK_VERSION}/shellcheck"
case $1 in
download-shellcheck)
if [[ "${OSTYPE}" == linux* && ! -z "${SHELLCHECK_BIN}" ]]; then
SHELLCHECK_ARCHIVE="shellcheck-${SHELLCHECK_VERSION}.linux.${ARCH}.tar.xz"
if [[ -x "${ROOT_DIR}/../target/shellcheck-${SHELLCHECK_VERSION}/shellcheck" ]]; then
echo "shellcheck already downloaded - skipping..."
exit 0
fi
wget -P "${ROOT_DIR}/../target/" \
"https://storage.googleapis.com/shellcheck/${SHELLCHECK_ARCHIVE}"
pushd "${ROOT_DIR}/../target/"
tar xvf "${SHELLCHECK_ARCHIVE}"
rm -vf -- "${SHELLCHECK_ARCHIVE}"
popd
else
echo "It seems that automatic installation is not supported on your platform."
echo "Please install shellcheck manually:"
echo " https://github.com/koalaman/shellcheck#installing"
exit 1
fi
;;
run-shellcheck)
echo "Running shellcheck"
"${SHELLCHECK_BIN}" "${ROOT_DIR}"/src/main/asciidoc/*.sh
echo "Shellcheck passed sucessfully!"
;;
download-bats)
if [[ -x "${ROOT_DIR}/../target/bats/bin/bats" ]]; then
echo "bats already downloaded - skipping..."
exit 0
fi
git clone https://github.com/bats-core/bats-core.git "${ROOT_DIR}/../target/bats"
git clone https://github.com/ztombol/bats-support.git "${ROOT_DIR}/target/test_helper/bats-support"
git clone https://github.com/ztombol/bats-assert "${ROOT_DIR}/target/test_helper/bats-assert"
;;
run-bats)
echo "Running bats"
SHELLCHECK_BIN="${ROOT_DIR}/../target/bats/bin/bats"
"${SHELLCHECK_BIN}" "${ROOT_DIR}"/src/test/bats
echo "Bats passed sucesfully!"
;;
initialize-submodules)
files="$( ls "${ROOT_DIR}/src/test/bats/test_helper/bats-assert/" || echo "" )"
pushd "${ROOT_DIR}/../"
if [ ! -z "${files}" ]; then
echo "Submodules already initialized";
git submodule foreach git pull origin master || echo "Failed to pull - continuing the script"
else
echo "Initilizing submodules"
git submodule init
git submodule update
git submodule foreach git pull origin master || echo "Failed to pull - continuing the script"
fi
popd
;;
*)
usage
;;
esac
-16
View File
@@ -1,16 +0,0 @@
#!/bin/bash
[[ -z $DEBUG ]] || set -o xtrace
set -o errexit
set -o errtrace
set -o nounset
set -o pipefail
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
"${ROOT_DIR}"/build-helper.sh "initialize-submodules" || echo "Failed to init submodules"
"${ROOT_DIR}"/build-helper.sh "download-shellcheck"
"${ROOT_DIR}"/build-helper.sh "run-shellcheck"
"${ROOT_DIR}"/build-helper.sh "download-bats"
"${ROOT_DIR}"/build-helper.sh "run-bats"
@@ -1,32 +0,0 @@
# Operating System Files
*.DS_Store
Thumbs.db
*.sw?
.#*
*#
*~
*.sublime-*
# Build Artifacts
.gradle/
build/
target/
bin/
dependency-reduced-pom.xml
# Eclipse Project Files
.classpath
.project
.settings/
# IntelliJ IDEA Files
*.iml
*.ipr
*.iws
*.idea
README.html
@@ -1,9 +0,0 @@
sudo: false
language: java
jdk:
- oraclejdk8
script:
- test/run.sh
notifications:
slack:
secure: Ces2qauynvAzEFvvYCBLTvatyct8JE6EjHWUGDBdaIGuFpqtW+9zuwWL4Ls0+w+GZoprVAIk+G47qt/ax/Us4xQlIcmp8w+IHbyhSK2oGKzGumP5KOUrMqu6zEt3PhTr3q3ub9RNvafdsIhpDVWtmSZbNHkm8uOpzd14mjUn9ACp0WOt3MWNqh+wgkJnep2PSrF3mzuPs1Yqs2FN379qqijjQTsAs5dmJO9KDejELnB3SaAIicr0hFzMU/x1LR1VXTIF+M4s+bJcxUdmN8BJWsvwNf5sBAzTRMoNitONfOCrf53v9nl//cK8xDp2/CyCj/ZZB1W7XmTxeyS5l+U2QivoEvPEjqQTktbbFNeBxtEPucizMlE5nOkBA5zq1MQlDQM/0NoUKd3yb46FZQiHKWOcQ9erwPZuuoS9tecdM2k0hzMbZ/jhNMOsyiM3fo6VcrEh1oVlgTfgx9cNHuSplI9BwReyB1R+m4GVF6j72Kp2Om938xBZtT14gcuAjpORYVXFqGYmUM3m3qxGghEJMs7f1uoTNiSRstYJpZQdPZDYW+X9teSsyRss9iw7xYminYOiywjyGJEdnFBETdFPQ0u5A6mC/dyTE+k4vCyOJXHK+6m62UnObonqYIbSJFiBGnBU0KOloj2DyqtgifcU8wTu5OEg7ljlqu9qfxwuzmQ=
@@ -1,2 +0,0 @@
If you have not previously done so, please fill out and
submit the https://cla.pivotal.io/sign/spring[Contributor License Agreement].
@@ -1,16 +0,0 @@
All code in this repository is:
=======================================================================
Copyright (c) 2013 GoPivotal, Inc. All Rights Reserved
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -1 +0,0 @@
Except where otherwise noted, this work is licensed under http://creativecommons.org/licenses/by-nd/3.0/
@@ -1,203 +0,0 @@
:spring_version: current
:spring_boot_version: 2.1.4.RELEASE
:Controller: http://docs.spring.io/spring/docs/{spring_version}/javadoc-api/org/springframework/stereotype/Controller.html
:DispatcherServlet: http://docs.spring.io/spring/docs/{spring_version}/javadoc-api/org/springframework/web/servlet/DispatcherServlet.html
:SpringApplication: http://docs.spring.io/spring-boot/docs/{spring_boot_version}/api/org/springframework/boot/SpringApplication.html
:ResponseBody: http://docs.spring.io/spring/docs/{spring_version}/javadoc-api/org/springframework/web/bind/annotation/ResponseBody.html
:toc:
:icons: font
:source-highlighter: prettify
:project_id: gs-contract-rest
This guide walks you through the process of creating a Spring REST application with its contract stubs and consuming the contract within an other Spring application. https://cloud.spring.io/spring-cloud-contract[Spring Cloud Contract Project]
== What you'll build
You'll setup two micro services one providing its contract, and the other one consuming this contract to make sure that the integration to the contract provider service is aligned with the specifications. If in the future, the contract of the producer service changes, then the consumer service's tests fail catching the potential incompatibility.
== What you'll need
:java_version: 1.8
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/prereq_editor_jdk_buildtools.adoc[]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/how_to_complete_this_guide.adoc[]
[[reveal-gradle]]
[.reveal-gradle]
== Build with Gradle
[[scratch]]
[.use-gradle]
== Build with Gradle
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/build_system_intro.adoc[]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/create_directory_structure_hello.adoc[]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/create_both_builds.adoc[]
`contract-rest-service/build.gradle`
// AsciiDoc source formatting doesn't support groovy, so using java instead
[source,java]
----
include::https://raw.githubusercontent.com/spring-guides/{project_id}/master/initial/contract-rest-service/build.gradle[]
----
`contract-rest-client/build.gradle`
// AsciiDoc source formatting doesn't support groovy, so using java instead
[source,java]
----
include::https://raw.githubusercontent.com/spring-guides/{project_id}/master/initial/contract-rest-client/build.gradle[]
----
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/spring-boot-gradle-plugin.adoc[]
[[reveal-maven]]
[.reveal-maven]
== Build with Maven
[[use-maven]]
[.use-maven]
== Build with Maven
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/build_system_intro_maven.adoc[]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/create_directory_structure_hello.adoc[]
To get you started quickly, here are the complete configurations for the server and client applications:
`contract-rest-service/pom.xml`
[source,xml]
----
include::https://raw.githubusercontent.com/spring-guides/{project_id}/master/initial/contract-rest-service/pom.xml[]
----
`contract-rest-client/pom.xml`
[source,xml]
----
include::https://raw.githubusercontent.com/spring-guides/{project_id}/master/initial/contract-rest-client/pom.xml[]
----
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/spring-boot-maven-plugin.adoc[]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/hide-show-sts.adoc[]
[[initial]]
== Create contract producer service
You'll first need to create the service which produces the contract. This is a regular Spring Boot application providing a very simple REST service. The rest service simply returns a `Person` object in JSON.
`contract-rest-service/src/main/java/hello/ContractRestServiceApplication.java`
[source,java]
----
include::complete/contract-rest-service/src/main/java/hello/ContractRestServiceApplication.java[]
----
=== Create the contract of the REST service
The contract of the REST service can be defined as a `.groovy` script. This contract specifies that if there is a `GET` request to url `/person/1`, sample data `id=1`, `name=foo` and `surname=bee` representing a `Person` entity will be returned in the response body of content-type `application/json` .
`contract-rest-service/src/test/resources/contracts/hello/find_person_by_id.groovy`
[source,java]
----
include::complete/contract-rest-service/src/test/resources/contracts/hello/find_person_by_id.groovy[]
----
At the `test` phase, automatic test classes will be created for the contract specified in the groovy file. The auto generated test java classes will extend the `hello.BaseClass`.
[source,xml]
----
<plugin>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-maven-plugin</artifactId>
<version>${spring-cloud-contract.version}</version>
<extensions>true</extensions>
<configuration>
<baseClassForTests>hello.BaseClass</baseClassForTests>
</configuration>
</plugin>
----
`contract-rest-service/src/test/java/hello/BaseClass.java`
[source,java]
----
include::complete/contract-rest-service/src/test/java/hello/BaseClass.java[]
----
At this step, when the tests are executed, test results should be GREEN indicating that the REST controller is aligned with the contract and you have a fully functioning service.
==== Check the simple Person query business logic
Model class `Person.java`
`contract-rest-service/src/main/java/hello/Person.java`
[source,java]
----
include::complete/contract-rest-service/src/main/java/hello/Person.java[]
----
Service bean `PersonService.java` which just populates a few Person entity in memory and returns the one when asked.
`contract-rest-service/src/main/java/hello/PersonService.java`
[source,java]
----
include::complete/contract-rest-service/src/main/java/hello/PersonService.java[]
----
RestController bean `PersonRestController.java` which calls `PersonService` bean when a REST request is received for a person with the id.
`contract-rest-service/src/main/java/hello/PersonRestController.java`
[source,java]
----
include::complete/contract-rest-service/src/main/java/hello/PersonRestController.java[]
----
=== Test the contract-rest-service application
Run the `ContractRestServiceApplication.java` class as a Java Application or Spring Boot Application. The service should start at port `8000`.
Visit the service in the browser `http://localhost:8000/person/1`, `http://localhost:8000/person/2`, etc.
== Create contract consumer service
With the contract producer service ready, now we need to crate the client application which consumes the contract provided. This is a regular Spring Boot application providing a very simple REST service. The rest service simply returns a message with the queried Person's name, e.g. `Hello Anna`.
`contract-rest-client/src/main/java/hello/ContractRestClientApplication.java`
[source,java]
----
include::complete/contract-rest-client/src/main/java/hello/ContractRestClientApplication.java[]
----
=== Create the contract test
The contract provided by the producer should be consumed as a simple Spring test.
`contract-rest-client/src/test/java/hello/ContractRestClientApplicationTest.java`
[source,java]
----
include::complete/contract-rest-client/src/test/java/hello/ContractRestClientApplicationTest.java[]
----
This test class will load the stubs of the contract producer service and make sure that the integration to the service is aligned with the contract.
In case the communication is faulty between the consumer service's test and the producer's contract, tests will fail and the problem will need to be fixed before making a new change on production.
=== Test the contract-rest-client application
Run the `ContractRestClientApplication.java` class as a Java Application or Spring Boot Application. The service should start at port `9000`.
Visit the service in the browser `http://localhost:9000/message/1`, `http://localhost:9000/message/2`, etc.
== Summary
Congratulations! You've just used Spring to make your REST services declare their contract and consumer service be aligned with this contract.
== See Also
The following guides may also be helpful:
* https://spring.io/guides/gs/spring-boot/[Building an Application with Spring Boot]
* https://spring.io/guides/gs/multi-module/[Creating a Multi Module Project]
include::https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/footer.adoc[]
@@ -1 +0,0 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
@@ -1,43 +0,0 @@
buildscript {
ext { springBootVersion = '2.1.4.RELEASE' }
repositories { mavenCentral() }
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
bootJar {
baseName = 'contract-rest-client'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories { mavenCentral() }
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.cloud:spring-cloud-starter-contract-stub-runner')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.SR2"
}
}
eclipse {
classpath {
containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8'
}
}
@@ -1,5 +0,0 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
@@ -1,172 +0,0 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
@@ -1,84 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@@ -1,64 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>contract-rest-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
@@ -1,34 +0,0 @@
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
public class ContractRestClientApplication {
public static void main(String[] args) {
SpringApplication.run(ContractRestClientApplication.class, args);
}
}
@RestController
class MessageRestController {
private final RestTemplate restTemplate;
MessageRestController(RestTemplateBuilder restTemplateBuilder) {
this.restTemplate = restTemplateBuilder.build();
}
@RequestMapping("/message/{personId}")
String getMessage(@PathVariable("personId") Long personId) {
Person person = this.restTemplate.getForObject("http://localhost:8000/person/{personId}", Person.class, personId);
return "Hello " + person.getName();
}
}
@@ -1,44 +0,0 @@
package hello;
class Person {
public Person() {
}
public Person(Long id, String name, String surname) {
this.id = id;
this.name = name;
this.surname = surname;
}
private Long id;
private String name;
private String surname;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
@@ -1,3 +0,0 @@
spring.application.name=contract-rest-client
server.port=9000
@@ -1,39 +0,0 @@
package hello;
import org.assertj.core.api.BDDAssertions;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.contract.stubrunner.junit.StubRunnerRule;
import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
@RunWith(SpringRunner.class)
@SpringBootTest
public class ContractRestClientApplicationTest {
@Rule
public StubRunnerRule stubRunnerRule = new StubRunnerRule()
.downloadStub("com.example", "contract-rest-service", "0.0.1-SNAPSHOT", "stubs")
.withPort(8100)
.stubsMode(StubRunnerProperties.StubsMode.LOCAL);
@Test
public void get_person_from_service_contract() {
// given:
RestTemplate restTemplate = new RestTemplate();
// when:
ResponseEntity<Person> personResponseEntity = restTemplate.getForEntity("http://localhost:8100/person/1", Person.class);
// then:
BDDAssertions.then(personResponseEntity.getStatusCodeValue()).isEqualTo(200);
BDDAssertions.then(personResponseEntity.getBody().getId()).isEqualTo(1l);
BDDAssertions.then(personResponseEntity.getBody().getName()).isEqualTo("foo");
BDDAssertions.then(personResponseEntity.getBody().getSurname()).isEqualTo("bee");
}
}
@@ -1,50 +0,0 @@
buildscript {
ext {
springBootVersion = '2.1.4.RELEASE'
verifierVersion = '2.0.2.RELEASE'
}
repositories { mavenCentral() }
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:${verifierVersion}"
}
}
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'spring-cloud-contract'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
bootJar {
baseName = 'contract-rest-service'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories { mavenCentral() }
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.cloud:spring-cloud-starter-contract-verifier')
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.SR2"
}
}
contracts {
packageWithBaseClasses = 'hello'
baseClassMappings {
baseClassMapping(".*hello.*", "hello.BaseClass")
}
}
@@ -1,5 +0,0 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
@@ -1,172 +0,0 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
@@ -1,84 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@@ -1,77 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>contract-rest-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SNAPSHOT</spring-cloud.version>
<spring-cloud-contract.version>2.2.7.SNAPSHOT</spring-cloud-contract.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-verifier</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-maven-plugin</artifactId>
<version>${spring-cloud-contract.version}</version>
<extensions>true</extensions>
<configuration>
<baseClassForTests>hello.BaseClass</baseClassForTests>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -1,12 +0,0 @@
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ContractRestServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ContractRestServiceApplication.class, args);
}
}
@@ -1,40 +0,0 @@
package hello;
class Person {
Person(Long id, String name, String surname) {
this.id = id;
this.name = name;
this.surname = surname;
}
private Long id;
private String name;
private String surname;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
@@ -1,20 +0,0 @@
package hello;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
class PersonRestController {
private final PersonService personService;
public PersonRestController(PersonService personService) {
this.personService = personService;
}
@GetMapping("/person/{id}")
public Person findPersonById(@PathVariable("id") Long id) {
return personService.findPersonById(id);
}
}
@@ -1,23 +0,0 @@
package hello;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Service;
@Service
class PersonService {
private final Map<Long, Person> personMap;
public PersonService() {
personMap = new HashMap<>();
personMap.put(1L, new Person(1L, "Richard", "Gere"));
personMap.put(2L, new Person(2L, "Emma", "Choplin"));
personMap.put(3L, new Person(3L, "Anna", "Carolina"));
}
Person findPersonById(Long id) {
return personMap.get(id);
}
}
@@ -1,28 +0,0 @@
package hello;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;
import io.restassured.module.mockmvc.RestAssuredMockMvc;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = ContractRestServiceApplication.class)
public abstract class BaseClass {
@Autowired PersonRestController personRestController;
@MockBean PersonService personService;
@Before public void setup() {
RestAssuredMockMvc.standaloneSetup(personRestController);
Mockito.when(personService.findPersonById(1L))
.thenReturn(new Person(1L, "foo", "bee"));
}
}
@@ -1,22 +0,0 @@
import org.springframework.cloud.contract.spec.Contract
Contract.make {
description "should return person by id=1"
request {
url "/person/1"
method GET()
}
response {
status OK()
headers {
contentType applicationJson()
}
body (
id: 1,
name: "foo",
surname: "bee"
)
}
}
@@ -1,6 +0,0 @@
#Wed Nov 15 10:48:25 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3.1-bin.zip
@@ -1,160 +0,0 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
@@ -1,90 +0,0 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@@ -1,233 +0,0 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
#
# Look for the Apple JDKs first to preserve the existing behaviour, and then look
# for the new JDKs provided by Oracle.
#
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
fi
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
#
# Apple JDKs
#
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi
if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
#
# Oracle JDKs
#
export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
fi
if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
#
# Apple JDKs
#
export JAVA_HOME=`/usr/libexec/java_home`
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Migwn, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
# TODO classpath?
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
local basedir=$(pwd)
local wdir=$(pwd)
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
wdir=$(cd "$wdir/.."; pwd)
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} "$@"
@@ -1,145 +0,0 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
set MAVEN_CMD_LINE_ARGS=%*
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar""
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-contract-rest</artifactId>
<version>0.1.0</version>
<packaging>pom</packaging>
<modules>
<module>contract-rest-service</module>
<module>contract-rest-client</module>
</modules>
</project>
@@ -1,4 +0,0 @@
rootProject.name = 'gs-contract-rest'
include 'contract-rest-service'
include 'contract-rest-client'
@@ -1 +0,0 @@
Updated to latest
@@ -1 +0,0 @@
1d776d21deba9bd58877220abd802e8794ddb6a3 branch 'master' of github.com:spring-guides/gs-contract-rest
@@ -1 +0,0 @@
ref: refs/heads/master
@@ -1 +0,0 @@
06e323583eeda1364779d80eef55110256411426
@@ -1,11 +0,0 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@github.com:spring-guides/gs-contract-rest.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
@@ -1 +0,0 @@
Unnamed repository; edit this file 'description' to name the repository.
@@ -1,15 +0,0 @@
#!/bin/sh
#
# An example hook script to check the commit log message taken by
# applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit. The hook is
# allowed to edit the commit message file.
#
# To enable this hook, rename this file to "applypatch-msg".
. git-sh-setup
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
:
@@ -1,24 +0,0 @@
#!/bin/sh
#
# An example hook script to check the commit log message.
# Called by "git commit" with one argument, the name of the file
# that has the commit message. The hook should exit with non-zero
# status after issuing an appropriate message if it wants to stop the
# commit. The hook is allowed to edit the commit message file.
#
# To enable this hook, rename this file to "commit-msg".
# Uncomment the below to add a Signed-off-by line to the message.
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
# hook is more suited to it.
#
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
# This example catches duplicate Signed-off-by lines.
test "" = "$(grep '^Signed-off-by: ' "$1" |
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
echo >&2 Duplicate Signed-off-by lines.
exit 1
}
@@ -1,114 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
use IPC::Open2;
# An example hook script to integrate Watchman
# (https://facebook.github.io/watchman/) with git to speed up detecting
# new and modified files.
#
# The hook is passed a version (currently 1) and a time in nanoseconds
# formatted as a string and outputs to stdout all files that have been
# modified since the given time. Paths must be relative to the root of
# the working tree and separated by a single NUL.
#
# To enable this hook, rename this file to "query-watchman" and set
# 'git config core.fsmonitor .git/hooks/query-watchman'
#
my ($version, $time) = @ARGV;
# Check the hook interface version
if ($version == 1) {
# convert nanoseconds to seconds
$time = int $time / 1000000000;
} else {
die "Unsupported query-fsmonitor hook version '$version'.\n" .
"Falling back to scanning...\n";
}
my $git_work_tree;
if ($^O =~ 'msys' || $^O =~ 'cygwin') {
$git_work_tree = Win32::GetCwd();
$git_work_tree =~ tr/\\/\//;
} else {
require Cwd;
$git_work_tree = Cwd::cwd();
}
my $retry = 1;
launch_watchman();
sub launch_watchman {
my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
or die "open2() failed: $!\n" .
"Falling back to scanning...\n";
# In the query expression below we're asking for names of files that
# changed since $time but were not transient (ie created after
# $time but no longer exist).
#
# To accomplish this, we're using the "since" generator to use the
# recency index to select candidate nodes and "fields" to limit the
# output to file names only. Then we're using the "expression" term to
# further constrain the results.
#
# The category of transient files that we want to ignore will have a
# creation clock (cclock) newer than $time_t value and will also not
# currently exist.
my $query = <<" END";
["query", "$git_work_tree", {
"since": $time,
"fields": ["name"],
"expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]]
}]
END
print CHLD_IN $query;
close CHLD_IN;
my $response = do {local $/; <CHLD_OUT>};
die "Watchman: command returned no output.\n" .
"Falling back to scanning...\n" if $response eq "";
die "Watchman: command returned invalid output: $response\n" .
"Falling back to scanning...\n" unless $response =~ /^\{/;
my $json_pkg;
eval {
require JSON::XS;
$json_pkg = "JSON::XS";
1;
} or do {
require JSON::PP;
$json_pkg = "JSON::PP";
};
my $o = $json_pkg->new->utf8->decode($response);
if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) {
print STDERR "Adding '$git_work_tree' to watchman's watch list.\n";
$retry--;
qx/watchman watch "$git_work_tree"/;
die "Failed to make watchman watch '$git_work_tree'.\n" .
"Falling back to scanning...\n" if $? != 0;
# Watchman will always return all files on the first query so
# return the fast "everything is dirty" flag to git and do the
# Watchman query just to get it over with now so we won't pay
# the cost in git to look up each individual file.
print "/\0";
eval { launch_watchman() };
exit 0;
}
die "Watchman: $o->{error}.\n" .
"Falling back to scanning...\n" if $o->{error};
binmode STDOUT, ":utf8";
local $, = "\0";
print @{$o->{files}};
}
@@ -1,8 +0,0 @@
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
exec git update-server-info
@@ -1,14 +0,0 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed
# by applypatch from an e-mail message.
#
# The hook should exit with non-zero status after issuing an
# appropriate message if it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-applypatch".
. git-sh-setup
precommit="$(git rev-parse --git-path hooks/pre-commit)"
test -x "$precommit" && exec "$precommit" ${1+"$@"}
:
@@ -1,49 +0,0 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
# If you want to allow non-ASCII filenames set this variable to true.
allownonascii=$(git config --bool hooks.allownonascii)
# Redirect output to stderr.
exec 1>&2
# Cross platform projects tend to avoid non-ASCII filenames; prevent
# them from being added to the repository. We exploit the fact that the
# printable range starts at the space character and ends with tilde.
if [ "$allownonascii" != "true" ] &&
# Note that the use of brackets around a tr range is ok here, (it's
# even required, for portability to Solaris 10's /usr/bin/tr), since
# the square bracket bytes happen to fall in the designated range.
test $(git diff --cached --name-only --diff-filter=A -z $against |
LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
then
cat <<\EOF
Error: Attempt to add a non-ASCII file name.
This can cause problems if you want to work with people on other platforms.
To be portable it is advisable to rename the file.
If you know what you are doing you can disable this check using:
git config hooks.allownonascii true
EOF
exit 1
fi
# If there are whitespace errors, print the offending file names and fail.
exec git diff-index --check --cached $against --
@@ -1,53 +0,0 @@
#!/bin/sh
# An example hook script to verify what is about to be pushed. Called by "git
# push" after it has checked the remote status, but before anything has been
# pushed. If this script exits with a non-zero status nothing will be pushed.
#
# This hook is called with the following parameters:
#
# $1 -- Name of the remote to which the push is being done
# $2 -- URL to which the push is being done
#
# If pushing without using a named remote those arguments will be equal.
#
# Information about the commits which are being pushed is supplied as lines to
# the standard input in the form:
#
# <local ref> <local sha1> <remote ref> <remote sha1>
#
# This sample shows how to prevent push of commits where the log message starts
# with "WIP" (work in progress).
remote="$1"
url="$2"
z40=0000000000000000000000000000000000000000
while read local_ref local_sha remote_ref remote_sha
do
if [ "$local_sha" = $z40 ]
then
# Handle delete
:
else
if [ "$remote_sha" = $z40 ]
then
# New branch, examine all commits
range="$local_sha"
else
# Update to existing branch, examine new commits
range="$remote_sha..$local_sha"
fi
# Check for WIP commit
commit=`git rev-list -n 1 --grep '^WIP' "$range"`
if [ -n "$commit" ]
then
echo >&2 "Found WIP commit in $local_ref, not pushing"
exit 1
fi
fi
done
exit 0
@@ -1,169 +0,0 @@
#!/bin/sh
#
# Copyright (c) 2006, 2008 Junio C Hamano
#
# The "pre-rebase" hook is run just before "git rebase" starts doing
# its job, and can prevent the command from running by exiting with
# non-zero status.
#
# The hook is called with the following parameters:
#
# $1 -- the upstream the series was forked from.
# $2 -- the branch being rebased (or empty when rebasing the current branch).
#
# This sample shows how to prevent topic branches that are already
# merged to 'next' branch from getting rebased, because allowing it
# would result in rebasing already published history.
publish=next
basebranch="$1"
if test "$#" = 2
then
topic="refs/heads/$2"
else
topic=`git symbolic-ref HEAD` ||
exit 0 ;# we do not interrupt rebasing detached HEAD
fi
case "$topic" in
refs/heads/??/*)
;;
*)
exit 0 ;# we do not interrupt others.
;;
esac
# Now we are dealing with a topic branch being rebased
# on top of master. Is it OK to rebase it?
# Does the topic really exist?
git show-ref -q "$topic" || {
echo >&2 "No such branch $topic"
exit 1
}
# Is topic fully merged to master?
not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
if test -z "$not_in_master"
then
echo >&2 "$topic is fully merged to master; better remove it."
exit 1 ;# we could allow it, but there is no point.
fi
# Is topic ever merged to next? If so you should not be rebasing it.
only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
only_next_2=`git rev-list ^master ${publish} | sort`
if test "$only_next_1" = "$only_next_2"
then
not_in_topic=`git rev-list "^$topic" master`
if test -z "$not_in_topic"
then
echo >&2 "$topic is already up to date with master"
exit 1 ;# we could allow it, but there is no point.
else
exit 0
fi
else
not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
/usr/bin/perl -e '
my $topic = $ARGV[0];
my $msg = "* $topic has commits already merged to public branch:\n";
my (%not_in_next) = map {
/^([0-9a-f]+) /;
($1 => 1);
} split(/\n/, $ARGV[1]);
for my $elem (map {
/^([0-9a-f]+) (.*)$/;
[$1 => $2];
} split(/\n/, $ARGV[2])) {
if (!exists $not_in_next{$elem->[0]}) {
if ($msg) {
print STDERR $msg;
undef $msg;
}
print STDERR " $elem->[1]\n";
}
}
' "$topic" "$not_in_next" "$not_in_master"
exit 1
fi
<<\DOC_END
This sample hook safeguards topic branches that have been
published from being rewound.
The workflow assumed here is:
* Once a topic branch forks from "master", "master" is never
merged into it again (either directly or indirectly).
* Once a topic branch is fully cooked and merged into "master",
it is deleted. If you need to build on top of it to correct
earlier mistakes, a new topic branch is created by forking at
the tip of the "master". This is not strictly necessary, but
it makes it easier to keep your history simple.
* Whenever you need to test or publish your changes to topic
branches, merge them into "next" branch.
The script, being an example, hardcodes the publish branch name
to be "next", but it is trivial to make it configurable via
$GIT_DIR/config mechanism.
With this workflow, you would want to know:
(1) ... if a topic branch has ever been merged to "next". Young
topic branches can have stupid mistakes you would rather
clean up before publishing, and things that have not been
merged into other branches can be easily rebased without
affecting other people. But once it is published, you would
not want to rewind it.
(2) ... if a topic branch has been fully merged to "master".
Then you can delete it. More importantly, you should not
build on top of it -- other people may already want to
change things related to the topic as patches against your
"master", so if you need further changes, it is better to
fork the topic (perhaps with the same name) afresh from the
tip of "master".
Let's look at this example:
o---o---o---o---o---o---o---o---o---o "next"
/ / / /
/ a---a---b A / /
/ / / /
/ / c---c---c---c B /
/ / / \ /
/ / / b---b C \ /
/ / / / \ /
---o---o---o---o---o---o---o---o---o---o---o "master"
A, B and C are topic branches.
* A has one fix since it was merged up to "next".
* B has finished. It has been fully merged up to "master" and "next",
and is ready to be deleted.
* C has not merged to "next" at all.
We would want to allow C to be rebased, refuse A, and encourage
B to be deleted.
To compute (1):
git rev-list ^master ^topic next
git rev-list ^master next
if these match, topic has not merged in next at all.
To compute (2):
git rev-list master..topic
if this is empty, it is fully merged to "master".
DOC_END
@@ -1,24 +0,0 @@
#!/bin/sh
#
# An example hook script to make use of push options.
# The example simply echoes all push options that start with 'echoback='
# and rejects all pushes when the "reject" push option is used.
#
# To enable this hook, rename this file to "pre-receive".
if test -n "$GIT_PUSH_OPTION_COUNT"
then
i=0
while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
do
eval "value=\$GIT_PUSH_OPTION_$i"
case "$value" in
echoback=*)
echo "echo from the pre-receive-hook: ${value#*=}" >&2
;;
reject)
exit 1
esac
i=$((i + 1))
done
fi
@@ -1,42 +0,0 @@
#!/bin/sh
#
# An example hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source. The hook's purpose is to edit the commit
# message file. If the hook fails with a non-zero status,
# the commit is aborted.
#
# To enable this hook, rename this file to "prepare-commit-msg".
# This hook includes three examples. The first one removes the
# "# Please enter the commit message..." help message.
#
# The second includes the output of "git diff --name-status -r"
# into the message, just before the "git status" output. It is
# commented because it doesn't cope with --amend or with squashed
# commits.
#
# The third example adds a Signed-off-by line to the message, that can
# still be edited. This is rarely a good idea.
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE"
# case "$COMMIT_SOURCE,$SHA1" in
# ,|template,)
# /usr/bin/perl -i.bak -pe '
# print "\n" . `git diff --cached --name-status -r`
# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;
# *) ;;
# esac
# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"
# if test -z "$COMMIT_SOURCE"
# then
# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"
# fi
@@ -1,128 +0,0 @@
#!/bin/sh
#
# An example hook script to block unannotated tags from entering.
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
#
# To enable this hook, rename this file to "update".
#
# Config
# ------
# hooks.allowunannotated
# This boolean sets whether unannotated tags will be allowed into the
# repository. By default they won't be.
# hooks.allowdeletetag
# This boolean sets whether deleting tags will be allowed in the
# repository. By default they won't be.
# hooks.allowmodifytag
# This boolean sets whether a tag may be modified after creation. By default
# it won't be.
# hooks.allowdeletebranch
# This boolean sets whether deleting branches will be allowed in the
# repository. By default they won't be.
# hooks.denycreatebranch
# This boolean sets whether remotely creating branches will be denied
# in the repository. By default this is allowed.
#
# --- Command line
refname="$1"
oldrev="$2"
newrev="$3"
# --- Safety check
if [ -z "$GIT_DIR" ]; then
echo "Don't run this script from the command line." >&2
echo " (if you want, you could supply GIT_DIR then run" >&2
echo " $0 <ref> <oldrev> <newrev>)" >&2
exit 1
fi
if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
echo "usage: $0 <ref> <oldrev> <newrev>" >&2
exit 1
fi
# --- Config
allowunannotated=$(git config --bool hooks.allowunannotated)
allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
denycreatebranch=$(git config --bool hooks.denycreatebranch)
allowdeletetag=$(git config --bool hooks.allowdeletetag)
allowmodifytag=$(git config --bool hooks.allowmodifytag)
# check for no description
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
case "$projectdesc" in
"Unnamed repository"* | "")
echo "*** Project description file hasn't been set" >&2
exit 1
;;
esac
# --- Check types
# if $newrev is 0000...0000, it's a commit to delete a ref.
zero="0000000000000000000000000000000000000000"
if [ "$newrev" = "$zero" ]; then
newrev_type=delete
else
newrev_type=$(git cat-file -t $newrev)
fi
case "$refname","$newrev_type" in
refs/tags/*,commit)
# un-annotated tag
short_refname=${refname##refs/tags/}
if [ "$allowunannotated" != "true" ]; then
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
exit 1
fi
;;
refs/tags/*,delete)
# delete tag
if [ "$allowdeletetag" != "true" ]; then
echo "*** Deleting a tag is not allowed in this repository" >&2
exit 1
fi
;;
refs/tags/*,tag)
# annotated tag
if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
then
echo "*** Tag '$refname' already exists." >&2
echo "*** Modifying a tag is not allowed in this repository." >&2
exit 1
fi
;;
refs/heads/*,commit)
# branch
if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
echo "*** Creating a branch is not allowed in this repository" >&2
exit 1
fi
;;
refs/heads/*,delete)
# delete branch
if [ "$allowdeletebranch" != "true" ]; then
echo "*** Deleting a branch is not allowed in this repository" >&2
exit 1
fi
;;
refs/remotes/*,commit)
# tracking branch
;;
refs/remotes/*,delete)
# delete tracking branch
if [ "$allowdeletebranch" != "true" ]; then
echo "*** Deleting a tracking branch is not allowed in this repository" >&2
exit 1
fi
;;
*)
# Anything else (is there anything else?)
echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
exit 1
;;
esac
# --- Finished
exit 0
@@ -1,6 +0,0 @@
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
@@ -1,4 +0,0 @@
0000000000000000000000000000000000000000 f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e Marcin Grzejszczak <marcin@grzejszczak.pl> 1545049294 +0100 clone: from git@github.com:spring-guides/gs-contract-rest.git
f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e 06e323583eeda1364779d80eef55110256411426 Marcin Grzejszczak <marcin@grzejszczak.pl> 1545050508 +0100 commit: Updated contract to the latest version; fixes gh-2
06e323583eeda1364779d80eef55110256411426 1d776d21deba9bd58877220abd802e8794ddb6a3 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556531881 +0400 pull --rebase origin master: Fast-forward
1d776d21deba9bd58877220abd802e8794ddb6a3 9918bc61b3b4ba0b5005e9ed7debdd50c9838393 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556532308 +0400 commit: Updated to latest
@@ -1,4 +0,0 @@
0000000000000000000000000000000000000000 f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e Marcin Grzejszczak <marcin@grzejszczak.pl> 1545049294 +0100 clone: from git@github.com:spring-guides/gs-contract-rest.git
f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e 06e323583eeda1364779d80eef55110256411426 Marcin Grzejszczak <marcin@grzejszczak.pl> 1545050508 +0100 commit: Updated contract to the latest version; fixes gh-2
06e323583eeda1364779d80eef55110256411426 1d776d21deba9bd58877220abd802e8794ddb6a3 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556531881 +0400 pull --rebase origin master: Fast-forward
1d776d21deba9bd58877220abd802e8794ddb6a3 9918bc61b3b4ba0b5005e9ed7debdd50c9838393 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556532308 +0400 commit: Updated to latest
@@ -1 +0,0 @@
0000000000000000000000000000000000000000 f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e Marcin Grzejszczak <marcin@grzejszczak.pl> 1545049294 +0100 clone: from git@github.com:spring-guides/gs-contract-rest.git
@@ -1,3 +0,0 @@
f0bd0f6aaabf6cc795d48fa1cc7fb02b6bffab5e 06e323583eeda1364779d80eef55110256411426 Marcin Grzejszczak <marcin@grzejszczak.pl> 1545050516 +0100 update by push
06e323583eeda1364779d80eef55110256411426 1d776d21deba9bd58877220abd802e8794ddb6a3 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556531881 +0400 pull --rebase origin master: fast-forward
1d776d21deba9bd58877220abd802e8794ddb6a3 9918bc61b3b4ba0b5005e9ed7debdd50c9838393 Marcin Grzejszczak <marcin@grzejszczak.pl> 1556532314 +0400 update by push

Some files were not shown because too many files have changed in this diff Show More