-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle.kts
49 lines (37 loc) · 1.47 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
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm")
}
group = "com.hrznstudio"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation(coroutine("jdk8"))
implementation(aeron("client"))
implementation(aeron("cluster"))
implementation(aeron("driver"))
implementation(aeron("agent"))
implementation("uk.co.real-logic", "sbe-tool", version("sbe"))
implementation("it.unimi.dsi", "fastutil", version("fastutil"))
implementation("com.github.javafaker", "javafaker", version("javafaker"))
implementation("com.fasterxml.jackson.module", "jackson-module-kotlin", version("jackson"))
// Logging
implementation("org.slf4j", "slf4j-api", version("slf4j"))
implementation("io.github.microutils", "kotlin-logging", version("klog"))
runtimeOnly("ch.qos.logback", "logback-classic", version("logback"))
}
tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
@Suppress("SuspiciousCollectionReassignment")
freeCompilerArgs += listOf("-Xuse-experimental=kotlin.Experimental", "-XXLanguage:+InlineClasses")
}
}
fun Project.version(name: String) = extra.properties["${name}_version"] as? String
fun Project.coroutine(module: String): Any =
"org.jetbrains.kotlinx:kotlinx-coroutines-$module:${version("coroutines")}"
fun Project.aeron(module: String): Any =
"io.aeron:aeron-$module:${version("aeron")}"