/
build.gradle
127 lines (112 loc) · 4.28 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
127
import org.gradle.internal.jvm.Jvm
import org.gradle.internal.os.OperatingSystem
import java.text.SimpleDateFormat
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.10'
id 'org.beryx.runtime' version '1.12.7'
id "org.ajoberstar.grgit" version "5.0.0"
}
group = 'at.esque.kafka'
version = '2.7.3'
repositories {
mavenCentral()
maven {
url = 'https://packages.confluent.io/maven/'
}
maven {
url 'https://jitpack.io'
}
maven {
url = 'https://repository.mulesoft.org/nexus/content/repositories/public/'
}
maven {
url = 'https://repo.gradle.org/gradle/libs-releases-local/'
}
}
dependencies {
implementation 'org.apache.kafka:kafka-clients:2.8.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.1'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.1'
implementation 'org.slf4j:slf4j-api:1.7.36'
implementation 'ch.qos.logback:logback-core:1.2.11'
implementation 'ch.qos.logback:logback-classic:1.2.11'
implementation 'org.apache.commons:commons-lang3:3.12.0'
implementation 'org.kordamp.ikonli:ikonli-javafx:12.2.0'
implementation 'org.kordamp.ikonli:ikonli-fontawesome-pack:12.2.0'
implementation 'com.opencsv:opencsv:5.5.2'
implementation 'io.confluent:kafka-schema-registry:7.3.0'
implementation 'io.confluent:kafka-avro-serializer:6.2.7'
implementation 'io.confluent:kafka-protobuf-serializer:6.2.7'
implementation 'org.apache.avro:avro:1.11.1'
implementation 'com.google.inject:guice:5.0.1'
implementation 'org.fxmisc.richtext:richtextfx:0.10.7'
implementation 'net.thisptr:jackson-jq:1.0.0-preview.20210928'
implementation 'com.dlsc.formsfx:formsfx-core:11.4.2'
implementation 'org.sourcelab:kafka-connect-client:3.1.2'
implementation 'org.controlsfx:controlsfx:11.1.1'
implementation 'org.gradle:gradle-core:6.1.1'
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'com.flipkart.zjsonpatch:zjsonpatch:0.4.12'
implementation 'tech.allegro.schema.json2avro:converter:0.2.15'
implementation 'software.amazon.msk:aws-msk-iam-auth:1.1.5'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.springframework.kafka:spring-kafka-test:2.4.13.RELEASE'
testImplementation 'com.google.code.tempus-fugit:tempus-fugit:1.1'
testImplementation 'org.testfx:testfx-junit:4.0.15-alpha'
}
application {
mainClass = 'at.esque.kafka.Launcher'
applicationName = 'KafkaEsque'
}
java {
sourceCompatibility = '17'
targetCompatibility = '17'
}
javafx {
version = '17'
modules = ['javafx.controls', 'javafx.fxml']
}
runtime {
options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
modules = ['jdk.crypto.ec']
additive = true
launcher {
noConsole = true
}
jpackage {
imageName = 'KafkaEsque'
def currentOs = OperatingSystem.current()
def imgType = currentOs.windows ? 'ico' : currentOs.macOsX ? 'icns' : 'png'
jvmArgs += ['-Dprism.dirtyopts=false']
imageOptions += ['--icon', "src/main/resources/icons/package/KafkaEsque.$imgType"]
installerOptions += ['--resource-dir', "src/main/resources"]
installerOptions += ['--vendor', 'Patrick Schuh']
if (currentOs.windows) {
installerOptions += ['--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-shortcut']
} else if (currentOs.linux) {
installerOptions += ['--linux-package-name', 'kafkaesque', '--linux-shortcut']
} else if (currentOs.macOsX) {
installerOptions += ['--mac-package-name', 'kafkaesque']
}
}
}
task versionFile() {
doLast {
mkdir "$buildDir/resources/main"
new File("$buildDir/resources/main", "version.json").text = """{
"version": "$version",
"revision": "${grgit.head().abbreviatedId}",
"tag": ${
var tag = grgit.tag.list().find { it.commit == grgit.head() }
if (tag != null) {
return "\"" + tag.getName() + "\""
}
},
"buildTime": "${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}",
"buildJvm": "${Jvm.current()}",
"name": "KakfaEsque"
}"""
}
}
tasks.named('processResources') { dependsOn('versionFile') }