blob: 7239e45baa1824d1eb06ce9f57c237df89289909 [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.
*/
plugins {
id "com.google.protobuf" version "0.8.8"
// Bump up version to 0.9.1 in order for generateAvro task to work with Gradle 5
id "com.commercehub.gradle.plugin.avro-base" version "0.9.1"
}
apply plugin: 'java'
dependencies {
compile project(":gobblin-api")
compile project(":gobblin-modules:gobblin-codecs")
compile project(":gobblin-utility")
compile externalDependency.commonsCodec
compile externalDependency.avro
compile externalDependency.slf4j
compile externalDependency.typesafeConfig
compile externalDependency.findBugsAnnotations
compile externalDependency.protobuf
testCompile externalDependency.testng
testCompile externalDependency.mockito
}
sourceSets {
main {
java {
srcDir 'src/main/gen-proto'
srcDir 'src/main/gen-avro'
}
resources {
srcDir 'src/main/proto'
srcDir 'src/main/avro'
}
}
}
/**
clean.doFirst {
delete file("${projectDir}/src/main/gen-proto/").listFiles()
delete file("${projectDir}/src/main/gen-avro/").listFiles()
}
**/
test {
workingDir rootProject.rootDir
}
protobuf {
generatedFilesBaseDir = "$projectDir/src/main/gen-proto"
protoc {
artifact = "com.google.protobuf:protoc:3.6.1"
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:1.19.0"
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
}
}
avro {
stringType = "string"
}
task generateAvro(type: com.commercehub.gradle.plugin.avro.GenerateAvroJavaTask) {
source("src/main/avro")
outputDir = file("src/main/gen-avro")
}
compileJava {
dependsOn tasks.generateAvro
}
checkstyleMain.source = ['src/main/java','src/test/java']
findbugs {
excludeFilter = file("buildConfig/findbugs-exclude-filter.xml")
}
ext.classification="library"