-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle
107 lines (92 loc) · 2.7 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
102
103
104
105
106
107
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
id 'java'
id 'idea'
id 'maven-publish'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.12'
id 'org.beryx.jlink' version '2.24.4'
id 'net.researchgate.release' version '3.0.0'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.guava:guava:32.1.3-jre'
implementation 'org.openjfx:javafx-controls:21.0.1'
implementation 'org.openjfx:javafx-graphics:21.0.1'
implementation 'org.openjfx:javafx-base:21.0.1'
implementation 'org.openjfx:javafx-fxml:21.0.1'
implementation 'com.google.protobuf:protobuf-java:3.21.5'
implementation 'org.json:json:20231013'
implementation 'com.j2html:j2html:1.6.0'
implementation 'org.xerial:sqlite-jdbc:3.44.1.0'
testImplementation(platform('org.junit:junit-bom:5.9.0'))
testImplementation('org.junit.jupiter:junit-jupiter')
testImplementation 'net.java.dev.jna:jna:5.12.1'
testImplementation('org.assertj:assertj-core:3.23.1')
}
group = 'com.github.nicholasmoser'
version = '5.0.0-SNAPSHOT'
description = 'GNTool'
sourceCompatibility = '17'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
test {
useJUnitPlatform()
}
application {
mainModule = 'com.github.nicholasmoser'
mainClass = 'com.github.nicholasmoser.GNTool'
}
javafx {
version = "21.0.1"
modules = [ 'javafx.controls', 'javafx.fxml' ]
}
jlink {
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
launcher {
name = 'GNTool'
noConsole = true
}
}
task ffmpeg(type: Copy) {
from file("ffmpeg.exe")
into file("$buildDir/image/bin")
dependsOn jlinkZip
description "Copy over the ffmpeg Windows binary"
}
task ffmpegLicense(type: Copy) {
from "licenses/ffmpeg"
into "$buildDir/image/legal/ffmpeg"
dependsOn jlinkZip
description "Copy over the ffmpeg license"
}
task txg2tpl(type: Copy) {
from file("TXG2TPL.exe")
into file("$buildDir/image/bin")
dependsOn jlinkZip
description "Copy over the txg2tpl Windows binary"
}
task txg2tplLicense(type: Copy) {
from "licenses/txg2tpl"
into "$buildDir/image/legal/txg2tpl"
dependsOn jlinkZip
description "Copy over the txg2tpl license"
}
task topLevelBat(type: Copy) {
from "scripts/GNTool.bat"
into "$buildDir/image/"
dependsOn jlinkZip
description "Copy over the top-level start bat file"
}
task dist(type: Zip) {
baseName 'gntool'
destinationDirectory = file("$buildDir/dist/")
from "$buildDir/image/"
dependsOn build, jlinkZip, ffmpeg, ffmpegLicense, txg2tpl, txg2tplLicense, topLevelBat
description "Generate a distribution for a release"
}