diff --git a/docker/spring-cloud-contract-docker/project/build.sh b/docker/spring-cloud-contract-docker/project/build.sh index e2b23f441f..78a76eb328 100755 --- a/docker/spring-cloud-contract-docker/project/build.sh +++ b/docker/spring-cloud-contract-docker/project/build.sh @@ -1,5 +1,10 @@ #!/bin/bash +set -o errexit +set -o errtrace +set -o nounset +set -o pipefail + export PROJECT_NAME="${PROJECT_NAME:-example}" echo "Setting project name to [${PROJECT_NAME}]" echo "rootProject.name='${PROJECT_NAME}'" >> settings.gradle diff --git a/docker/spring-cloud-contract-stub-runner-docker/Dockerfile b/docker/spring-cloud-contract-stub-runner-docker/Dockerfile index 7fe7c50e1b..8f98e480ff 100644 --- a/docker/spring-cloud-contract-stub-runner-docker/Dockerfile +++ b/docker/spring-cloud-contract-stub-runner-docker/Dockerfile @@ -20,7 +20,12 @@ ENV JAVA_HOME /root/.sdkman/candidates/java/current/ ENV PATH "${PATH}:${JAVA_HOME}/bin" # Spring Cloud Contract -ENV SERVER_PORT 8083 +ENV SERVER_PORT 8750 VOLUME /tmp ADD target/libs/stub-runner-boot.jar stub-runner-boot.jar -ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/stub-runner-boot.jar"] +RUN echo "Fetching dependencies, please wait..." +RUN java -Dthin.dryrun=true -jar stub-runner-boot.jar +RUN java -Dthin.dryrun=true -jar stub-runner-boot.jar --thin.profile=rabbit +RUN java -Dthin.dryrun=true -jar stub-runner-boot.jar --thin.profile=kafka +COPY run.sh run.sh +ENTRYPOINT ["./run.sh"] diff --git a/docker/spring-cloud-contract-stub-runner-docker/run.sh b/docker/spring-cloud-contract-stub-runner-docker/run.sh new file mode 100755 index 0000000000..3acd972ac7 --- /dev/null +++ b/docker/spring-cloud-contract-stub-runner-docker/run.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -o errexit +set -o errtrace +set -o nounset +set -o pipefail + +echo "Running Spring Cloud Contract Stub Runner" +java -Djava.security.egd=file:/dev/./urandom -jar /stub-runner-boot.jar diff --git a/spring-cloud-contract-stub-runner-boot/pom.xml b/spring-cloud-contract-stub-runner-boot/pom.xml index c6ad5ccb26..43d695ff5a 100644 --- a/spring-cloud-contract-stub-runner-boot/pom.xml +++ b/spring-cloud-contract-stub-runner-boot/pom.xml @@ -13,6 +13,9 @@ jar Spring Cloud Contract Stub Runner Boot Spring Cloud Contract Stub Runner Boot + + 1.0.25.RELEASE + org.springframework.cloud @@ -35,6 +38,13 @@ true + + + org.springframework.boot.experimental + spring-boot-thin-layout + ${thin-jar.version} + + org.apache.maven.plugins diff --git a/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-kafka.properties b/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-kafka.properties new file mode 100644 index 0000000000..7827667d8e --- /dev/null +++ b/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-kafka.properties @@ -0,0 +1,2 @@ +exclusions.spring-cloud-stream-binder-rabbit: org.springframework.cloud:spring-cloud-stream-binder-rabbit +dependencies.spring-cloud-stream-binder-kafka: org.springframework.cloud:spring-cloud-stream-binder-kafka diff --git a/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-rabbit.properties b/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-rabbit.properties new file mode 100644 index 0000000000..1145b0300c --- /dev/null +++ b/spring-cloud-contract-stub-runner-boot/src/main/resources/META-INF/thin-rabbit.properties @@ -0,0 +1,2 @@ +exclusions.spring-cloud-stream-binder-kafka: org.springframework.cloud:spring-cloud-stream-binder-kafka +dependencies.spring-cloud-stream-binder-rabbit: org.springframework.cloud:spring-cloud-stream-binder-rabbit diff --git a/spring-cloud-contract-stub-runner-boot/src/main/resources/application.yml b/spring-cloud-contract-stub-runner-boot/src/main/resources/application.yml new file mode 100644 index 0000000000..d65102df1f --- /dev/null +++ b/spring-cloud-contract-stub-runner-boot/src/main/resources/application.yml @@ -0,0 +1,11 @@ +spring: + application: + name: stubrunner + +server: + port: 8750 + +info: + artifactId: "@project.artifactId@" + description: "@project.description@" + version: "@project.version@" \ No newline at end of file