-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
94 lines (84 loc) · 3.75 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
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath "com.github.jengelman.gradle.plugins:shadow:$shadow_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'kotlinx-serialization'
apply plugin: 'application'
group 'com.lifars'
version app_version
mainClassName = "com.lifars.ioc.server.ApplicationKt"
apply plugin: 'com.github.johnrengelman.shadow' // Must be placed below mainClassName
sourceSets {
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
}
repositories {
mavenLocal()
jcenter()
maven { url 'https://kotlin.bintray.com/ktor' }
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "io.ktor:ktor-server-netty:$ktor_version"
implementation "io.ktor:ktor-client-cio:$ktor_version"
implementation "io.ktor:ktor-client-json-jvm:$ktor_version"
implementation "io.ktor:ktor-client-jackson:$ktor_version"
implementation "io.ktor:ktor-network-tls:$ktor_version"
implementation "ch.qos.logback:logback-classic:$logback_version"
implementation "io.ktor:ktor-server-core:$ktor_version"
// implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialization_version"
implementation "io.ktor:ktor-jackson:$ktor_version"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.9"
// implementation "io.ktor:ktor-gson:$ktor_version"
// implementation "com.beust:klaxon:$klaxon_version"
implementation "io.ktor:ktor-serialization:$ktor_version"
implementation "io.ktor:ktor-locations:$ktor_version"
implementation "io.ktor:ktor-server-host-common:$ktor_version"
implementation "io.ktor:ktor-auth:$ktor_version"
implementation "io.ktor:ktor-auth-jwt:$ktor_version"
implementation "com.h2database:h2:$h2database_version"
implementation "org.jetbrains.exposed:exposed-core:$exposed_version"
// implementation "org.jetbrains.exposed:exposed-dao:$exposed_version"
implementation "org.jetbrains.exposed:exposed-jdbc:$exposed_version"
implementation "org.jetbrains.exposed:exposed-java-time:$exposed_version"
implementation "org.postgresql:postgresql:$postgre_version"
implementation "com.zaxxer:HikariCP:$hikari_version"
implementation "org.koin:koin-ktor:$koin_version"
implementation "io.github.microutils:kotlin-logging:$kotlin_logging_version"
implementation "at.favre.lib:bcrypt:$bcrypt_version"
// implementation 'de.mkammerer:argon2-jvm:2.6'
implementation "commons-io:commons-io:$apache_commons_io_version"
implementation "com.xenomachina:kotlin-argparser:$argparser_version"
// implementation "edu.uci.ics:crawler4j:$crawler4j_version"
implementation "org.jsoup:jsoup:$jsoup_version"
// implementation "org.quartz-scheduler:quartz:$quartz_version"
// implementation "com.github.shyiko.skedule:skedule:$skedule_version"
implementation "net.openhft:chronicle-map:$chroniclemap_version"
testImplementation "io.ktor:ktor-server-tests:$ktor_version"
}
shadowJar {
manifest {
attributes 'Main-Class': mainClassName,
'Implementation-Version': app_version
}
// This is needed for jetty for proper functioning outside od IDE
// transform(ServiceFileTransformer) {
// path = 'META-INF/services'
// include 'org.eclipse.jetty.http.HttpFieldPreEncoder'
// }
}
compileKotlin {
kotlinOptions {
freeCompilerArgs = ["-XXLanguage:+InlineClasses"]
jvmTarget = '1.8'
}
}