-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
103 lines (89 loc) · 3.27 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
import java.util.regex.Pattern
plugins {
id 'application'
id 'distribution'
id 'com.github.hierynomus.license' version '0.16.1'
id "de.undercouch.download" version "4.1.1"
id 'org.gradle.crypto.checksum' version '1.1.0'
}
apply plugin: 'java'
apply plugin: 'application'
group 'com.iri.ripcurrent'
mainClassName = 'Main'
repositories {
mavenCentral()
}
// A map of all the required run and test system properties.
def runtimeProperties = [
"APP_HOME": buildDir
]
jar {
archiveBaseName = 'ripcurrent'
archiveVersion = '1.0.0'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
distributions {
main {
distributionBaseName = 'ripcurrent'
contents {
into("conf") {
from("conf") {
include 'config.properties'
include 'log4j.properties'
}
}
into("docs/dependencies") {
from(tasks.downloadLicenses)
}
}
}
}
// Downloads all the open source licenses that are used by dependency and lists them in
// html, json, and xml formats.
downloadLicenses {
reportByDependency = false
xml = false
json = false
}
license {
ignoreFailures = true
}
startScripts {
applicationName = 'ripcurrent'
defaultJvmOpts = ['-DAPP_HOME=_APP_HOME',
'-Dlog4j.configurationFile=_APP_HOME/conf/log4j.properties']
doLast {
def pattern = Pattern.compile("(?<=CLASSPATH=).+(?=\$)", Pattern.MULTILINE)
unixScript.text = pattern.matcher(unixScript.text).replaceFirst("_APP_HOME/lib/*")
windowsScript.text = pattern.matcher(windowsScript.text).replaceFirst("_APP_HOME\\\\lib\\\\*")
unixScript.text = unixScript.text.replace("_APP_HOME", "'\${APP_HOME}'")
windowsScript.text = windowsScript.text.replace("_APP_HOME", '"%APP_HOME%"')
}
}
task copyConfig(type: Copy) {
from "$rootDir/conf"
into "$buildDir/conf"
}
// When running the application in dev
run {
dependsOn(copyConfig)
systemProperties runtimeProperties
systemProperty "log4j.configurationFile", "$rootDir/conf/log4j.properties"
}
dependencies {
// https://mvnrepository.com/artifact/io.debezium/debezium-embedded
implementation group: 'io.debezium', name: 'debezium-embedded', version: debeziumVersion
// https://mvnrepository.com/artifact/io.debezium/debezium-connector-mysql
implementation group: 'io.debezium', name: 'debezium-connector-mysql', version: debeziumVersion
// https://mvnrepository.com/artifact/io.debezium/debezium-connector-oracle
implementation group: 'io.debezium', name: 'debezium-connector-oracle', version: debeziumVersion
// https://mvnrepository.com/artifact/io.debezium/debezium-connector-postgres
implementation group: 'io.debezium', name: 'debezium-connector-postgres', version: debeziumVersion
// https://mvnrepository.com/artifact/io.debezium/debezium-connector-sqlserver
implementation group: 'io.debezium', name: 'debezium-connector-sqlserver', version: debeziumVersion
// https://mvnrepository.com/artifact/io.debezium/debezium-api
implementation group: 'io.debezium', name: 'debezium-api', version: debeziumVersion
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'org.slf4j:slf4j-log4j12:1.7.36'
}