-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
126 lines (112 loc) · 3.38 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
plugins {
id 'java'
id 'eclipse'
id 'application'
id 'distribution'
id 'com.github.johnrengelman.shadow' version '4.0.2'
id 'edu.sc.seis.launch4j' version '2.4.4'
id 'edu.sc.seis.macAppBundle' version '2.3.0'
}
applicationName = 'embARC'
// GUI Settings
version = '1.3.2'
mainClassName = 'com.portalmedia.embarc.gui.Main'
// CLI Settings
// Uncomment the following lines for CLI version
// version = '0.4.0'
// mainClassName = 'com.portalmedia.embarc.cli.Main'
repositories {
mavenCentral()
mavenLocal()
}
sourceSets {
main {
java {
srcDirs = ['src/main']
}
resources {
srcDirs = ['src/main', 'src/resources']
}
}
test {
java {
srcDirs = ['src/tests']
}
resources {
srcDir 'tests/resources'
}
}
}
dependencies {
implementation 'commons-cli:commons-cli:1.4'
implementation 'commons-collections:commons-collections:3.2.2'
implementation 'commons-io:commons-io:2.8.0'
implementation 'commons-lang:commons-lang:2.6'
implementation 'de.jensd:fontawesomefx-emojione:2.2.7-2'
- implementation 'de.jensd:fontawesomefx-fontawesome:4.7.0-5'
- implementation 'de.jensd:fontawesomefx-icons525:3.0.0-4'
- implementation 'de.jensd:fontawesomefx-materialdesignfont:1.7.22-4'
- implementation 'de.jensd:fontawesomefx-materialicons:2.2.0-5'
- implementation 'de.jensd:fontawesomefx-octicons:4.3.0-5'
- implementation 'de.jensd:fontawesomefx-weathericons:2.0.10-5'
implementation 'javax.activation:activation:1.1'
implementation 'javax.xml.bind:jaxb-api:2.4.0-b180830.0359'
implementation 'net.byteseek:byteseek:2.0.3'
implementation 'net.sf.supercsv:super-csv:2.3.1'
implementation 'net.sf.trove4j:trove4j:3.0.3'
implementation 'org.apache.tika:tika-core:1.4'
implementation 'org.controlsfx:controlsfx:8.40.14'
implementation 'org.dizitart:nitrite:3.1.0'
implementation 'org.glassfish.jaxb:jaxb-runtime:2.4.0-b180830.0438'
implementation 'org.json:json:20201115'
implementation files('../maj/target/classes')
implementation files('../droid/droid-core/target/classes')
implementation files('../droid/droid-core-interfaces/target/classes')
implementation fileTree(dir: '../javafx-sdk-18.0.2/lib', include: '*.jar')
//implementation fileTree(dir: '../fontawesome', include: ['*.jar'])
implementation gradleApi()
implementation 'junit:junit:4.12'
}
jar {
manifest {
attributes(
'Main-Class': 'com.portalmedia.embarc.cli.Main'
)
}
}
shadowJar {
archiveName = "embARC-${version}.jar"
baseName = 'embARC'
}
launch4j {
version = "${version}"
mainClassName = 'com.portalmedia.embarc.gui.Main'
outfile = 'embARC.exe'
copyConfigurable = tasks.shadowJar.outputs.files
jar = "lib/${project.tasks.shadowJar.archiveName}"
icon = "${projectDir}/icons/embarc_gRr_icon.ico"
maxHeapSize = 6000
jvmOptions = ['-XX:+UseG1GC', '-Xms64m']
maxHeapPercent = 10
}
macAppBundle {
appName = "embARC"
version = "${version}"
mainClassName = 'com.portalmedia.embarc.gui.Main'
icon = "${projectDir}/icons/embarc.icns"
backgroundImage = "${projectDir}/icons/embARC.png"
arguments = ['-XX:+UseG1GC', '-Xms64m']
bundleJRE = true
jreHome = '/Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home'
jarTask = 'shadowJar'
}
task writeVersionProperties {
doLast {
def file = file("${projectDir}/src/main/resources/version.properties")
file.text = "version=${version}\n"
}
}
processResources.dependsOn writeVersionProperties
test {
systemProperties = ['property': 'value']
}