verspaetung/build.gradle

115 lines
2.9 KiB
Groovy

plugins {
id "com.jfrog.bintray" version "1.0"
id 'com.github.johnrengelman.shadow' version '1.2.0'
}
apply plugin: 'groovy'
apply plugin: 'application'
group = "com.github.lookout"
description = "A utility for monitoring the delay of Kafka consumers"
version = '0.1.7'
mainClassName = 'com.github.lookout.verspaetung.Main'
defaultTasks 'clean', 'check'
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
////////////////////////////////////////////////////////////////////////////////
// TESTING
test {
testLogging {
/* we want more test failure information, see:
* <http://mrhaki.blogspot.com/2013/05/gradle-goodness-show-more-information.html>
*/
exceptionFormat = 'full'
events "passed", "skipped", "failed", "standardOut", "standardError"
}
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// DEPENDENCY MANAGEMENT
repositories {
mavenCentral()
jcenter()
maven { url 'https://dl.bintray.com/rtyler/maven' }
maven { url 'https://dl.bintray.com/lookout/systems' }
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.0+'
[
'curator-framework',
'curator-recipes',
].each { artifactName ->
compile("org.apache.curator:${artifactName}:2.7.0")
}
/* We need the Kafka client libraries so we can fetch broker metadata
* directly from the cluster
*/
compile 'org.apache.kafka:kafka_2.10:0.8.1.+'
/* Needed for command line options parsing */
compile 'commons-cli:commons-cli:1.2+'
compile 'com.github.lookout:metrics-datadog:0.1.3'
['metrics-core', 'metrics-graphite'].each { artifactName ->
compile "io.dropwizard.metrics:${artifactName}:3.1.0"
}
/* Logback is to be used for logging through the app */
compile 'ch.qos.logback:logback-classic:1.1.2+'
testCompile 'org.spockframework:spock-core:0.7-groovy-2.0'
testCompile 'cglib:cglib-nodep:2.2.+'
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
jar {
enabled = false
}
shadowJar {
exclude 'META-INF/*.RSA', 'META-INF/*.DSA'
manifest {
attributes 'Main-Class' : mainClassName
}
dependsOn check
}
assemble.dependsOn shadowJar
artifacts {
archives shadowJar
}
bintray {
user = project.bintrayUser
key = project.bintrayKey
publish = true
dryRun = false
configurations = ['archives']
pkg {
userOrg = 'lookout'
repo = 'systems'
name = 'verspaetung'
labels = []
version {
name = project.version
vcsTag = "v${project.version}"
desc = project.description
}
}
}
bintrayUpload.dependsOn assemble
////////////////////////////////////////////////////////////////////////////////