plugins { id 'application' } dependencies { 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-scheduler:scheduler-persistence') implementation 'io.temporal:temporal-sdk:1.8.1' implementation libs.flyway.core testImplementation libs.platform.testcontainers.postgresql testImplementation 'uk.org.webcompere:system-stubs-jupiter:1.2.0' } application { applicationName = "airbyte-bootloader" mainClass = 'io.airbyte.bootloader.BootloaderApp' applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0'] } task copyGeneratedTar(type: Copy) { dependsOn copyDocker dependsOn distTar from('build/distributions') { include 'airbyte-bootloader-*.tar' } into 'build/docker/bin' } Task dockerBuildTask = getDockerBuildTask("bootloader", "$project.projectDir", "$rootProject.ext.version", "$rootProject.ext.image_tag") dockerBuildTask.dependsOn(copyGeneratedTar) assemble.dependsOn(dockerBuildTask) // produce reproducible archives // (see https://docs.gradle.org/current/userguide/working_with_files.html#sec:reproducible_archives) tasks.withType(AbstractArchiveTask) { preserveFileTimestamps = false reproducibleFileOrder = true } Task publishArtifactsTask = getPublishArtifactsTask("$rootProject.ext.version", project)