Merge branch '1.2.x'
This commit is contained in:
@@ -20,10 +20,24 @@
|
||||
<docker.registry.organization>springcloud</docker.registry.organization>
|
||||
</properties>
|
||||
|
||||
<modules>
|
||||
<module>spring-cloud-contract-docker</module>
|
||||
<module>spring-cloud-contract-stub-runner-docker</module>
|
||||
</modules>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>skip</id>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>integration</id>
|
||||
<activation>
|
||||
<activeByDefault>false</activeByDefault>
|
||||
</activation>
|
||||
<modules>
|
||||
<module>spring-cloud-contract-docker</module>
|
||||
<module>spring-cloud-contract-stub-runner-docker</module>
|
||||
</modules>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
@@ -21,11 +21,11 @@ version = getProp("PROJECT_VERSION") ?: '0.0.1-SNAPSHOT'
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
if (!"${verifierVersion}".contains("RELEASE")) {
|
||||
maven { url "http://repo.spring.io/snapshot" }
|
||||
maven { url "http://repo.spring.io/milestone" }
|
||||
maven { url "http://repo.spring.io/release" }
|
||||
}
|
||||
if (!"${verifierVersion}".contains("RELEASE")) {
|
||||
maven { url "http://repo.spring.io/snapshot" }
|
||||
maven { url "http://repo.spring.io/milestone" }
|
||||
maven { url "http://repo.spring.io/release" }
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'groovy'
|
||||
@@ -57,11 +57,29 @@ test {
|
||||
}
|
||||
}
|
||||
|
||||
// tests - contracts
|
||||
contracts {
|
||||
baseClassForTests = "contracts.RestBase"
|
||||
testMode = "EXPLICIT"
|
||||
contractsDslDir = new File("/contracts")
|
||||
if (getProp("EXTERNAL_CONTRACTS_ARTIFACT_ID")) {
|
||||
logger.lifecycle("Will use an artifact with contracts [${getProp("EXTERNAL_CONTRACTS_GROUP_ID")}:${getProp("EXTERNAL_CONTRACTS_ARTIFACT_ID")}]")
|
||||
// tests - contracts from an artifact
|
||||
contractsPath = getProp("EXTERNAL_CONTRACTS_PATH") ?: ""
|
||||
if (Boolean.parseBoolean(getProp("EXTERNAL_CONTRACTS_WORK_OFFLINE")) == false) {
|
||||
contractsRepositoryUrl = getProp('EXTERNAL_CONTRACTS_REPO_WITH_BINARIES_URL') ?:
|
||||
getProp('REPO_WITH_BINARIES_URL') ?: 'http://localhost:8081/artifactory/libs-release-local'
|
||||
}
|
||||
contractDependency {
|
||||
groupId = getProp("EXTERNAL_CONTRACTS_GROUP_ID") ?: "com.example"
|
||||
artifactId = getProp("EXTERNAL_CONTRACTS_ARTIFACT_ID")
|
||||
delegate.classifier = getProp("EXTERNAL_CONTRACTS_CLASSIFIER") ?: ""
|
||||
delegate.version = getProp("EXTERNAL_CONTRACTS_VERSION") ?: "+"
|
||||
}
|
||||
contractsWorkOffline = Boolean.parseBoolean(getProp("EXTERNAL_CONTRACTS_WORK_OFFLINE")) ?: false
|
||||
} else {
|
||||
logger.lifecycle("Will use contracts from the mounted [/contracts] folder")
|
||||
// tests - contracts in this repo
|
||||
contractsDslDir = new File("/contracts")
|
||||
}
|
||||
}
|
||||
|
||||
task wrapper(type: Wrapper) {
|
||||
|
||||
@@ -931,7 +931,7 @@ It's enough for you to mount your contracts, pass the environment variables
|
||||
The Docker image requires some environment variables to point to
|
||||
your running application, to the Artifact manager instance etc.
|
||||
|
||||
- `PROJECT_GROUP` - your project's group id. Defaults to `com.example`.
|
||||
- `PROJECT_GROUP` - your project's group id. Defaults to `com.example`
|
||||
- `PROJECT_VERSION` - your project's version. Defaults to `0.0.1-SNAPSHOT`
|
||||
- `PROJECT_NAME` - artifact id. Defaults to `example`
|
||||
- `REPO_WITH_BINARIES_URL` - URL of your Artifact Manager. Defaults to `http://localhost:8081/artifactory/libs-release-local`
|
||||
@@ -940,6 +940,24 @@ which is the default URL of https://jfrog.com/artifactory/[Artifactory] running
|
||||
- `REPO_WITH_BINARIES_PASSWORD` - (optional) password when the Artifact Manager is secured
|
||||
- `PUBLISH_ARTIFACTS` - if set to `true` then will publish artifact to binary storage. Defaults to `true`.
|
||||
|
||||
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`.
|
||||
|
||||
|
||||
These environment variables are used when tests are executed:
|
||||
|
||||
- `APPLICATION_BASE_URL` - url against which tests should be executed.
|
||||
|
||||
Reference in New Issue
Block a user