Skip to content

Commit

Permalink
Micronaut 4.x (#10802)
Browse files Browse the repository at this point in the history
Co-authored-by: Jose Pefaur <[email protected]>
  • Loading branch information
jdpgrailsdev and jpefaur committed Mar 7, 2024
1 parent 2eab3ad commit 75a3855
Show file tree
Hide file tree
Showing 241 changed files with 1,560 additions and 1,501 deletions.
8 changes: 4 additions & 4 deletions airbyte-analytics/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ plugins {
}

dependencies {
kapt(platform(libs.micronaut.bom))
kapt(platform(libs.micronaut.platform))
kapt(libs.bundles.micronaut.annotation.processor)

api(libs.segment.java.analytics)
api(libs.micronaut.http)
api(libs.bundles.micronaut.annotation)
api(libs.micronaut.kotlin.extensions)
api(libs.bundles.micronaut.kotlin)
api(libs.kotlin.logging)
api(project(":airbyte-commons"))
api(project(":airbyte-config:config-models"))
api(project(":airbyte-api"))


testAnnotationProcessor(platform(libs.micronaut.bom))
testAnnotationProcessor(platform(libs.micronaut.platform))
testAnnotationProcessor(libs.bundles.micronaut.test.annotation.processor)
testImplementation(libs.bundles.junit)
testImplementation(libs.assertj.core)
Expand All @@ -36,4 +36,4 @@ afterEvaluate {
tasks.named("kaptGenerateStubsTestKotlin") {
enabled = false
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -176,18 +176,17 @@ class SegmentTrackingClientTest {
every { httpHeaders.get(SegmentTrackingClient.AIRBYTE_ANALYTIC_SOURCE_HEADER) } returns analyticSource
every { httpRequest.headers } returns httpHeaders

ServerRequestContext.set(httpRequest)

val metadata: Map<String?, Any?>? =
mapOf(
SegmentTrackingClient.AIRBYTE_VERSION_KEY to airbyteVersion.serialize(),
EMAIL_KEY to EMAIL,
"height" to "80 meters",
"user_id" to identity.customerId,
SegmentTrackingClient.AIRBYTE_SOURCE to SegmentTrackingClient.UNKNOWN,
)
segmentTrackingClient.track(workspaceId, JUMP, metadata)

ServerRequestContext.with(httpRequest) {
val metadata: Map<String?, Any?>? =
mapOf(
SegmentTrackingClient.AIRBYTE_VERSION_KEY to airbyteVersion.serialize(),
EMAIL_KEY to EMAIL,
"height" to "80 meters",
"user_id" to identity.customerId,
SegmentTrackingClient.AIRBYTE_SOURCE to SegmentTrackingClient.UNKNOWN,
)
segmentTrackingClient.track(workspaceId, JUMP, metadata)
}
verify(exactly = 1) { analytics.enqueue(any()) }
val actual = builderSlot.captured.build()
Assertions.assertEquals(
Expand Down
26 changes: 13 additions & 13 deletions airbyte-api-server/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,50 +10,50 @@ plugins {
}

dependencies {
kapt(platform(libs.micronaut.bom))
kapt(platform(libs.micronaut.platform))
kapt(libs.bundles.micronaut.annotation.processor)
kapt(libs.micronaut.jaxrs.processor)

kaptTest(platform(libs.micronaut.bom))
kaptTest(platform(libs.micronaut.platform))
kaptTest(libs.bundles.micronaut.test.annotation.processor)
kaptTest(libs.micronaut.jaxrs.processor)

annotationProcessor(platform(libs.micronaut.bom))
annotationProcessor(platform(libs.micronaut.platform))
annotationProcessor(libs.bundles.micronaut.annotation.processor)
annotationProcessor(libs.micronaut.jaxrs.processor)

implementation(project(":airbyte-analytics"))
implementation(project(":airbyte-api"))
implementation(project(":airbyte-commons"))
implementation(project(":airbyte-config:config-models"))
implementation("com.cronutils:cron-utils:9.2.1")
implementation("org.apache.logging.log4j:log4j-slf4j2-impl")
implementation(platform(libs.micronaut.platform))
implementation(libs.cron.utils)
implementation(libs.log4j.slf4j2.impl)
implementation(libs.bundles.jackson)

implementation(platform(libs.micronaut.bom))
implementation(libs.bundles.micronaut)
implementation(libs.bundles.micronaut.data.jdbc)
implementation(libs.bundles.micronaut.metrics)
implementation(libs.micronaut.jaxrs.server)
implementation(libs.micronaut.problem.json)
implementation(libs.micronaut.security)

implementation(libs.sentry.java)
implementation(libs.swagger.annotations)
implementation(libs.javax.ws.rs.api)
implementation(libs.jakarta.ws.rs.api)
implementation(libs.airbyte.protocol)

runtimeOnly(libs.javax.databind)
runtimeOnly(libs.snakeyaml)

testImplementation(libs.bundles.micronaut.test)
testAnnotationProcessor(platform(libs.micronaut.bom))
testAnnotationProcessor(platform(libs.micronaut.platform))
testAnnotationProcessor(libs.bundles.micronaut.test.annotation.processor)
testAnnotationProcessor(libs.micronaut.jaxrs.processor)

testImplementation(project(":airbyte-test-utils"))
testImplementation(libs.bundles.micronaut.test)
testImplementation(libs.postgresql)
testImplementation(libs.platform.testcontainers.postgresql)
testImplementation(libs.mockwebserver)
testImplementation(libs.mockito.inline)

implementation(libs.airbyte.protocol)
}

kapt {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ package io.airbyte.api.server.apiTracking
import io.airbyte.analytics.TrackingClient
import io.micronaut.http.HttpStatus
import jakarta.inject.Singleton
import jakarta.ws.rs.core.Response
import org.zalando.problem.AbstractThrowableProblem
import java.util.Optional
import java.util.UUID
import java.util.concurrent.Callable
import javax.ws.rs.core.Response

/**
* Helper for segment tracking used by the public-api server.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ import io.airbyte.api.server.services.SourceService
import io.airbyte.api.server.services.UserService
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Patch
import jakarta.ws.rs.core.Response
import java.util.Objects
import java.util.UUID
import javax.ws.rs.core.Response

@Controller(CONNECTIONS_PATH)
open class ConnectionsController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import io.airbyte.api.server.constants.ROOT_PATH
import io.airbyte.api.server.controllers.interfaces.DefaultApi
import io.micronaut.context.annotation.Value
import io.micronaut.http.annotation.Controller
import jakarta.ws.rs.core.Response
import java.net.URI
import javax.ws.rs.core.Response

@Controller(ROOT_PATH)
open class DefaultController() : DefaultApi {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ import io.airbyte.api.server.services.DestinationService
import io.airbyte.api.server.services.UserService
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Patch
import jakarta.ws.rs.core.Response
import java.util.UUID
import javax.ws.rs.core.Response

@Controller(DESTINATIONS_PATH)
open class DestinationsController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import io.micronaut.http.annotation.Controller
import io.micronaut.scheduling.annotation.ExecuteOn
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import javax.ws.rs.GET
import jakarta.ws.rs.GET

/**
* Health endpoint used by kubernetes and the gcp load balancer.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ import io.airbyte.api.server.services.JobService
import io.airbyte.api.server.services.UserService
import io.airbyte.commons.enums.Enums
import io.micronaut.http.annotation.Controller
import jakarta.ws.rs.DELETE
import jakarta.ws.rs.GET
import jakarta.ws.rs.HeaderParam
import jakarta.ws.rs.Path
import jakarta.ws.rs.PathParam
import jakarta.ws.rs.core.Response
import java.time.OffsetDateTime
import java.util.UUID
import javax.ws.rs.DELETE
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.core.Response

@Controller(JOBS_PATH)
open class JobsController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import io.airbyte.api.server.services.SourceService
import io.airbyte.api.server.services.UserService
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Patch
import jakarta.ws.rs.core.Response
import java.util.UUID
import javax.ws.rs.core.Response

// Marked as open because when not marked, micronaut failed to start up because generated beans couldn't extend this one since it was "final"
@Controller(SOURCES_PATH)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ import io.airbyte.api.server.services.SourceService
import io.airbyte.api.server.services.UserService
import io.micronaut.http.HttpStatus
import io.micronaut.http.annotation.Controller
import jakarta.ws.rs.core.Response
import org.slf4j.LoggerFactory
import java.io.IOException
import java.util.UUID
import javax.ws.rs.core.Response

@Controller(STREAMS_PATH)
class StreamsController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import io.airbyte.api.server.constants.WORKSPACES_PATH
import io.airbyte.api.server.controllers.interfaces.WorkspacesApi
import io.airbyte.api.server.services.WorkspaceService
import io.micronaut.http.annotation.Controller
import jakarta.ws.rs.PATCH
import jakarta.ws.rs.Path
import jakarta.ws.rs.core.Response
import java.util.UUID
import javax.ws.rs.PATCH
import javax.ws.rs.Path
import javax.ws.rs.core.Response

@Controller(WORKSPACES_PATH)
open class WorkspacesController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,24 @@ import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import jakarta.annotation.Generated
import jakarta.validation.Valid
import jakarta.validation.constraints.Max
import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotNull
import jakarta.ws.rs.Consumes
import jakarta.ws.rs.DELETE
import jakarta.ws.rs.DefaultValue
import jakarta.ws.rs.GET
import jakarta.ws.rs.HeaderParam
import jakarta.ws.rs.PATCH
import jakarta.ws.rs.POST
import jakarta.ws.rs.Path
import jakarta.ws.rs.PathParam
import jakarta.ws.rs.Produces
import jakarta.ws.rs.QueryParam
import jakarta.ws.rs.core.Response
import java.util.UUID
import javax.annotation.Generated
import javax.validation.Valid
import javax.validation.constraints.Max
import javax.validation.constraints.Min
import javax.validation.constraints.NotNull
import javax.ws.rs.Consumes
import javax.ws.rs.DELETE
import javax.ws.rs.DefaultValue
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.PATCH
import javax.ws.rs.POST
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.Response

@Path("/v1/connections")
@Api(description = "the connections API")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import javax.annotation.Generated
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.Path
import javax.ws.rs.Produces
import javax.ws.rs.core.Response
import jakarta.annotation.Generated
import jakarta.ws.rs.GET
import jakarta.ws.rs.HeaderParam
import jakarta.ws.rs.Path
import jakarta.ws.rs.Produces
import jakarta.ws.rs.core.Response

@Path("/v1")
@Api(description = "the default API")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@ import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import jakarta.annotation.Generated
import jakarta.validation.Valid
import jakarta.validation.constraints.Max
import jakarta.validation.constraints.Min
import jakarta.ws.rs.Consumes
import jakarta.ws.rs.DELETE
import jakarta.ws.rs.DefaultValue
import jakarta.ws.rs.GET
import jakarta.ws.rs.HeaderParam
import jakarta.ws.rs.PATCH
import jakarta.ws.rs.POST
import jakarta.ws.rs.PUT
import jakarta.ws.rs.Path
import jakarta.ws.rs.PathParam
import jakarta.ws.rs.Produces
import jakarta.ws.rs.QueryParam
import jakarta.ws.rs.core.Response
import java.util.UUID
import javax.annotation.Generated
import javax.validation.Valid
import javax.validation.constraints.Max
import javax.validation.constraints.Min
import javax.ws.rs.Consumes
import javax.ws.rs.DELETE
import javax.ws.rs.DefaultValue
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.PATCH
import javax.ws.rs.POST
import javax.ws.rs.PUT
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.Response

@Path("/v1/destinations")
@Api(description = "the destinations API")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,25 @@ import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import jakarta.annotation.Generated
import jakarta.validation.Valid
import jakarta.validation.constraints.Max
import jakarta.validation.constraints.Min
import jakarta.validation.constraints.NotNull
import jakarta.validation.constraints.Pattern
import jakarta.ws.rs.Consumes
import jakarta.ws.rs.DELETE
import jakarta.ws.rs.DefaultValue
import jakarta.ws.rs.GET
import jakarta.ws.rs.HeaderParam
import jakarta.ws.rs.POST
import jakarta.ws.rs.Path
import jakarta.ws.rs.PathParam
import jakarta.ws.rs.Produces
import jakarta.ws.rs.QueryParam
import jakarta.ws.rs.core.Response
import java.time.OffsetDateTime
import java.util.UUID
import javax.annotation.Generated
import javax.validation.Valid
import javax.validation.constraints.Max
import javax.validation.constraints.Min
import javax.validation.constraints.NotNull
import javax.validation.constraints.Pattern
import javax.ws.rs.Consumes
import javax.ws.rs.DELETE
import javax.ws.rs.DefaultValue
import javax.ws.rs.GET
import javax.ws.rs.HeaderParam
import javax.ws.rs.POST
import javax.ws.rs.Path
import javax.ws.rs.PathParam
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam
import javax.ws.rs.core.Response

@Path("/v1/jobs")
@Api(description = "the jobs API")
Expand Down
Loading

0 comments on commit 75a3855

Please sign in to comment.