-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle.kts
95 lines (83 loc) · 3.3 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
85
86
87
88
89
90
91
92
93
94
95
plugins {
application
kotlin("jvm") version Versions.kotlin
kotlin("plugin.serialization") version Versions.kotlin
id("org.jlleitschuh.gradle.ktlint") version Versions.ktlint
id("org.jlleitschuh.gradle.ktlint-idea") version Versions.ktlint
id("com.github.johnrengelman.shadow") version Versions.shadow
}
group = "jp.ac.titech.cs.se"
version = "2.0.0"
application {
mainClass.set("io.ktor.server.netty.EngineMain")
@Suppress("DEPRECATION")
mainClassName = mainClass.get()
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
// Kotlin
implementation(kotlin("stdlib-jdk8"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.serialization}")
implementation("org.jetbrains.kotlinx:kotlinx-cli:${Versions.cli}")
// Ktor
implementation("io.ktor:ktor-server-core:${Versions.ktor}")
implementation("io.ktor:ktor-server-netty:${Versions.ktor}")
implementation("io.ktor:ktor-server-host-common:${Versions.ktor}")
implementation("io.ktor:ktor-locations:${Versions.ktor}")
implementation("io.ktor:ktor-client-apache:${Versions.ktor}")
implementation("io.ktor:ktor-auth:${Versions.ktor}")
implementation("io.ktor:ktor-jackson:${Versions.ktor}")
// DI
implementation("org.koin:koin-ktor:${Versions.koin}")
// DB
implementation("org.jetbrains.exposed:exposed-core:${Versions.exposed}")
implementation("org.jetbrains.exposed:exposed-dao:${Versions.exposed}")
implementation("org.jetbrains.exposed:exposed-jdbc:${Versions.exposed}")
implementation("com.zaxxer:HikariCP:${Versions.hikaricp}")
implementation("org.flywaydb:flyway-core:${Versions.flyway}")
implementation("org.postgresql:postgresql:${Versions.postgresql}")
runtimeOnly("com.h2database:h2:${Versions.h2}")
// Log
implementation("ch.qos.logback:logback-classic:${Versions.logback}")
implementation("org.codehaus.janino:janino:${Versions.janino}")
// Tools
implementation("org.eclipse.jdt:org.eclipse.jdt.core:${Versions.jdt}")
implementation("com.github.tsantalis:refactoring-miner:${Versions.refminer}") {
exclude("org.slf4j")
}
// Other
implementation("org.kohsuke:github-api:${Versions.github}")
implementation("com.fasterxml.jackson.module:jackson-module-jsonSchema:${Versions.jackson}")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:${Versions.jackson}")
// Test
testImplementation(kotlin("test-junit"))
testImplementation("io.ktor:ktor-server-tests:${Versions.ktor}")
testImplementation("org.junit.jupiter:junit-jupiter-api:${Versions.junit}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${Versions.junit}")
}
tasks {
withType<Jar> {
dependsOn("processClient")
manifest {
attributes(
mapOf(
"Main-Class" to application.mainClass.get()
)
)
}
}
register<Copy>("processClient") {
dependsOn(":client:generate")
from("client/dist") {
include("**/*.*")
}
into("${project.buildDir}/resources/main/static")
}
register<JavaExec>("generateDataset") {
main = "jp.ac.titech.cs.se.refactorhub.core.dataset.ExperimentKt"
classpath = sourceSets["main"].runtimeClasspath
}
}