Commit Graph

2051 Commits

Author SHA1 Message Date
Marcin Grzejszczak
51564ab444 Discouraged users from using spring-cloud-contract-wiremock dependency directly
the preferred option is to use `spring-cloud-starter-stub-runner`

fixes gh-348
2018-03-19 16:31:12 +01:00
Marcin Grzejszczak
13902ecf1d Documented custom settings.xml setup; fixes gh-552 2018-03-15 17:13:51 +01:00
Marcin Grzejszczak
8fa57f5832 Added additional tests 2018-03-15 16:43:32 +01:00
Marcin Grzejszczak
08025963a8 Docker images built only in integration mode (to speed up build) 2018-03-15 14:55:45 +01:00
Marcin Grzejszczak
c33ad02550 Added support for Docker and external contracts repo
These environment variables are used when contracts lay in an external repository. To enable
this feature you must set the `EXTERNAL_CONTRACTS_ARTIFACT_ID` environment variable.

- `EXTERNAL_CONTRACTS_GROUP_ID` - group id of the project with contracts. Defaults to `com.example`
- `EXTERNAL_CONTRACTS_ARTIFACT_ID`- artifact id of the project with contracts.
- `EXTERNAL_CONTRACTS_CLASSIFIER`- classifier of the project with contracts. Empty by default
- `EXTERNAL_CONTRACTS_VERSION` - version of the project with contracts. Defaults to `+`, equivalent to picking the latest
- `EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL` - URL of your Artifact Manager. Defaults to value of `REPO_WITH_BINARIES_URL` env var.
If that's not set, defaults to `http://localhost:8081/artifactory/libs-release-local`
which is the default URL of https://jfrog.com/artifactory/[Artifactory] running locally
- `EXTERNAL_CONTRACTS_PATH` - path to contracts for the given project, inside the project with contracts.
Defaults to slash separated `EXTERNAL_CONTRACTS_GROUP_ID` concatenated with `/` and `EXTERNAL_CONTRACTS_ARTIFACT_ID`. E.g.
for group id `foo.bar` and artifact id `baz`, would result in `foo/bar/baz` contracts path.
- `EXTERNAL_CONTRACTS_WORK_OFFLINE` - if set to `true` then will retrieve artifact with contracts
from the container's `.m2`. Mount your local `.m2` as a volume available at the container's `/root/.m2` path.
You must not set both `EXTERNAL_CONTRACTS_WORK_OFFLINE` and `EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL`.

fixes gh-576
2018-03-15 14:48:28 +01:00
Marcin Grzejszczak
38cb54eab2 Added fast switch for circle 2018-03-13 18:05:36 +01:00
Marcin Grzejszczak
2740496d86 Added one more ant pattern to gradle and maven plugins
The bug is related to the fact that initially, we were supporting slash-separated paths to projects. E.g. if the group id was `a.b.c` then we did checked for `a/b/c` folder. At certain point we've started building stubs with the `groupid` folder as such e.g. `a.b.c/artifact-id`. This is where the bug comes in. For Maven and Gradle we're using ant patterns for copying files. We're only providing the slash-separated ant pattern. With this fix, we're backward compatible (we're leaving the slash-separated one) and we're adding support for dot-delimited group id.

fixes gh-555
2018-03-13 17:47:00 +01:00
Alexey Nesterov
e89062f58d Fix disabling of publish task when env property is set (#574)
Because of Gradle's project lifecycle, disabling tasks in the script doesn't
work as expected, ./gradlew publish will still try to execute
:publishMavenJavaPublicationToMavenRepository and fail even if PUBLISH_ARTIFACTS
is set to false. To avoid that and make sure all publish tasks are disabled
script need to listen for tasks graph event to be ready and then disable the tasks.
2018-03-13 10:34:48 +01:00
Marcin Grzejszczak
90354dace5 Lower memory requirements for Gradle 2018-03-11 19:27:49 +01:00
Marcin Grzejszczak
9c4758b069 Removed empty if statement 2018-03-09 17:23:29 +01:00
Marcin Grzejszczak
2fc413755b Fixed unnecessary quoting of non string value when referencing request from response
fixes gh-559
2018-03-09 16:56:47 +01:00
Marcin Grzejszczak
e2b61cd125 Added Stub Runner entry in the readme
fixes gh-530
2018-02-19 15:56:47 +01:00
Marcin Grzejszczak
7a724c88f7 REmoved stub runner boot readme; fixes gh-530 2018-02-19 14:46:05 +01:00
Marcin Grzejszczak
f05aa45704 Fixed a test; fixes gh-542 2018-02-19 10:52:00 +01:00
Axel Hodler
82fb1cdac3 Avoid quoting of floating point numbers 2018-02-19 10:15:51 +01:00
Marcin Grzejszczak
91d686cd52 Explicitly added starter-web for stub runner starter 2018-02-16 21:45:34 +01:00
Marcin Grzejszczak
c8ec61c1c2 Changed the snapshot skip test property 2018-02-16 14:06:33 +01:00
Marcin Grzejszczak
a2d866dd39 Bumped versions 2018-02-16 13:37:11 +01:00
Marcin Grzejszczak
d87e669a23 Adding a mechanism to disable the local vs remote stub location
When fetching stubs / contracts in a CI, shared environment, what might happen is that
both the producer and the consumer reuse the same local Maven repository. Due to this,
the framework, responsible for downloading a stub JAR from remote location,
can't decide which JAR should be picked, local or remote one. That caused
the `"The artifact was found in the local repository but you have explicitly
stated that it should be downloaded from a remote one"` exception
and failed the build.

For such cases we're introducing the property mechanism:

- via `stubrunner.snapshot-check.skip` system property
- via `STUBRUNNER_SNAPSHOT_CHECK_SKIP` environment variable

if either of these values is set to `true`, then the stub downloader will not
verify the origin of the downloaded JAR.

fixes gh-545
2018-02-16 13:35:56 +01:00
Marcin Grzejszczak
5de9959561 Bumped to WireMock 2.15.0; fixes gh-548 2018-02-12 17:09:21 +01:00
Marcin Grzejszczak
215aa4e473 Added poms downloading; fixes gh-547 2018-02-12 15:07:45 +01:00
Marcin Grzejszczak
0fe931b3e8 Allows execute property in multipart; fixes gh-541 2018-02-09 17:10:58 +01:00
buildmaster
a8e3b64fe6 Bumping versions to 1.2.4.BUILD-SNAPSHOT after release 2018-02-09 16:08:54 +00:00
buildmaster
ab660f8944 Going back to snapshots 2018-02-09 16:08:53 +00:00
buildmaster
c510a555b7 Update SNAPSHOT to 1.2.3.RELEASE 2018-02-09 15:54:44 +00:00
Marcin Grzejszczak
8b0240ac6b Fixed invalid field reference in docs; fixes gh-539 2018-02-09 15:13:50 +01:00
Marcin Grzejszczak
3b8a091dfc Fixed asm versions 2018-02-09 15:03:48 +01:00
Marcin Grzejszczak
14c0600f8b Contract converters shouldn't require java 8 2018-02-09 10:04:26 +01:00
Ryan Baxter
1598f97575 using latest spring-cloud-dependencies-parent 2018-02-07 16:34:38 -05:00
Ryan Baxter
2bef31d7a5 using latest spring-cloud-build 2018-02-07 16:33:20 -05:00
Marcin Grzejszczak
83e304008e Bumped jsonassert to 0.4.11
fixes gh-538, gh-537
2018-02-05 14:48:04 +01:00
Dave Syer
3ee5c4c308 Revert "Remove unnecessary placeholder resolution"
This reverts commit 2d9c505715.
2018-01-30 11:16:45 +00:00
Marcin Grzejszczak
af463792ca Updated the docs 2018-01-29 15:19:06 +01:00
Dave Syer
15ac841360 Put jsonPaths into request matchers (not response)
The correct WireMock JSON stubs should be available after this change.
Otherwise the json paths that were applied to the request in the
RESTdocs test were being translated into response matchers in the
contract (which doesn't even do anything in WireMock).
2018-01-29 13:52:11 +00:00
Dave Syer
2d9c505715 Remove unnecessary placeholder resolution 2018-01-29 13:52:08 +00:00
Marcin Grzejszczak
a49630bade Added debug information 2018-01-25 17:57:56 +01:00
Marcin Grzejszczak
01f55db2c6 Bumped WireMock to 2.14; fixes #506 2018-01-25 10:50:32 +01:00
Marcin Grzejszczak
0da705520e Trying to fix Circle build 2018-01-24 18:25:03 +01:00
Marcin Grzejszczak
1808923b43 Fixed docker org name 2018-01-24 17:29:14 +01:00
Marcin Grzejszczak
37d7e8cfd3 Docker images (#527)
with this change we're adding generation of 2 docker images - verifier and stub runner
we also added a project `spring-cloud-contract-stub-runner-boot` which contains a far jar with stub runner boot

fixes gh-526, gh-516
2018-01-24 17:07:22 +01:00
Marcin Grzejszczak
a5bdb32b7c Fixing the build? 2018-01-19 09:33:43 +01:00
Marcin Grzejszczak
ec10ca8bb9 Fixed wrong version 2018-01-19 01:28:01 +01:00
Marcin Grzejszczak
ca51769f98 Using unique port for standalone tests 2018-01-19 01:20:34 +01:00
Marcin Grzejszczak
f486eeb85b Added 1.2.x to whitelist 2018-01-19 00:47:20 +01:00
Marcin Grzejszczak
2fc0c75c44 Bumped parent 2018-01-19 00:42:16 +01:00
Marcin Grzejszczak
b745d9a7e3 YAML contracts (#522)
with this change we allow the users to use YAML to define contracts

fixes gh-300 gh-508
helps with #501
2018-01-19 00:27:15 +01:00
buildmaster
b2428c5f13 Bumping versions to 1.2.3.BUILD-SNAPSHOT after release 2018-01-16 17:20:16 +00:00
buildmaster
f5561d3f9b Going back to snapshots 2018-01-16 17:20:15 +00:00
buildmaster
19deb01269 Update SNAPSHOT to 1.2.2.RELEASE 2018-01-16 17:09:51 +00:00
Marcin Grzejszczak
3c0dcad1d6 Numbers are acceptable in the method name
fixes gh-518
2018-01-16 17:19:47 +01:00