github.com/apache/beam/sdks/v2@v2.48.2/java/io/debezium/build.gradle (about)

     1  /*
     2   * Licensed to the Apache Software Foundation (ASF) under one
     3   * or more contributor license agreements.  See the NOTICE file
     4   * distributed with this work for additional information
     5   * regarding copyright ownership.  The ASF licenses this file
     6   * to you under the Apache License, Version 2.0 (the
     7   * License); you may not use this file except in compliance
     8   * with the License.  You may obtain a copy of the License at
     9   *
    10   *     http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an AS IS BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  import groovy.json.JsonOutput
    19  
    20  plugins { id 'org.apache.beam.module' }
    21  applyJavaNature(
    22          automaticModuleName: 'org.apache.beam.sdk.io.debezium',
    23          mavenRepositories: [
    24                  [id: 'io.confluent', url: 'https://packages.confluent.io/maven/']
    25          ],
    26          enableSpotbugs: false,
    27  )
    28  provideIntegrationTestingDependencies()
    29  
    30  description = "Apache Beam :: SDKs :: Java :: IO :: Debezium"
    31  ext.summary = "Library to work with Debezium data."
    32  
    33  dependencies {
    34      implementation library.java.vendored_guava_26_0_jre
    35      implementation library.java.vendored_grpc_1_54_0
    36      implementation project(path: ":sdks:java:core", configuration: "shadow")
    37      implementation library.java.slf4j_api
    38      implementation library.java.joda_time
    39      provided library.java.jackson_dataformat_csv
    40      permitUnusedDeclared library.java.jackson_dataformat_csv
    41      testImplementation project(path: ":sdks:java:core", configuration: "shadowTest")
    42      testImplementation project(path: ":sdks:java:io:common", configuration: "testRuntimeMigration")
    43  
    44      // Test dependencies
    45      testImplementation library.java.junit
    46      testImplementation project(path: ":sdks:java:io:jdbc")
    47      testRuntimeOnly library.java.slf4j_jdk14
    48      testRuntimeOnly project(path: ":runners:direct-java", configuration: "shadow")
    49      testImplementation project(":runners:google-cloud-dataflow-java")
    50      testImplementation library.java.hamcrest
    51      testImplementation library.java.testcontainers_base
    52      testImplementation library.java.testcontainers_mysql
    53      testImplementation library.java.testcontainers_postgresql
    54  
    55      // Kafka connect dependencies
    56      implementation "org.apache.kafka:connect-api:2.5.0"
    57      implementation "org.apache.kafka:connect-json:2.5.0"
    58      permitUnusedDeclared "org.apache.kafka:connect-json:2.5.0" // BEAM-11761
    59  
    60      // Debezium dependencies
    61      implementation group: 'io.debezium', name: 'debezium-core', version: '1.3.1.Final'
    62      testImplementation group: 'io.debezium', name: 'debezium-connector-mysql', version: '1.3.1.Final'
    63      testImplementation group: 'io.debezium', name: 'debezium-connector-postgres', version: '1.3.1.Final'
    64  }
    65  
    66  test {
    67      testLogging {
    68          outputs.upToDateWhen {false}
    69          showStandardStreams = true
    70      }
    71  }
    72  
    73  
    74  task integrationTest(type: Test, dependsOn: processTestResources) {
    75    group = "Verification"
    76    systemProperty "beamTestPipelineOptions", JsonOutput.toJson([
    77            "--runner=DirectRunner",
    78    ])
    79  
    80    // Disable Gradle cache: these ITs interact with live service that should always be considered "out of date"
    81    outputs.upToDateWhen { false }
    82  
    83    include '**/*IT.class'
    84    classpath = sourceSets.test.runtimeClasspath
    85    testClassesDirs = sourceSets.test.output.classesDirs
    86  
    87    useJUnit {
    88    }
    89  }