-
Notifications
You must be signed in to change notification settings - Fork 16
/
build.gradle.kts
84 lines (70 loc) · 2.5 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
73
74
75
76
77
78
79
80
81
82
83
84
import java.io.OutputStream
plugins {
id(libs.plugins.kotlin.jvm.get().pluginId)
id(libs.plugins.kotlinx.serialization.get().pluginId)
alias(libs.plugins.spotless)
}
repositories { mavenCentral() }
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
toolchain { languageVersion = JavaLanguageVersion.of(11) }
}
dependencies {
implementation(projects.xefCore)
implementation(projects.xefEvaluator)
implementation(projects.xefFilesystem)
implementation(projects.xefPdf)
implementation(projects.xefSql)
implementation(projects.xefTokenizer)
implementation(projects.xefReasoning)
implementation(projects.xefOpentelemetry)
implementation(projects.xefMlflow)
implementation(libs.suspendApp.core)
implementation(libs.kotlinx.serialization.json)
implementation(libs.logback)
implementation(libs.klogging)
implementation(libs.bundles.arrow)
implementation(libs.okio)
implementation(libs.progressbar)
implementation(libs.jdbc.mysql.connector)
implementation(libs.jmf)
implementation(libs.mp3.wav.converter)
api(libs.ktor.client)
}
spotless {
kotlin {
target("**/*.kt")
ktfmt().googleStyle().configure { it.setRemoveUnusedImport(true) }
}
}
@Suppress("MaxLineLength")
tasks.create<Exec>("docker-sql-example-up") {
commandLine("docker", "compose", "-f", "$projectDir/src/main/resources/sql/stack.yml", "up", "-d", "mysql")
doLast {
println(">> Docker compose up done!")
println(">> IMPORTANT: Execute `./gradlew docker-sql-example-populate` to populate the database that you want")
}
}
@Suppress("MaxLineLength")
tasks.create<Exec>("docker-sql-example-populate") {
this.standardOutput = OutputStream.nullOutputStream()
commandLine("docker", "exec", "-i", "xef-sql-example-mysql", "bash", "-c", "cd /root/; mysql -ptoor < mysql_dump.sql")
doLast {
println(">> Database populated!")
}
}
@Suppress("MaxLineLength")
tasks.create<Exec>("docker-sql-example-down") {
commandLine("docker", "compose", "-f", "$projectDir/src/main/resources/sql/stack.yml", "down", "-v", "--rmi", "local", "--remove-orphans")
doLast {
println(">> Docker compose down done!")
}
}
tasks.create<JavaExec>("run-sql-example") {
dependsOn("compileKotlin")
group = "Execution"
description = "Run SQL example"
classpath = sourceSets.main.get().runtimeClasspath
mainClass = "com.xebia.functional.xef.conversation.sql.MysqlExample"
}