* 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 commit8fa0f74106. * test: enable SSH on EC2 runner * Revert "test: enable SSH on EC2 runner" This reverts commite4867aae09. * Avoid early database connection on startup * Fix compile issues from refactor * Formatting Co-authored-by: perangel <perangel@gmail.com>
77 lines
2.4 KiB
Groovy
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)
|