Merge branch '1.2.x'

This commit is contained in:
Marcin Grzejszczak
2018-03-15 14:56:04 +01:00
3 changed files with 62 additions and 12 deletions

View File

@@ -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>

View File

@@ -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) {

View File

@@ -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.