forked from mesos/kafka
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
101 lines (88 loc) · 2.71 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
plugins {
id 'scala'
id 'idea'
id 'distribution'
id 'de.undercouch.download' version '2.1.0'
}
version = new File('src/scala/ly/stealth/mesos/kafka/Scheduler.scala').readLines().findResult(
{ x -> x.contains("new Version(\"") ? x.substring(x.indexOf("new Version(\"") + 13, x.lastIndexOf("\")")) : null })
jar.archiveName = "kafka-mesos-${version}.jar"
def mesosVersion="0.28.1"
def kafkaVersion="0.10.0.0"
def kafkaScalaVersion="2.11"
def scalaVersion="2.11.6"
repositories {
mavenCentral()
flatDir { dirs 'lib' }
}
buildDir = 'out/gradle'
libsDirName = '../../'
distsDirName = '../../'
sourceSets {
main {
scala { srcDirs = ['src/scala'] }
}
test {
scala { srcDirs = ['src/test'] }
}
}
def jettyVersion = "9.0.4.v20130625"
dependencies {
compile "org.scala-lang:scala-library:$scalaVersion"
compile "org.apache.mesos:mesos:$mesosVersion"
compile name: "util-mesos-0.1.0.0"
compile "com.google.protobuf:protobuf-java:2.5.0"
compile "log4j:log4j:1.2.17"
compile "net.sf.jopt-simple:jopt-simple:4.8"
compile "org.eclipse.jetty:jetty-http:$jettyVersion"
compile "org.eclipse.jetty:jetty-io:$jettyVersion"
compile "org.eclipse.jetty:jetty-security:$jettyVersion"
compile "org.eclipse.jetty:jetty-server:$jettyVersion"
compile "org.eclipse.jetty:jetty-servlet:$jettyVersion"
compile "org.eclipse.jetty:jetty-util:$jettyVersion"
compile "javax.servlet:javax.servlet-api:3.0.1"
testCompile 'junit:junit:4.12'
compile ("org.apache.kafka:kafka_$kafkaScalaVersion:$kafkaVersion") {
exclude group: "javax.jms"
exclude group: "com.sun.jdmk"
exclude group: "com.sun.jmx"
exclude group: "junit"
exclude group: "jline"
}
}
jar {
dependsOn 'test'
doFirst {
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "*"
exclude "about_files/*"
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
}
manifest.attributes("Main-Class": "ly.stealth.mesos.kafka.Cli")
}
task wrapper(type: Wrapper) {
gradleVersion = '2.8'
}
distributions.main {
contents {
from(rootDir) {
include jar.archiveName
include "README.md"
include "LICENSE"
include "kafka-mesos.properties"
include "kafka-mesos.sh"
}
}
}
distTar {
dependsOn jar
compression Compression.GZIP
}
import de.undercouch.gradle.tasks.download.Download
task downloadKafka(type: Download) {
src "https://archive.apache.org/dist/kafka/${kafkaVersion}/kafka_${kafkaScalaVersion}-${kafkaVersion}.tgz"
dest rootDir
}