-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
115 lines (100 loc) · 3.14 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
buildscript {
ext.kotlin_version = '1.2.41'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'edu.sc.seis.gradle:launch4j:2.4.2'
classpath 'de.dynamicfiles.projects.gradle.plugins:javafx-gradle-plugin:8.8.2'
}
}
plugins {
id 'java'
}
group 'app.vertretungsplan'
version '0.1.3'
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'javafx-gradle-plugin'
apply plugin: 'edu.sc.seis.launch4j'
apply plugin: 'jacoco'
sourceCompatibility = 1.8
mainClassName = 'app.vertretungsplan.uploader.VertretungsplanUploaderMain'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile 'no.tornado:tornadofx:1.7.16'
compile 'com.jfoenix:jfoenix:8.0.4'
compile 'de.codecentric.centerdevice:javafxsvg:1.3.0'
compile 'net.harawata:appdirs:1.0.0'
compile 'net.java.dev.jna:platform:3.5.2'
compile 'org.apache.commons:commons-vfs2:2.2'
compile 'commons-httpclient:commons-httpclient:3.1'
compile 'commons-net:commons-net:3.6'
compile 'com.jcraft:jsch:0.1.54'
compile "de.huxhorn.lilith:de.huxhorn.lilith.3rdparty.junique:1.0.4"
compile 'org.json:json:20180130'
compile 'com.github.kittinunf.fuel:fuel:1.12.0'
compile 'io.sentry:sentry:1.7.5'
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'org.mockftpserver:MockFtpServer:2.7.1'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
jfx {
mainClass = mainClassName
vendor = 'vertretungsplan.app'
jfxMainAppJarName = "vertretungsplan-uploader-${version}.jar"
// gradle jfxNative
identifier = null
nativeReleaseVersion = version
needShortcut = false
needMenu = false
appName = "Vertretungsplan Uploader"
}
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Version': version,
'Main-Class': mainClassName
}
archiveName = project.name + '.jar'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
task generateBuildInfo(type: WriteProperties) {
def propertyFile = file "src/main/resources/buildInfo.properties"
property('version', project.version)
property('release', !project.version.endsWith('SNAPSHOT'))
setOutputFile(propertyFile)
writeProperties()
}
build.dependsOn(tasks.generateBuildInfo)
launch4j {
mainClassName = mainClassName
jar = "lib/${project.tasks.fatJar.archiveName}"
copyConfigurable = project.tasks.fatJar.outputs.files
bundledJrePath = "jre"
bundledJre64Bit = true
version = version
fileDescription = "Programm zum Hochladen von Vertretungsplänen"
copyright = "vertretungsplan.app"
companyName = "vertretungsplan.app"
productName = "Vertretungsplan Uploader"
//splashFileName = "../../../img/splash.bmp"
//icon = "../../../img/icon_on_shape.ico"
}
jacocoTestReport {
reports {
xml.enabled true
html.enabled true
}
}
check.dependsOn jacocoTestReport