-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathbuild.gradle.kts
72 lines (60 loc) · 2.53 KB
/
build.gradle.kts
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
plugins {
kotlin("plugin.serialization")
}
val grpcVersion = libs.versions.grpc.get()
val junitVersion = libs.versions.junit.get()
val slf4jVersion = libs.versions.slf4j.get()
configurations.all {
resolutionStrategy.eachDependency {
if (requested.group == "io.grpc" && requested.name != "grpc-kotlin-stub") {
useVersion(grpcVersion)
because("fix grpc version to latest")
}
}
}
dependencies {
implementation(projects.libs.core)
implementation(projects.libs.model)
implementation(projects.libs.kbeam)
implementation(projects.libs.pipeline)
// Use Apache Beam
implementation(libs.bundles.beam)
// Use Kotlin Serialization
implementation(libs.bundles.kotlinx.serialization.all) // JSON, ProtoBuf, Avro serialization
// implementation(libs.beam.sdks.java.extensions.kryo) // kryo serialization
// implementation(libs.beam.sdks.java.extensions.euphoria)
// implementation(libs.beam.sdks.java.extensions.protobuf)
// Kotlin Config
implementation(libs.bundles.konf)
// gRPC deps: for calling API
implementation(libs.grpc.kotlin.stub)
// implementation("io.grpc:grpc-kotlin-stub:$grpcKotlinVersion")
implementation(libs.bundles.kotlinx.coroutines)
// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:$coroutinesVersion")
api(libs.guava) // Force `-jre` version instead of `-android`
// Test with JUnit4 & JUnit5
testImplementation(kotlin("test"))
testRuntimeOnly("org.junit.vintage:junit-vintage-engine:$junitVersion") {
because("allows JUnit 4 tests run along with JUnit 5")
}
testImplementation(libs.hamcrest.all.test)
testImplementation(libs.google.cloud.pubsub)
testImplementation(testFixtures(projects.libs.test))
testImplementation(testFixtures(projects.libs.model))
testImplementation(testFixtures(projects.libs.proto))
testImplementation(testFixtures(projects.libs.pipeline))
}
affectedTestConfiguration { jvmTestTask = "check" }
// gradle test -Dkotest.tags.include=Beam -Dkotest.tags.exclude=E2E
tasks {
test {
systemProperty("kotest.tags.exclude", System.getProperty("E2E"))
}
}
application {
mainClass.set("micro.apps.pipeline.IngestionPipeline")
// applicationDefaultJvmArgs = listOf("-noverify", "-XX:TieredStopAtLevel=1")
applicationDefaultJvmArgs =
listOf("-Djava.util.logging.config.file=src/main/resources/logging.properties", "-Dmicro.apps.level=FINE")
}