diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 74ed2c99..1c090cd6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -33,6 +33,17 @@ updates: - dependency-name: "eclipse-temurin" versions: - "> 11" + - dependency-name: "io.dropwizard:dropwizard-dependencies" + # Dropwizard 4.x only works with Jakarta EE and not Java EE + versions: + - ">= 4" + - dependency-name: "org.dhatim:dropwizard-sentry" + # We essentially forked Dropwizard Sentry because it did not support + # Dropwizard 3.x — there is now a Dropwizard Sentry 4.x, which supports + # Dropwizard 4.x (and maybe Dropwizard 3.x), but we’d need to do work + # to go back to using an unmodified version + versions: + - ">= 4" open-pull-requests-limit: 10 labels: - dependencies diff --git a/pom.xml b/pom.xml index 8ba42371..8ca763c8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,11 +7,8 @@ UTF-8 - 2.1.12 2.2 1.37 - 2.16.1 - 5.10.0 1.0.20240205110547 0.16.0 3.2.5 @@ -23,13 +20,43 @@ - - io.dropwizard - dropwizard-dependencies - 2.1.12 - + + + + io.dropwizard + dropwizard-dependencies + 3.0.6 + pom + import + + + + + + io.dropwizard + dropwizard-core + + + io.dropwizard + dropwizard-json-logging + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.core + jackson-annotations + + + com.google.guava + guava + + + io.prometheus simpleclient @@ -47,7 +74,7 @@ uk.gov.service.payments - logging + logging-dropwizard-3 ${pay-java-commons.version} @@ -55,38 +82,27 @@ utils ${pay-java-commons.version} + + + io.dropwizard - dropwizard-core - ${dropwizard.version} - - - com.google.guava - guava - 33.0.0-jre - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} + dropwizard-testing + test - org.dhatim - dropwizard-sentry - 2.1.2-4 + org.mockito + mockito-core + test - io.dropwizard - dropwizard-json-logging - ${dropwizard.version} + org.mockito + mockito-junit-jupiter + test - + org.hamcrest hamcrest @@ -99,18 +115,6 @@ ${hamcrest.version} test - - io.dropwizard - dropwizard-testing - ${dropwizard.version} - test - - - org.mockito - mockito-core - ${mockito.version} - test - io.rest-assured rest-assured @@ -140,16 +144,10 @@ 5.10.2 test - - org.mockito - mockito-junit-jupiter - ${mockito.version} - test - au.com.dius.pact.provider junit5 - 4.5.6 + 4.5.8 test diff --git a/src/main/java/uk/gov/pay/card/app/CardApi.java b/src/main/java/uk/gov/pay/card/app/CardApi.java index 917210df..52dd33af 100644 --- a/src/main/java/uk/gov/pay/card/app/CardApi.java +++ b/src/main/java/uk/gov/pay/card/app/CardApi.java @@ -1,11 +1,11 @@ package uk.gov.pay.card.app; import com.codahale.metrics.health.HealthCheck; -import io.dropwizard.Application; import io.dropwizard.configuration.EnvironmentVariableSubstitutor; import io.dropwizard.configuration.SubstitutingSourceProvider; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; +import io.dropwizard.core.Application; +import io.dropwizard.core.setup.Bootstrap; +import io.dropwizard.core.setup.Environment; import io.prometheus.client.CollectorRegistry; import io.prometheus.client.dropwizard.DropwizardExports; import io.prometheus.client.exporter.MetricsServlet; @@ -21,6 +21,7 @@ import uk.gov.service.payments.logging.GovUkPayDropwizardRequestJsonLogLayoutFactory; import uk.gov.service.payments.logging.LoggingFilter; import uk.gov.service.payments.logging.LogstashConsoleAppenderFactory; +import uk.gov.service.payments.logging.SentryAppenderFactory; import java.util.List; @@ -48,6 +49,7 @@ public void initialize(Bootstrap bootstrap) { ); bootstrap.getObjectMapper().getSubtypeResolver().registerSubtypes(LogstashConsoleAppenderFactory.class); + bootstrap.getObjectMapper().getSubtypeResolver().registerSubtypes(SentryAppenderFactory.class); bootstrap.getObjectMapper().getSubtypeResolver().registerSubtypes(GovUkPayDropwizardRequestJsonLogLayoutFactory.class); } diff --git a/src/main/java/uk/gov/pay/card/app/config/CardConfiguration.java b/src/main/java/uk/gov/pay/card/app/config/CardConfiguration.java index b9ce17dc..c033a98e 100644 --- a/src/main/java/uk/gov/pay/card/app/config/CardConfiguration.java +++ b/src/main/java/uk/gov/pay/card/app/config/CardConfiguration.java @@ -1,7 +1,7 @@ package uk.gov.pay.card.app.config; import com.fasterxml.jackson.annotation.JsonProperty; -import io.dropwizard.Configuration; +import io.dropwizard.core.Configuration; import javax.validation.constraints.NotNull; import java.net.URI; diff --git a/src/main/java/uk/gov/pay/card/resources/HealthCheckResource.java b/src/main/java/uk/gov/pay/card/resources/HealthCheckResource.java index 49c0e983..9227d862 100644 --- a/src/main/java/uk/gov/pay/card/resources/HealthCheckResource.java +++ b/src/main/java/uk/gov/pay/card/resources/HealthCheckResource.java @@ -2,7 +2,7 @@ import com.codahale.metrics.health.HealthCheck; import com.google.common.collect.ImmutableMap; -import io.dropwizard.setup.Environment; +import io.dropwizard.core.setup.Environment; import javax.ws.rs.GET; import javax.ws.rs.Path; diff --git a/src/main/resources/config/config.yaml b/src/main/resources/config/config.yaml index dcef18ec..a7e098a0 100644 --- a/src/main/resources/config/config.yaml +++ b/src/main/resources/config/config.yaml @@ -23,7 +23,7 @@ logging: customFields: container: "cardid" environment: ${ENVIRONMENT} - - type: sentry + - type: pay-dropwizard-3-sentry threshold: ERROR dsn: ${SENTRY_DSN:-https://example.com@dummy/1} environment: ${ENVIRONMENT} diff --git a/src/test/java/uk/gov/pay/card/pact/ConnectorContractTest.java b/src/test/java/uk/gov/pay/card/pact/ConnectorContractTest.java index e2116c94..3955e896 100644 --- a/src/test/java/uk/gov/pay/card/pact/ConnectorContractTest.java +++ b/src/test/java/uk/gov/pay/card/pact/ConnectorContractTest.java @@ -8,10 +8,7 @@ import au.com.dius.pact.provider.junitsupport.Provider; import au.com.dius.pact.provider.junitsupport.loader.PactBroker; import au.com.dius.pact.provider.junitsupport.loader.PactBrokerAuth; -import au.com.dius.pact.provider.junitsupport.loader.PactFolder; import au.com.dius.pact.provider.junitsupport.loader.VersionSelector; -import au.com.dius.pact.provider.junitsupport.target.Target; -import au.com.dius.pact.provider.junitsupport.target.TestTarget; import io.dropwizard.testing.junit5.DropwizardAppExtension; import io.dropwizard.testing.junit5.DropwizardExtensionsSupport; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/uk/gov/pay/card/resources/HealthCheckResourceTest.java b/src/test/java/uk/gov/pay/card/resources/HealthCheckResourceTest.java index ed4838b7..e3f09e65 100644 --- a/src/test/java/uk/gov/pay/card/resources/HealthCheckResourceTest.java +++ b/src/test/java/uk/gov/pay/card/resources/HealthCheckResourceTest.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.jayway.jsonassert.JsonAssert; -import io.dropwizard.setup.Environment; +import io.dropwizard.core.setup.Environment; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith;