-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathbuild.gradle
More file actions
78 lines (73 loc) · 3.32 KB
/
Copy pathbuild.gradle
File metadata and controls
78 lines (73 loc) · 3.32 KB
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
/*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed 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
*
* https://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.
*/
apply plugin: 'groovy'
ext.sv = JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17) ? smileVersion : smilePreviousVersion
dependencies {
implementation "org.apache.groovy:groovy:$groovy4Version"
implementation "nz.ac.waikato.cms.weka:weka-dev:$wekaVersion"
implementation "com.opencsv:opencsv:$opencsvVersion"
implementation "org.apache.commons:commons-csv:$commonsCsvVersion"
implementation "org.apache.commons:commons-math4-legacy:$commonsMath4Version"
implementation "org.apache.commons:commons-statistics-descriptive:$commonsStatisticsVersion"
implementation "org.apache.commons:commons-statistics-distribution:$commonsStatisticsVersion"
implementation 'sh.joinery:joinery-dataframe:1.10'
implementation "org.knowm.xchart:xchart:$knowmXchartVersion"
// https://web.archive.org/web/20140415021609/http://xeiam.com:80/xchart.jsp
runtimeOnly 'com.xeiam.xchart:xchart:2.5.1' // older version of org.knowm.xchart:xchart
implementation "tech.tablesaw:tablesaw-core:$tablesawVersion"
implementation "tech.tablesaw:tablesaw-aggregate:$tablesawVersion"
// runtime 'com.github.fommil.netlib:all:1.1.2'
implementation("com.github.haifengl:smile-core:$sv") {
transitive = false
}
implementation("com.github.haifengl:smile-base:$sv") {
transitive = false
}
implementation("com.github.haifengl:smile-plot:$sv") {
transitive = false
}
implementation "org.tribuo:tribuo-regression-libsvm:$tribuoVersion"
implementation "org.tribuo:tribuo-regression-sgd:$tribuoVersion"
implementation "org.tribuo:tribuo-regression-tree:$tribuoVersion"
implementation "org.tribuo:tribuo-anomaly-libsvm:$tribuoVersion"
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-csv:$jacksonVersion"
runtimeOnly "org.slf4j:slf4j-jdk14:$slf4jVersion"
runtimeOnly "org.bytedeco:openblas-platform:$openblasPlatformVersion"
// used by smile-plot
runtimeOnly 'org.swinglabs:swingx:1.6.1'
}
tasks.register('versionInfo') {
doLast {
File javaHome = new File(System.getProperty('java.home'))
logger.lifecycle "Using Java from $javaHome (version ${JavaVersion.current()})"
}
}
def runall = tasks.register('runAll') {
group 'Application'
}
FileUtil.baseNames(sourceSets.main.allSource.files).each { name ->
if (name.endsWith('JDK17') && !JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_17)) return
def subtask = tasks.register("run$name", JavaExec) {
group 'Application'
description "Run ${name}.groovy as a JVM application/Groovy script"
classpath = sourceSets.main.runtimeClasspath
mainClass = name
dependsOn versionInfo
}
runall.configure {
dependsOn subtask
}
}