1
0
mirror of synced 2026-01-17 03:06:35 -05:00
Files
airbyte/airbyte-bootloader/build.gradle
Jonathan Pearlin 7676af5f5f Migrate airbyte-bootloader to Micronaut (#21073)
* Migrate airbyte-bootloader to Micronaut

* PR feedback

* More PR feedback

* Rename variable for clarity

* Add properties to support cloud

* Formatting

* Use default values for env vars

* Re-organization to support cloud overrides

* Disable conditional logging

* More singleton cleanup

* test: try CI without fluentbit

* Revert "test: try CI without fluentbit"

This reverts commit 8fa0f74106.

* test: enable SSH on EC2 runner

* Revert "test: enable SSH on EC2 runner"

This reverts commit e4867aae09.

* Avoid early database connection on startup

* Fix compile issues from refactor

* Formatting

Co-authored-by: perangel <perangel@gmail.com>
2023-01-12 09:47:25 -05:00

77 lines
2.4 KiB
Groovy

plugins {
id 'application'
}
dependencies {
annotationProcessor platform(libs.micronaut.bom)
annotationProcessor libs.bundles.micronaut.annotation.processor
implementation platform(libs.micronaut.bom)
implementation libs.bundles.micronaut
// Ensure that the versions defined in deps.toml are used
// instead of versions from transitive dependencies
implementation (libs.flyway.core) {
force = true
}
implementation (libs.jooq) {
force = true
}
implementation project(':airbyte-config:init')
implementation project(':airbyte-config:config-models')
implementation project(':airbyte-config:config-persistence')
implementation project(':airbyte-db:db-lib')
implementation project(":airbyte-json-validation")
implementation project(':airbyte-protocol:protocol-models')
implementation project(':airbyte-persistence:job-persistence')
testAnnotationProcessor platform(libs.micronaut.bom)
testAnnotationProcessor libs.bundles.micronaut.test.annotation.processor
testImplementation libs.bundles.micronaut.test
testImplementation libs.bundles.junit
testImplementation libs.junit.jupiter.system.stubs
testImplementation libs.platform.testcontainers.postgresql
}
mainClassName = 'io.airbyte.bootloader.Application'
application {
applicationName = project.name
mainClass = mainClassName
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
}
Properties env = new Properties()
rootProject.file('.env.dev').withInputStream { env.load(it) }
run {
// default for running on local machine.
env.each { entry ->
environment entry.getKey(), entry.getValue()
}
environment 'AIRBYTE_ROLE', System.getenv('AIRBYTE_ROLE')
environment 'AIRBYTE_VERSION', env.VERSION
environment 'DATABASE_URL', 'jdbc:postgresql://localhost:5432/airbyte'
}
test {
// Required to enable mocked beans
systemProperty("mockito.test.enabled", "true")
}
// produce reproducible archives
// (see https://docs.gradle.org/current/userguide/working_with_files.html#sec:reproducible_archives)
tasks.withType(AbstractArchiveTask) {
preserveFileTimestamps = false
reproducibleFileOrder = true
}
tasks.named("buildDockerImage") {
dependsOn copyGeneratedTar
}
Task publishArtifactsTask = getPublishArtifactsTask("$rootProject.ext.version", project)