-
Notifications
You must be signed in to change notification settings - Fork 9
/
build.gradle
89 lines (75 loc) · 2.39 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
plugins {
// Apply the application plugin to add support for building a CLI application
id 'application'
// Apply JavaFX plugin, necessary for GUI
id 'org.openjfx.javafxplugin' version '0.1.0'
// Checkstyle enforces consistent formatting rules across the project.
id 'checkstyle'
// Spotbugs is a static analyzer for java
id 'com.github.spotbugs' version '6.0.26'
// With this plugin, we can build a Windows executable
id 'edu.sc.seis.launch4j' version '3.0.6'
}
javafx {
version = '17'
modules = ['javafx.controls', 'javafx.fxml']
}
// enforce utf-8 encoding
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.openpnp:opencv:4.9.0-0'
implementation 'org.apache.commons:commons-math3:3.6.1'
implementation 'org.apache.commons:commons-csv:1.12.0'
implementation 'com.google.code.gson:gson:2.11.0'
implementation 'org.json:json:20240303'
// Use JavaFX MeshImporter for STL files
implementation 'us.ihmc:jimStlMeshImporterJFX:0.7'
// Use JUnit test framework
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.11.3'
testRuntimeOnly 'org.junit.platform:junit-platform-commons:1.11.3'
}
// JUnit 5 support
test {
useJUnitPlatform()
filter {
// exclude openIGTLink connection and transmission tests in automated testing
excludeTestsMatching "inputOutput.OpenIGTImageSource*"
// exclude live- and filestream tests
excludeTestsMatching "inputOutput.*stream*"
}
}
application {
// Define the main class for the application
mainClass = 'mainMethod.StartClass'
}
checkstyle {
// change path to use other checkstyle configuration
configFile = rootProject.file('config/checkstyle/minimalcheck.xml')
toolVersion = '10.20.0'
}
tasks.withType(Checkstyle).configureEach {
reports {
xml.required = false
html.required = true
}
}
spotbugs{
ignoreFailures = true
}
tasks.spotbugsMain {
reports.create("html") {
required = true
outputLocation = file("$buildDir/reports/spotbugs.html")
setStylesheet("fancy-hist.xsl")
}
}
launch4j {
mainClassName = 'mainMethod.StartClass'
icon = "${projectDir}/src/main/resources/icon/icon.ico"
}