forked from h2oai/h2o-3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
93 lines (76 loc) · 2.84 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
apply plugin: 'java'
//
// H2O Core Module
//
description = "H2O Core"
dependencies {
// Dependency on shared model support
compile project(":h2o-logger")
compile project (':h2o-genmodel')
compile project(":h2o-webserver-iface")
// Required for h2o-core
compile "joda-time:joda-time:2.9.9"
compile "gov.nist.math:jama:1.0.3"
compile 'org.javassist:javassist:3.25.0-GA'
compile "org.apache.commons:commons-math3:3.3"
compile "commons-io:commons-io:2.4"
compileOnly "javax.servlet:javax.servlet-api:3.0.1"
compile("com.github.wendykierp:JTransforms:3.1") { exclude module: "junit" }
compile project(":h2o-jaas-pam")
compile("log4j:log4j:1.2.17") {
exclude module: "activation"
exclude module: "jms"
exclude module: "jmxri"
exclude module: "jmxtools"
exclude module: "mail"
}
compile "com.google.code.gson:gson:2.6.2"
compile 'commons-lang:commons-lang:2.6'
// Duke library: collection of String comparators
compile('no.priv.garshol.duke:duke:1.2') {
exclude group: 'org.apache.lucene', module: 'lucene-core'
exclude group: 'org.apache.lucene', module: 'lucene-analyzers-common'
exclude group: 'org.apache.lucene', module: 'lucene-spatial'
exclude group: 'org.mapdb', module: 'mapdb'
}
testCompile project(':h2o-test-support')
testRuntimeOnly project(":${defaultWebserverModule}")
testCompileOnly "javax.servlet:javax.servlet-api:3.0.1"
}
apply from: "${rootDir}/gradle/dataCheck.gradle"
javadoc {
exclude "**/fvec/C*Chunk.java/**"
exclude "**/nbhm/**"
}
jar {
manifest {
attributes 'Main-Class': 'water.H2O'
}
}
// The default 'test' behavior is broken in that it does not grok clusters.
// For H2O, all tests need to be run on a cluster, where each JVM is
// "free-running" - it's stdout/stderr are NOT hooked by another process. If
// they are hooked (e.g., by the gradle driver process) then the stdout/err get
// buffered and when all CPUs are maxed out (happens over a large fraction of
// the test run) no output is visible. If the JVMs then crash (again, common
// enough), we get NO output for the test run. So instead we need to arrange a
// complete cluster of free-running JVMs and redirect all output (at the OS
// level) to files - then scrape the files later for test results.
test {
dependsOn smalldataCheck, testMultiNode, testJar
// Defeat task 'test' by running no tests.
exclude '**'
}
def buildVersionFile = new File(projectDir, "/src/main/java/water/init/BuildVersion.java")
task generateBuildVersionJava {
doLast {
H2OBuildVersion bv = new H2OBuildVersion(rootDir, version)
bv.emitBuildVersionJavaFileIfNecessary(buildVersionFile)
}
}
compileJava.dependsOn generateBuildVersionJava
task cleanBuildVersionJava(type: Delete) {
delete buildVersionFile
}
clean.dependsOn cleanBuildVersionJava
apply from: '../gradle/javaIgnoreSymbolFile.gradle'