* Separate platform and connector testcontainer versions * Fix dependency * Fix dependency * Fix dependency usage * Prevent leaking testcontainer dependencies
94 lines
3.1 KiB
Groovy
94 lines
3.1 KiB
Groovy
import org.jsonschema2pojo.SourceType
|
|
|
|
plugins {
|
|
id 'application'
|
|
id 'com.github.eirnym.js2p' version '1.0'
|
|
id 'airbyte-integration-test-java'
|
|
}
|
|
|
|
configurations {
|
|
jdbc
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'io.fabric8:kubernetes-client:5.12.2'
|
|
implementation 'io.temporal:temporal-sdk:1.8.1'
|
|
implementation 'org.apache.ant:ant:1.10.10'
|
|
implementation 'org.apache.commons:commons-lang3:3.11'
|
|
implementation 'org.apache.commons:commons-text:1.9'
|
|
implementation 'org.eclipse.jetty:jetty-server:9.4.31.v20200723'
|
|
implementation 'org.eclipse.jetty:jetty-servlet:9.4.31.v20200723'
|
|
implementation libs.flyway.core
|
|
|
|
implementation project(':airbyte-analytics')
|
|
implementation project(':airbyte-commons-docker')
|
|
implementation project(':airbyte-config:config-models')
|
|
implementation project(':airbyte-config:config-persistence')
|
|
implementation project(':airbyte-db:jooq')
|
|
implementation project(':airbyte-db:db-lib')
|
|
implementation project(':airbyte-metrics:metrics-lib')
|
|
implementation project(':airbyte-json-validation')
|
|
implementation project(':airbyte-protocol:protocol-models')
|
|
implementation project(':airbyte-scheduler:scheduler-persistence')
|
|
implementation project(':airbyte-scheduler:scheduler-models')
|
|
|
|
testImplementation 'io.temporal:temporal-testing:1.8.1'
|
|
testImplementation 'com.jayway.jsonpath:json-path:2.7.0'
|
|
testImplementation libs.flyway.core
|
|
testImplementation 'org.mockito:mockito-inline:4.0.0'
|
|
testImplementation libs.postgresql
|
|
testImplementation libs.platform.testcontainers
|
|
testImplementation libs.platform.testcontainers.postgresql
|
|
|
|
testImplementation project(':airbyte-commons-docker')
|
|
testImplementation project(':airbyte-test-utils')
|
|
|
|
integrationTestJavaImplementation project(':airbyte-workers')
|
|
}
|
|
|
|
jsonSchema2Pojo {
|
|
sourceType = SourceType.YAMLSCHEMA
|
|
source = files("${sourceSets.main.output.resourcesDir}/workers_models")
|
|
targetDirectory = new File(project.buildDir, 'generated/src/gen/java/')
|
|
removeOldOutput = true
|
|
|
|
targetPackage = 'io.airbyte.scheduler.models'
|
|
|
|
useLongIntegers = true
|
|
generateBuilders = true
|
|
includeConstructors = false
|
|
includeSetters = true
|
|
}
|
|
|
|
mainClassName = 'io.airbyte.workers.WorkerApp'
|
|
|
|
application {
|
|
mainClass = mainClassName
|
|
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
|
|
}
|
|
|
|
task copyGeneratedTar(type: Copy) {
|
|
dependsOn copyDocker
|
|
dependsOn distTar
|
|
|
|
from('build/distributions') {
|
|
include 'airbyte-workers-*.tar'
|
|
}
|
|
into 'build/docker/bin'
|
|
}
|
|
|
|
Task dockerBuildTask = getDockerBuildTask("worker", "$project.projectDir", "$rootProject.ext.version", "$rootProject.ext.image_tag")
|
|
dockerBuildTask.dependsOn(copyGeneratedTar)
|
|
assemble.dependsOn(dockerBuildTask)
|
|
|
|
task cloudStorageIntegrationTest(type: Test) {
|
|
useJUnitPlatform {
|
|
includeTags cloudStorageTestTagName
|
|
}
|
|
testLogging {
|
|
events "passed", "skipped", "failed"
|
|
}
|
|
}
|
|
|
|
Task publishArtifactsTask = getPublishArtifactsTask("$rootProject.ext.version", project)
|