-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
103 lines (83 loc) · 2.73 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
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '3.1.3'
id 'io.spring.dependency-management' version '1.1.5'
id 'org.openjfx.javafxplugin' version '0.0.13'
id 'org.beryx.runtime' version '1.12.5'
}
group 'xss.it.reactive'
version = '1.0.0'
project.description='Just a javafx + spring boot demo'
application {
mainClass ='xss.it.Launcher'
applicationName ='Javafx-SpringBoot-Demo'
}
repositories {
mavenCentral()
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
javafx {
version = '17.0.6'
modules = ['javafx.controls' , 'javafx.graphics' , 'javafx.fxml']
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: '../libs')
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation('org.springframework.boot:spring-boot-starter-data-jpa') {
exclude module: 'hibernate-core'
}
implementation 'org.xerial:sqlite-jdbc:3.45.3.0'
implementation 'org.hibernate.orm:hibernate-core:6.1.7.Final'
implementation 'org.hibernate.orm:hibernate-community-dialects:6.1.7.Final'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
jar{
manifest {
attributes(
'Main-Class': 'xss.it.Launcher'
)
}
}
runtime {
options = ['--bind-services','--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
//I use GraalVM
launcher {
noConsole = true
jvmArgs = ['-XX:+UnlockExperimentalVMOptions','-XX:+UseG1GC','-XX:MaxGCPauseMillis=100','-Xms256m','-Xmx2048m' ,'-Djdk.gtk.version=2']
}
jpackage {
installerOptions = [
'--description', project.description,
'--copyright', 'Copyright 2024',
'--app-version',project.version,
'--vendor', 'My Company'
] as List<String>
//Detect OS
def os= org.gradle.internal.os.OperatingSystem.current()
//Windows
if (os.isWindows()){
imageOptions += ['--icon', 'src/main/resources/xss/it/icon.ico']
installerOptions += [
'--win-per-user-install', '--win-dir-chooser',
'--win-menu', '--win-shortcut'
]
}
//MacOsX
if (os.isMacOsX()){
imageOptions += ['--icon', 'src/main/resources/mac__icon.icns']
}
//Linux
if (os.isLinux()){
imageOptions += ['--icon', 'src/main/resources/icon_256x256.png']
installerOptions += [
'--linux-menu-group', 'Work',
'--linux-shortcut',
'--linux-deb-maintainer', '[email protected]'
]
}
}
}