Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.gradle 6.62 KiB
plugins {
    id 'com.google.protobuf' version "$gradleProtobufPluginVersion"
}

apply from: "$gradleUtilsRepository/jacoco.gradle/raw?ref=$gradleUtilsVersion"

configurations.configureEach {
    exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
    exclude group: "org.slf4j", module: "slf4j-log4j12"
    exclude group: "log4j", module: "log4j"
    exclude group: "log4j", module: "apache-log4j-extras"
}

dependencies {
    api group: 'org.apache.avro', name: 'avro', version: avroVersion
    api group: 'org.apache.commons', name: 'commons-lang3', version: apacheCommonsLangVersion

    api group: 'com.google.guava', name: 'guava', version: guavaVersion

    api group: 'org.aspectj', name: 'aspectjweaver', version: aspectjVersion
    api group: 'org.aspectj', name: 'aspectjrt', version: aspectjVersion

    api group: 'org.hibernate.validator', name: 'hibernate-validator', version: hibernateValidatorVersion

    api group: 'com.typesafe', name: 'config', version: typesafeConfigVersion

    api group: 'commons-codec', name: 'commons-codec', version: commonsCodecVersion

    api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: fasterxmlJacksonVersion
    api group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: fasterxmlJacksonVersion
    api group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: fasterxmlJacksonVersion

    compileOnly group: 'io.grpc', name: 'grpc-protobuf', version: grpcVersion
    compileOnly group: 'io.grpc', name: 'grpc-stub', version: grpcVersion

    // https://mvnrepository.com/artifact/com.github.rutledgepaulv/q-builders
    api group: 'com.github.rutledgepaulv', name: 'q-builders', version: qbuildersVersion

    compileOnly('org.apache.hadoop:hadoop-client:' + hadoopVersion) {
        //Hadoop brings older version of servlet-api that we need to exclude
        exclude group: 'javax.servlet'
        exclude group: 'javax.servlet.jsp'
        exclude group: 'org.apache.avro'
        exclude group: 'ch.qos.reload4j', module: 'reload4j'
        exclude group: 'org.slf4j', module: 'slf4j-reload4j'
    }


    compileOnly group: 'cern.cmw', name: "cmw-datax", version: cmwDataxVersion

    compileOnly group: 'org.springframework', name: 'spring-context', version: springVersion
    compileOnly group: 'org.springframework.boot', name: 'spring-boot-actuator-autoconfigure', version: springBootVersion

    compileOnly group: 'io.micrometer', name: 'micrometer-core', version: micrometerVersion
    compileOnly group: 'io.micrometer', name: 'micrometer-registry-jmx', version: micrometerVersion

    compileOnly(group: 'org.apache.spark', name: 'spark-core_2.12', version: sparkVersion) {
        exclude group: 'org.apache.avro', module: 'avro'
        exclude group: 'org.apache.avro', module: 'avro-mapred'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl'
        exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
        exclude group: 'org.apache.spark', module: 'spark-common-utils_2.12'
    }
    compileOnly(group: 'org.apache.spark', name: 'spark-yarn_2.12', version: sparkVersion) {
        exclude group: 'org.apache.avro', module: 'avro'
        exclude group: 'org.apache.avro', module: 'avro-mapred'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl'
        exclude group: 'org.apache.spark', module: 'spark-core_2.12'
    }
    compileOnly(group: 'org.apache.spark', name: 'spark-sql_2.12', version: sparkVersion) {
        exclude group: 'com.fasterxml.jackson.datatype', module: 'jackson-datatype-jsr310'
        exclude group: 'org.apache.avro', module: 'avro'
        exclude group: 'org.apache.avro', module: 'avro-mapred'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl'
        exclude group: 'org.apache.spark', module: 'spark-core_2.12'
        exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
        exclude group: 'org.apache.spark', module: 'spark-common-utils_2.12'
    }
    compileOnly(group: 'org.apache.spark', name: 'spark-hive_2.12', version: sparkVersion) {
        exclude group: 'org.apache.avro', module: 'avro'
        exclude group: 'org.apache.avro', module: 'avro-mapred'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl'
        exclude group: 'org.apache.spark', module: 'spark-core_2.12'
    }

    compileOnly(group: "org.apache.spark", name: "spark-common-utils_2.12", version: sparkVersion) {
        exclude group: 'com.fasterxml.jackson.module', module: 'jackson-module-scala_2.12'
        exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j2-impl'
        exclude group: 'org.slf4j', module: 'slf4j-api'
        exclude group: 'org.slf4j', module: 'jcl-over-slf4j'
        exclude group: 'org.slf4j', module: 'jul-to-slf4j'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-core'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-api'
        exclude group: 'org.apache.logging.log4j', module: 'log4j-1.2-api'
    }

    compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4jVersion
    compileOnly group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: log4jVersion

    compileOnly group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitJupiterVersion
    compileOnly group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junitJupiterVersion

    testImplementation group: 'org.slf4j', name: 'log4j-over-slf4j', version: slf4jVersion
    testImplementation group: 'org.assertj', name: 'assertj-core', version: assertjCoreVersion
    testImplementation group: 'org.springframework.boot', name: 'spring-boot-test', version: springBootVersion
    testImplementation group: 'org.springframework', name: 'spring-test', version: springVersion
    testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoVersion

    testImplementation(group: 'org.apache.spark', name: 'spark-avro_2.12', version: sparkVersion) {
        exclude group: 'ch.qos.reload4j', module: 'reload4j'
        exclude group: 'org.slf4j', module: 'slf4j-reload4j'
    }
}

protobuf {
    protoc { artifact = "com.google.protobuf:protoc:$protobufVersion" }
    plugins {
        grpc { artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion" }
    }
    generateProtoTasks {
        all()*.plugins { grpc {} }
        all().each { task ->
            task.builtins {
                // Generates Python code in the output folder:
                python {}

            }
        }
    }
}

test {
    maxParallelForks = 4
}