-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
107 lines (86 loc) · 2.93 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
import com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask
plugins {
id "idea"
id "org.jetbrains.kotlin.jvm" version "1.9.25"
id "org.jetbrains.kotlin.plugin.spring" version "1.9.25"
id "org.springframework.boot" version "3.3.6"
id "io.spring.dependency-management" version "1.1.6"
id "com.github.davidmc24.gradle.plugin.avro-base" version "1.9.1"
id "com.google.protobuf" version "0.9.4"
}
ext {
springBootVersion = "3.3.6"
springBootShellVersion = "3.3.3"
avroVersion = "1.12.0"
protobufVersion = "4.28.3"
}
[ compileKotlin, compileTestKotlin ]*.kotlinOptions*.jvmTarget = "21"
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:$springBootVersion"
mavenBom "org.springframework.shell:spring-shell-dependencies:$springBootShellVersion"
}
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.springframework.boot:spring-boot-starter"
implementation "org.springframework.shell:spring-shell-starter-jna"
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "com.sun.xml.bind:jaxb-impl"
implementation "jakarta.xml.bind:jakarta.xml.bind-api"
implementation "org.apache.commons:commons-lang3"
implementation "com.jayway.jsonpath:json-path"
implementation "org.apache.avro:avro:$avroVersion"
implementation "com.fasterxml.jackson.core:jackson-databind"
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml"
implementation "com.google.protobuf:protobuf-java:$protobufVersion"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-reflect"
implementation "com.fasterxml.jackson.module:jackson-module-kotlin"
testImplementation "org.junit.jupiter:junit-jupiter"
testImplementation "org.junit.jupiter:junit-jupiter-engine"
}
tasks.register("generateAvro", GenerateAvroJavaTask) {
source("src/main/avro")
outputDir = file("${project.buildDir}/generated/source/avro")
}
compileKotlin.dependsOn(generateAvro)
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:$protobufVersion"
generatedFilesBaseDir( "${project.buildDir}/generated/source/proto")
}
}
sourceSets {
main {
java {
srcDirs "src/main/java", "${project.buildDir}/generated/source/proto", "${project.buildDir}/generated/source/avro"
}
}
}
idea {
module {
sourceDirs += [
file("${project.buildDir}/generated/source/avro"),
file("${project.buildDir}/generated/source/proto")
]
}
}
test {
useJUnitPlatform()
testLogging {
showStandardStreams = true
}
}
bootJar {
archiveFileName = "${project.name}.jar"
}