github.com/apache/beam/sdks/v2@v2.48.2/java/io/clickhouse/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  
    19  plugins {
    20    id 'org.apache.beam.module'
    21    id 'ca.coglinc.javacc'
    22  }
    23  applyJavaNature(
    24    automaticModuleName: 'org.apache.beam.sdk.io.clickhouse',
    25    generatedClassPatterns: [
    26      /^org\.apache\.beam\.sdk\.io\.clickhouse\.impl\.parser\..*/,
    27    ],
    28    // javacc generated code produces lint warnings
    29    disableLintWarnings: ['dep-ann'],
    30  )
    31  
    32  description = "Apache Beam :: SDKs :: Java :: IO :: ClickHouse"
    33  ext.summary = "IO to write to ClickHouse (https://clickhouse.yandex)."
    34  
    35  // Match the output directory for generated code with the package, to be more tool-friendly
    36  def generatedJavaccSourceDir = "${project.buildDir}/generated/javacc"
    37  def generatedJavaccPackageDir =
    38          "${generatedJavaccSourceDir}/org/apache/beam/sdk/io/clickhouse/impl/parser"
    39  compileJavacc {
    40    outputDirectory = file(generatedJavaccPackageDir)
    41    arguments = [static: "false"]
    42  }
    43  
    44  // Help IntelliJ finding generated code
    45  idea {
    46    module {
    47      sourceDirs += file(generatedJavaccSourceDir)
    48      generatedSourceDirs += file(generatedJavaccSourceDir)
    49    }
    50  }
    51  
    52  def clickhouse_jdbc_version = "0.3.2-patch10"
    53  
    54  dependencies {
    55    javacc "net.java.dev.javacc:javacc:7.0.9"
    56    implementation project(path: ":sdks:java:core", configuration: "shadow")
    57    implementation library.java.guava
    58    implementation library.java.joda_time
    59    implementation library.java.slf4j_api
    60    implementation library.java.vendored_guava_26_0_jre
    61    implementation "com.clickhouse:clickhouse-jdbc:$clickhouse_jdbc_version:all"
    62    testImplementation library.java.slf4j_api
    63    testImplementation library.java.junit
    64    testImplementation library.java.hamcrest
    65    testImplementation library.java.testcontainers_clickhouse
    66    testRuntimeOnly library.java.slf4j_jdk14
    67    testRuntimeOnly project(path: ":runners:direct-java", configuration: "shadow")
    68  }
    69  
    70  processTestResources {
    71    // BEAM-12390: config.d/zookeeper_default.xml should have xx4 permission.
    72    fileMode 0644
    73  }