diff --git a/java/.snyk b/java/.snyk index 7d6f94f3..18f21c0e 100644 --- a/java/.snyk +++ b/java/.snyk @@ -12,4 +12,8 @@ ignore: SNYK:LIC:MAVEN:JUNIT:JUNIT:EPL-1.0: - '*': reason: Use of the library is consistent with commercial use as we are not making changes, only consuming it as part of commercial work. - expires: '2030-01-01T00:00:00.000Z' \ No newline at end of file + expires: '2030-01-01T00:00:00.000Z' + snyk:lic:maven:org.aspectj:aspectjweaver:EPL-1.0: + - '*': + reason: Use of the library is consistent with commercial use as we are not making changes, only consuming it as part of commercial work. + expires: '2030-01-01T00:00:00.000Z' diff --git a/java/pom.xml b/java/pom.xml index 6a6f1a92..95b1cc70 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -20,9 +20,13 @@ Demo project for Java - 1.0.2.2-RELEASE + 1.0.3.2-RELEASE 1.0.3 + + no-aws + no-azure + 11 1.18.0 1.6.1 @@ -52,6 +56,8 @@ 4.2.7 2.17.0 1.5.2.Final + 1.12.273 + 1.9.9.1 2.13 3.1.2 @@ -71,15 +77,6 @@ 9000 - - - - snapshots - default-maven-virtual - https://amidostacks.jfrog.io/artifactory/default-maven-virtual - - - @@ -98,6 +95,12 @@ com.amido.stacks.modules stacks-core-api ${stacks.core.api.version} + + + org.aspectj + aspectjweaver + + @@ -228,15 +231,6 @@ provided - - org.springframework.boot spring-boot-starter-test @@ -320,6 +314,12 @@ runtime + + com.amazonaws + aws-java-sdk-s3 + ${aws-java-sdk-s3.version} + + @@ -546,6 +546,37 @@ + + + + + aws + + + . + + + + aws + + + + + + + azure + + + . + + + + azure + + + + + owasp-dependency-check @@ -565,6 +596,7 @@ + test @@ -575,6 +607,7 @@ + local @@ -588,6 +621,7 @@ + update-permissions @@ -621,5 +655,6 @@ + diff --git a/java/run_tests.sh b/java/run_tests.sh new file mode 100755 index 00000000..960d96cf --- /dev/null +++ b/java/run_tests.sh @@ -0,0 +1,7 @@ +export BASE_URL=http://localhost:9000 + +mvn -f ../api-tests/pom.xml clean verify +open ../api-tests/target/site/serenity/index.html + +mvn -f ../api-tests-karate/pom.xml clean test +open ../api-tests-karate/target/surefire-reports/karate-summary.html \ No newline at end of file diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java new file mode 100644 index 00000000..46643dd2 --- /dev/null +++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/SecretsController.java @@ -0,0 +1,25 @@ +package com.amido.stacks.workloads.menu.api.v1; + +import com.amido.stacks.workloads.menu.service.v1.SecretsService; +import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping( + path = "/v1/secrets", + produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8") +@RequiredArgsConstructor +public class SecretsController { + + private final SecretsService secretsService; + + @GetMapping + public ResponseEntity getSecrets() { + + return ResponseEntity.ok(secretsService.getSecrets()); + } +} diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java b/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java new file mode 100644 index 00000000..931e9b5e --- /dev/null +++ b/java/src/main/java/com/amido/stacks/workloads/menu/service/v1/SecretsService.java @@ -0,0 +1,33 @@ +package com.amido.stacks.workloads.menu.service.v1; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class SecretsService { + + @Value(value = "${stacks-secret-1:secret-not-available}") + private String secret1; + + @Value(value = "${stacks-secret-2:secret-not-available}") + private String secret2; + + @Value(value = "${stacks-secret-3:secret-not-available}") + private String secret3; + + @Value(value = "${stacks-secret-4:secret-not-available}") + private String secret4; + + public String getSecrets() { + + log.info("Getting some secrets..."); + + return showSecrets(); + } + + private String showSecrets() { + return "Secrets -> " + secret1 + ", " + secret2 + ", " + secret3 + ", " + secret4; + } +} diff --git a/java/src/main/resources/application-aws.yml b/java/src/main/resources/application-aws.yml new file mode 100644 index 00000000..97a6ce16 --- /dev/null +++ b/java/src/main/resources/application-aws.yml @@ -0,0 +1,9 @@ +spring.config.import: + - optional:aws-secretsmanager:/stacks-secret/example-1/ + - optional:aws-secretsmanager:/stacks-secret/example-2/ + +aws: + xray: + enabled: ${AWS_XRAY_ENABLED:false} + secretsmanager: + enabled: ${AWS_SECRETS_ENABLED:false} diff --git a/java/src/main/resources/application-azure.yml b/java/src/main/resources/application-azure.yml new file mode 100644 index 00000000..89231add --- /dev/null +++ b/java/src/main/resources/application-azure.yml @@ -0,0 +1,10 @@ +azure: + application-insights: + instrumentation-key: xxxxxx + enabled: true + keyvault: + enabled: false + uri: https://amido.stacks-tmp.vault.azure.net/ + client-id: xxxxxx + client-key: xxxxxx + tenant-id: xxxxxx diff --git a/java/src/main/resources/application.yml b/java/src/main/resources/application.yml index 524dda51..305cad7b 100644 --- a/java/src/main/resources/application.yml +++ b/java/src/main/resources/application.yml @@ -1,4 +1,9 @@ spring: + profiles: + include: + - "@aws.profile.name@" + - "@azure.profile.name@" + application: name: stacks-api data: @@ -31,14 +36,3 @@ springdoc: enabled: true enabled: true path: /swagger/oas-json - -azure: - application-insights: - instrumentation-key: xxxxxx - enabled: true - keyvault: - enabled: false - uri: https://amido-stacks-tmp.vault.azure.net/ - client-id: xxxxxx - client-key: xxxxxx - tenant-id: xxxxxx diff --git a/java/src/main/resources/local/application-aws.yml b/java/src/main/resources/local/application-aws.yml new file mode 100644 index 00000000..97a6ce16 --- /dev/null +++ b/java/src/main/resources/local/application-aws.yml @@ -0,0 +1,9 @@ +spring.config.import: + - optional:aws-secretsmanager:/stacks-secret/example-1/ + - optional:aws-secretsmanager:/stacks-secret/example-2/ + +aws: + xray: + enabled: ${AWS_XRAY_ENABLED:false} + secretsmanager: + enabled: ${AWS_SECRETS_ENABLED:false} diff --git a/java/src/main/resources/local/application-azure.yml b/java/src/main/resources/local/application-azure.yml new file mode 100644 index 00000000..89231add --- /dev/null +++ b/java/src/main/resources/local/application-azure.yml @@ -0,0 +1,10 @@ +azure: + application-insights: + instrumentation-key: xxxxxx + enabled: true + keyvault: + enabled: false + uri: https://amido.stacks-tmp.vault.azure.net/ + client-id: xxxxxx + client-key: xxxxxx + tenant-id: xxxxxx diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java new file mode 100644 index 00000000..1477c559 --- /dev/null +++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/SecretsControllerTest.java @@ -0,0 +1,55 @@ +package com.amido.stacks.workloads.menu.api.v1; + +import static org.assertj.core.api.BDDAssertions.then; + +import com.amido.stacks.workloads.Application; +import com.amido.stacks.workloads.util.TestHelper; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.http.HttpStatus; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.TestPropertySource; + +@SpringBootTest( + webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, + classes = Application.class, + properties = { + "stacks-secret-1=SEC1", + "stacks-secret-2=SEC2", + "stacks-secret-3=SEC3", + "stacks-secret-4=SEC4" + }) +@TestPropertySource( + properties = { + "management.port=0", + "aws.xray.enabled=false", + "aws.secretsmanager.enabled=false" + }) +@Tag("Integration") +@ActiveProfiles("test") +class SecretsControllerTest { + + public static final String GET_SECRETS = "/v1/secrets"; + + @LocalServerPort private int port; + + @Autowired private TestRestTemplate testRestTemplate; + + @Test + void shouldReturnValidSecrets() { + // Given + + // When + var response = + this.testRestTemplate.getForEntity( + String.format("%s/v1/secrets", TestHelper.getBaseURL(port)), String.class); + + // Then + then(response.getStatusCode()).isEqualTo(HttpStatus.OK); + then(response.getBody()).isEqualTo("Secrets -> SEC1, SEC2, SEC3, SEC4"); + } +} diff --git a/java/x.txt b/java/x.txt new file mode 100644 index 00000000..a4e0cdcf --- /dev/null +++ b/java/x.txt @@ -0,0 +1,276 @@ +[INFO] Scanning for projects... +[INFO] +[INFO] ---------------< com.amido.stacks.workloads:stacks-api >---------------- +[INFO] Building stacks-api 1.0.0 +[INFO] --------------------------------[ jar ]--------------------------------- +[INFO] +[INFO] --- maven-dependency-plugin:3.2.0:tree (default-cli) @ stacks-api --- +[INFO] com.amido.stacks.workloads:stacks-api:jar:1.0.0 +[INFO] +- com.amido.stacks.modules:stacks-core-api:jar:1.0.3.2-RELEASE:compile +[INFO] | +- ch.qos.logback:logback-classic:jar:1.2.7:compile +[INFO] | +- org.slf4j:slf4j-api:jar:1.7.32:compile +[INFO] | +- org.springframework.cloud:spring-cloud-context:jar:3.1.3:compile +[INFO] | | \- org.springframework.security:spring-security-crypto:jar:5.6.0:compile +[INFO] | +- io.awspring.cloud:spring-cloud-starter-aws-secrets-manager-config:jar:2.4.1:compile +[INFO] | | +- io.awspring.cloud:spring-cloud-aws-secrets-manager-config:jar:2.4.1:compile +[INFO] | | | \- com.amazonaws:aws-java-sdk-secretsmanager:jar:1.12.195:compile +[INFO] | | +- io.awspring.cloud:spring-cloud-aws-core:jar:2.4.1:compile +[INFO] | | | \- com.amazonaws:aws-java-sdk-ec2:jar:1.12.195:compile +[INFO] | | \- javax.activation:javax.activation-api:jar:1.2.0:compile +[INFO] | +- com.amazonaws:aws-xray-recorder-sdk-spring:jar:2.11.2:compile +[INFO] | | +- com.amazonaws:aws-xray-recorder-sdk-core:jar:2.11.2:compile +[INFO] | | | \- com.amazonaws:aws-java-sdk-xray:jar:1.12.228:compile +[INFO] | | +- org.aspectj:aspectjrt:jar:1.9.7:compile +[INFO] | | +- org.springframework:spring-context-support:jar:5.3.13:runtime +[INFO] | | \- org.springframework:spring-aspects:jar:5.3.13:runtime +[INFO] | +- com.amazonaws:aws-xray-recorder-sdk-log4j:jar:2.11.2:compile +[INFO] | +- com.amazonaws:aws-xray-recorder-sdk-apache-http:jar:2.11.2:compile +[INFO] | | \- org.apache.httpcomponents:httpclient:jar:4.5.13:compile +[INFO] | | \- org.apache.httpcomponents:httpcore:jar:4.4.14:compile +[INFO] | +- com.amazonaws:aws-xray-recorder-sdk-metrics:jar:2.11.2:compile +[INFO] | | \- com.amazonaws:aws-xray-recorder-sdk-aws-sdk-core:jar:2.11.2:runtime +[INFO] | \- org.mapstruct:mapstruct:jar:1.5.2.Final:compile +[INFO] +- com.amido.stacks.modules:stacks-core-commons:jar:1.0.3:compile +[INFO] | \- org.springframework:spring-context:jar:5.3.13:compile +[INFO] | +- org.springframework:spring-aop:jar:5.3.13:compile +[INFO] | +- org.springframework:spring-beans:jar:5.3.13:compile +[INFO] | \- org.springframework:spring-expression:jar:5.3.13:compile +[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.6.1:compile +[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.6.1:compile +[INFO] | | +- org.springframework.boot:spring-boot:jar:2.6.1:compile +[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.6.1:compile +[INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.14.1:compile +[INFO] | | | \- org.slf4j:jul-to-slf4j:jar:1.7.32:compile +[INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile +[INFO] | | \- org.yaml:snakeyaml:jar:1.29:compile +[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.6.1:compile +[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.6.1:compile +[INFO] | \- io.micrometer:micrometer-core:jar:1.8.0:compile +[INFO] | +- org.hdrhistogram:HdrHistogram:jar:2.1.12:compile +[INFO] | \- org.latencyutils:LatencyUtils:jar:2.0.3:runtime +[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.6.1:compile +[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.6.1:compile +[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.13.0:compile +[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.13.0:compile +[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.6.1:compile +[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.55:compile +[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.55:compile +[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.55:compile +[INFO] | +- org.springframework:spring-web:jar:5.3.13:compile +[INFO] | \- org.springframework:spring-webmvc:jar:5.3.13:compile +[INFO] +- org.springdoc:springdoc-openapi-ui:jar:1.6.1:compile +[INFO] | +- org.springdoc:springdoc-openapi-webmvc-core:jar:1.6.1:compile +[INFO] | | \- org.springdoc:springdoc-openapi-common:jar:1.6.1:compile +[INFO] | | +- io.swagger.core.v3:swagger-models:jar:2.1.11:compile +[INFO] | | +- io.swagger.core.v3:swagger-annotations:jar:2.1.11:compile +[INFO] | | +- io.swagger.core.v3:swagger-integration:jar:2.1.11:compile +[INFO] | | | \- io.swagger.core.v3:swagger-core:jar:2.1.11:compile +[INFO] | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.13.0:compile +[INFO] | | | \- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile +[INFO] | | \- io.github.classgraph:classgraph:jar:4.8.116:compile +[INFO] | +- org.webjars:swagger-ui:jar:4.1.3:compile +[INFO] | \- org.webjars:webjars-locator-core:jar:0.48:compile +[INFO] +- org.springdoc:springdoc-openapi-data-rest:jar:1.6.1:compile +[INFO] | +- org.springdoc:springdoc-openapi-hateoas:jar:1.6.1:compile +[INFO] | | \- org.springframework.hateoas:spring-hateoas:jar:1.4.0:compile +[INFO] | \- org.springframework.data:spring-data-rest-core:jar:3.6.0:compile +[INFO] | +- org.springframework:spring-tx:jar:5.3.13:compile +[INFO] | +- org.springframework.data:spring-data-commons:jar:2.6.0:compile +[INFO] | +- org.springframework.plugin:spring-plugin-core:jar:2.0.0.RELEASE:compile +[INFO] | \- org.atteo:evo-inflector:jar:1.3:compile +[INFO] +- org.apache.logging.log4j:log4j-api:jar:2.17.0:compile +[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.13.0:compile +[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.13.0:compile +[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.13.0:compile +[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.13.0:compile +[INFO] +- com.azure.spring:azure-spring-boot:jar:3.6.0:compile +[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.6.1:compile +[INFO] | +- javax.validation:validation-api:jar:2.0.1.Final:compile +[INFO] | +- javax.annotation:javax.annotation-api:jar:1.3.2:compile +[INFO] | \- org.springframework:spring-core:jar:5.3.13:compile +[INFO] | \- org.springframework:spring-jcl:jar:5.3.13:compile +[INFO] +- com.microsoft.azure:applicationinsights-spring-boot-starter:jar:2.6.4:runtime +[INFO] | \- com.microsoft.azure:applicationinsights-web:jar:2.6.4:runtime +[INFO] +- com.microsoft.azure:applicationinsights-logging-logback:jar:2.6.4:runtime +[INFO] | \- com.microsoft.azure:applicationinsights-core:jar:2.6.4:runtime +[INFO] +- ch.qos.logback:logback-core:jar:1.2.8:compile +[INFO] +- net.minidev:json-smart:jar:2.4.7:compile +[INFO] | \- net.minidev:accessors-smart:jar:2.4.7:compile +[INFO] | \- org.ow2.asm:asm:jar:9.1:compile +[INFO] +- com.beust:jcommander:jar:1.81:compile +[INFO] +- com.auth0:auth0-spring-security-api:jar:1.4.1:compile +[INFO] | +- com.auth0:java-jwt:jar:3.13.0:compile +[INFO] | +- com.auth0:jwks-rsa:jar:0.15.0:compile +[INFO] | | \- com.google.guava:guava:jar:30.0-jre:runtime +[INFO] | | +- com.google.guava:failureaccess:jar:1.0.1:runtime +[INFO] | | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:runtime +[INFO] | | +- org.checkerframework:checker-qual:jar:3.5.0:runtime +[INFO] | | +- com.google.errorprone:error_prone_annotations:jar:2.3.4:runtime +[INFO] | | \- com.google.j2objc:j2objc-annotations:jar:1.3:runtime +[INFO] | +- org.springframework.security:spring-security-core:jar:5.6.0:compile +[INFO] | +- org.springframework.security:spring-security-web:jar:5.6.0:compile +[INFO] | +- org.springframework.security:spring-security-config:jar:5.6.0:compile +[INFO] | \- commons-codec:commons-codec:jar:1.15:compile +[INFO] +- org.projectlombok:lombok:jar:1.18.22:provided +[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.6.1:test +[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.6.1:test +[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.6.1:test +[INFO] | +- com.jayway.jsonpath:json-path:jar:2.6.0:compile +[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile +[INFO] | | \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile +[INFO] | +- org.assertj:assertj-core:jar:3.21.0:test +[INFO] | +- org.junit.jupiter:junit-jupiter:jar:5.8.2:test +[INFO] | | \- org.junit.jupiter:junit-jupiter-params:jar:5.8.2:test +[INFO] | +- org.mockito:mockito-core:jar:4.1.0:test +[INFO] | | +- net.bytebuddy:byte-buddy:jar:1.11.22:test +[INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.11.22:test +[INFO] | | \- org.objenesis:objenesis:jar:3.2:test +[INFO] | +- org.skyscreamer:jsonassert:jar:1.5.0:test +[INFO] | +- org.springframework:spring-test:jar:5.3.13:test +[INFO] | \- org.xmlunit:xmlunit-core:jar:2.8.3:test +[INFO] +- org.junit.jupiter:junit-jupiter-api:jar:5.8.2:test +[INFO] | +- org.opentest4j:opentest4j:jar:1.2.0:test +[INFO] | +- org.junit.platform:junit-platform-commons:jar:1.8.2:test +[INFO] | \- org.apiguardian:apiguardian-api:jar:1.1.2:test +[INFO] +- org.junit.jupiter:junit-jupiter-engine:jar:5.8.2:test +[INFO] | \- org.junit.platform:junit-platform-engine:jar:1.8.2:test +[INFO] +- org.mockito:mockito-junit-jupiter:jar:4.1.0:test +[INFO] +- org.hamcrest:hamcrest:jar:2.2:test +[INFO] +- nl.jqno.equalsverifier:equalsverifier:jar:3.8.1:test +[INFO] +- au.com.dius:pact-jvm-provider-spring:jar:4.0.10:test +[INFO] | +- javax.servlet:javax.servlet-api:jar:4.0.1:test +[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.13.0:test +[INFO] | | \- joda-time:joda-time:jar:2.10.8:compile +[INFO] | \- au.com.dius:pact-jvm-provider-junit:jar:4.0.10:test +[INFO] | +- org.apache.httpcomponents:fluent-hc:jar:4.5.13:test +[INFO] | +- junit:junit:jar:4.13.2:test +[INFO] | | \- org.hamcrest:hamcrest-core:jar:2.2:test +[INFO] | +- org.jooq:jool:jar:0.9.14:test +[INFO] | +- com.github.rholder:guava-retrying:jar:2.0.0:test +[INFO] | +- javax.mail:mail:jar:1.5.0-b01:test +[INFO] | | \- javax.activation:activation:jar:1.1:test +[INFO] | +- au.com.dius:pact-jvm-core-support:jar:4.0.10:test +[INFO] | | +- com.google.code.gson:gson:jar:2.8.9:test +[INFO] | | +- io.github.microutils:kotlin-logging:jar:1.6.26:test +[INFO] | | | \- io.github.microutils:kotlin-logging-common:jar:1.6.26:test +[INFO] | | +- io.arrow-kt:arrow-core-extensions:jar:0.9.0:test +[INFO] | | | +- io.arrow-kt:arrow-annotations:jar:0.9.0:test +[INFO] | | | | \- io.kindedj:kindedj:jar:1.1.0:test +[INFO] | | | +- io.arrow-kt:arrow-typeclasses:jar:0.9.0:test +[INFO] | | | \- io.arrow-kt:arrow-core-data:jar:0.9.0:test +[INFO] | | \- com.github.salomonbrys.kotson:kotson:jar:2.5.0:test +[INFO] | \- au.com.dius:pact-jvm-provider:jar:4.0.10:test +[INFO] | +- org.fusesource.jansi:jansi:jar:1.17.1:test +[INFO] | +- au.com.dius:pact-jvm-core-model:jar:4.0.10:test +[INFO] | +- au.com.dius:pact-jvm-core-pact-broker:jar:4.0.10:test +[INFO] | | \- org.dmfs:rfc3986-uri:jar:0.8:test +[INFO] | | +- org.dmfs:iterators:jar:1.5:test +[INFO] | | \- org.dmfs:optional:jar:0.3:test +[INFO] | +- au.com.dius:pact-jvm-core-matchers:jar:4.0.10:test +[INFO] | +- org.scala-lang:scala-library:jar:2.12.8:test +[INFO] | \- org.codehaus.groovy:groovy:jar:3.0.9:test +[INFO] +- au.com.dius.pact:consumer:jar:4.3.2:test +[INFO] | +- au.com.dius.pact.core:support:jar:4.3.2:test +[INFO] | | +- io.github.microutils:kotlin-logging-jvm:jar:2.0.10:test +[INFO] | | +- com.michael-bull.kotlin-result:kotlin-result-jvm:jar:1.1.12:test +[INFO] | | +- org.antlr:antlr4:jar:4.9.2:test +[INFO] | | | +- org.antlr:antlr4-runtime:jar:4.9.2:test +[INFO] | | | +- org.antlr:antlr-runtime:jar:3.5.2:test +[INFO] | | | +- org.antlr:ST4:jar:4.3:test +[INFO] | | | +- org.abego.treelayout:org.abego.treelayout.core:jar:1.0.3:test +[INFO] | | | \- com.ibm.icu:icu4j:jar:61.1:test +[INFO] | | \- com.google.code.findbugs:jsr305:jar:3.0.2:runtime +[INFO] | +- au.com.dius.pact.core:model:jar:4.3.2:test +[INFO] | | +- au.com.dius.pact.core:pactbroker:jar:4.3.2:test +[INFO] | | +- org.apache.commons:commons-collections4:jar:4.4:test +[INFO] | | +- org.apache.tika:tika-core:jar:1.27:test +[INFO] | | +- io.ktor:ktor-http-jvm:jar:1.6.1:test +[INFO] | | | +- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:jar:1.5.2:test +[INFO] | | | \- io.ktor:ktor-utils-jvm:jar:1.6.1:test +[INFO] | | | \- io.ktor:ktor-io-jvm:jar:1.6.1:test +[INFO] | | \- commons-beanutils:commons-beanutils:jar:1.9.4:test +[INFO] | | \- commons-collections:commons-collections:jar:3.2.2:test +[INFO] | +- au.com.dius.pact.core:matchers:jar:4.3.2:test +[INFO] | | +- xerces:xercesImpl:jar:2.12.1:test +[INFO] | | | \- xml-apis:xml-apis:jar:1.4.01:test +[INFO] | | +- com.github.ajalt:mordant:jar:1.2.1:test +[INFO] | | | \- com.github.ajalt:colormath:jar:1.2.0:test +[INFO] | | \- com.github.zafarkhaja:java-semver:jar:0.9.0:test +[INFO] | +- org.apache.httpcomponents.client5:httpclient5:jar:5.1.2:test +[INFO] | | +- org.apache.httpcomponents.core5:httpcore5:jar:5.1.2:test +[INFO] | | \- org.apache.httpcomponents.core5:httpcore5-h2:jar:5.1.2:test +[INFO] | +- org.jetbrains.kotlin:kotlin-stdlib:jar:1.6.0:test +[INFO] | | +- org.jetbrains:annotations:jar:13.0:test +[INFO] | | \- org.jetbrains.kotlin:kotlin-stdlib-common:jar:1.6.0:test +[INFO] | +- org.jetbrains.kotlin:kotlin-reflect:jar:1.6.0:test +[INFO] | +- org.apache.httpcomponents.client5:httpclient5-fluent:jar:5.1.2:test +[INFO] | +- com.googlecode.java-diff-utils:diffutils:jar:1.3.0:test +[INFO] | +- dk.brics.automaton:automaton:jar:1.11-8:test +[INFO] | +- org.json:json:jar:20210307:test +[INFO] | +- io.netty:netty-handler:jar:4.1.70.Final:test +[INFO] | | +- io.netty:netty-common:jar:4.1.70.Final:test +[INFO] | | +- io.netty:netty-resolver:jar:4.1.70.Final:test +[INFO] | | +- io.netty:netty-buffer:jar:4.1.70.Final:test +[INFO] | | +- io.netty:netty-transport:jar:4.1.70.Final:test +[INFO] | | \- io.netty:netty-codec:jar:4.1.70.Final:test +[INFO] | +- io.ktor:ktor-server-netty:jar:1.6.2:test +[INFO] | | +- org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.6.0:test +[INFO] | | +- org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:1.6.0:test +[INFO] | | +- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:jar:1.5.2:test +[INFO] | | +- io.ktor:ktor-server-host-common:jar:1.6.2:test +[INFO] | | | +- io.ktor:ktor-server-core:jar:1.6.2:test +[INFO] | | | | \- com.typesafe:config:jar:1.3.1:test +[INFO] | | | \- io.ktor:ktor-http-cio-jvm:jar:1.6.2:test +[INFO] | | +- io.netty:netty-codec-http2:jar:4.1.70.Final:test +[INFO] | | | \- io.netty:netty-codec-http:jar:4.1.70.Final:test +[INFO] | | +- org.eclipse.jetty.alpn:alpn-api:jar:1.1.3.v20160715:test +[INFO] | | +- io.netty:netty-transport-native-kqueue:jar:4.1.70.Final:test +[INFO] | | | +- io.netty:netty-transport-native-unix-common:jar:4.1.70.Final:test +[INFO] | | | \- io.netty:netty-transport-classes-kqueue:jar:4.1.70.Final:test +[INFO] | | \- io.netty:netty-transport-native-epoll:jar:4.1.70.Final:test +[INFO] | | \- io.netty:netty-transport-classes-epoll:jar:4.1.70.Final:test +[INFO] | +- io.ktor:ktor-network-tls-certificates:jar:1.6.2:test +[INFO] | | \- io.ktor:ktor-network-tls-jvm:jar:1.6.2:test +[INFO] | | \- io.ktor:ktor-network-jvm:jar:1.6.2:test +[INFO] | +- io.pact.plugin.driver:core:jar:0.0.7:test +[INFO] | | +- com.vdurmont:semver4j:jar:3.1.0:test +[INFO] | | +- io.grpc:grpc-protobuf:jar:1.41.0:test +[INFO] | | | +- io.grpc:grpc-api:jar:1.41.0:test +[INFO] | | | | \- io.grpc:grpc-context:jar:1.41.0:test +[INFO] | | | +- com.google.protobuf:protobuf-java:jar:3.17.2:test +[INFO] | | | +- com.google.api.grpc:proto-google-common-protos:jar:2.0.1:test +[INFO] | | | \- io.grpc:grpc-protobuf-lite:jar:1.41.0:test +[INFO] | | +- io.grpc:grpc-stub:jar:1.41.0:test +[INFO] | | +- io.grpc:grpc-netty:jar:1.41.0:test +[INFO] | | | +- io.grpc:grpc-core:jar:1.41.0:test (version selected from constraint [1.41.0,1.41.0]) +[INFO] | | | | +- com.google.android:annotations:jar:4.1.1.4:test +[INFO] | | | | \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.19:test +[INFO] | | | +- io.netty:netty-handler-proxy:jar:4.1.70.Final:test +[INFO] | | | | \- io.netty:netty-codec-socks:jar:4.1.70.Final:test +[INFO] | | | \- io.perfmark:perfmark-api:jar:0.23.0:test +[INFO] | | +- javax.json:javax.json-api:jar:1.1.4:test +[INFO] | | \- org.glassfish:javax.json:jar:1.1.4:test +[INFO] | +- org.apache.commons:commons-lang3:jar:3.12.0:compile +[INFO] | +- com.github.mifmif:generex:jar:1.0.2:test +[INFO] | +- commons-io:commons-io:jar:1.3.2:test +[INFO] | \- org.apache.commons:commons-text:jar:1.9:test +[INFO] +- org.pitest:pitest-parent:pom:1.7.3:compile +[INFO] +- com.nimbusds:oauth2-oidc-sdk:jar:9.9:runtime +[INFO] | +- com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:runtime +[INFO] | +- com.nimbusds:content-type:jar:2.1:runtime +[INFO] | +- com.nimbusds:lang-tag:jar:1.5:runtime +[INFO] | \- com.nimbusds:nimbus-jose-jwt:jar:9.10:runtime +[INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.12.273:compile +[INFO] | +- com.amazonaws:aws-java-sdk-kms:jar:1.12.273:compile +[INFO] | +- com.amazonaws:aws-java-sdk-core:jar:1.12.273:compile +[INFO] | | +- commons-logging:commons-logging:jar:1.1.3:compile +[INFO] | | +- software.amazon.ion:ion-java:jar:1.0.2:compile +[INFO] | | \- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar:2.13.0:compile +[INFO] | \- com.amazonaws:jmespath-java:jar:1.12.273:compile +[INFO] \- org.aspectj:aspectjweaver:jar:1.9.9.1:runtime +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 1.935 s +[INFO] Finished at: 2022-08-03T18:52:03+01:00 +[INFO] ------------------------------------------------------------------------