blob: 7cbe7fc93c2be415826d2696eb618f66dcdc0326 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* License); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import groovy.json.JsonOutput
plugins { id 'org.apache.beam.module' }
applyJavaNature(
automaticModuleName: 'org.apache.beam.sdk.io.debezium',
mavenRepositories: [
[id: 'io.confluent', url: 'https://packages.confluent.io/maven/']
],
enableSpotbugs: false,
)
provideIntegrationTestingDependencies()
description = "Apache Beam :: SDKs :: Java :: IO :: Debezium"
ext.summary = "Library to work with Debezium data."
dependencies {
implementation library.java.vendored_guava_32_1_2_jre
implementation library.java.vendored_grpc_1_60_1
implementation project(path: ":sdks:java:core", configuration: "shadow")
implementation library.java.slf4j_api
implementation library.java.joda_time
provided library.java.jackson_dataformat_csv
permitUnusedDeclared library.java.jackson_dataformat_csv
testImplementation project(path: ":sdks:java:core", configuration: "shadowTest")
testImplementation project(path: ":sdks:java:io:common", configuration: "testRuntimeMigration")
// Test dependencies
testImplementation library.java.junit
testImplementation project(path: ":sdks:java:io:jdbc")
testRuntimeOnly library.java.slf4j_jdk14
testRuntimeOnly project(path: ":runners:direct-java", configuration: "shadow")
testImplementation project(":runners:google-cloud-dataflow-java")
testImplementation library.java.hamcrest
testImplementation library.java.testcontainers_base
testImplementation library.java.testcontainers_mysql
testImplementation library.java.testcontainers_postgresql
// Kafka connect dependencies
implementation "org.apache.kafka:connect-api:2.5.0"
implementation "org.apache.kafka:connect-json:2.5.0"
permitUnusedDeclared "org.apache.kafka:connect-json:2.5.0" // BEAM-11761
// Debezium dependencies
implementation group: 'io.debezium', name: 'debezium-core', version: '1.3.1.Final'
testImplementation group: 'io.debezium', name: 'debezium-connector-mysql', version: '1.3.1.Final'
testImplementation group: 'io.debezium', name: 'debezium-connector-postgres', version: '1.3.1.Final'
}
test {
testLogging {
outputs.upToDateWhen {false}
showStandardStreams = true
}
}
task integrationTest(type: Test, dependsOn: processTestResources) {
group = "Verification"
systemProperty "beamTestPipelineOptions", JsonOutput.toJson([
"--runner=DirectRunner",
])
// Disable Gradle cache: these ITs interact with live service that should always be considered "out of date"
outputs.upToDateWhen { false }
include '**/*IT.class'
classpath = sourceSets.test.runtimeClasspath
testClassesDirs = sourceSets.test.output.classesDirs
useJUnit {
}
}