-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
87 lines (72 loc) · 2.49 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
buildscript {
repositories {
gradlePluginPortal()
google()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23"
classpath "com.google.cloud.tools:appengine-gradle-plugin:2.8.0"
classpath "com.github.jengelman.gradle.plugins:shadow:6.1.0"
}
}
apply from: 'ext.gradle'
apply plugin: "com.github.johnrengelman.shadow"
apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'com.google.cloud.tools.appengine'
group 'net.ambitious.sharebookmarks'
version '1.0.0'
mainClassName = "net.ambitious.sharebookmarks.ApplicationKt"
sourceSets {
main.kotlin.srcDirs = main.java.srcDirs = ['src']
test.kotlin.srcDirs = test.java.srcDirs = ['test']
main.resources.srcDirs = ['resources']
test.resources.srcDirs = ['testresources']
}
repositories {
gradlePluginPortal()
google()
}
kotlin {
jvmToolchain(17)
}
appengine {
stage {
setAppEngineDirectory(".")
}
deploy {
def globalConfiguration = rootProject.extensions.getByName("ext")
projectId = globalConfiguration["projectId"]
version = globalConfiguration["versionCode"]
}
}
static String captureVersion(Dependency dependency) {
return dependency.version
}
dependencies {
def ktor_version = captureVersion(implementation("io.ktor:ktor-server-netty:1.6.8"))
implementation "io.ktor:ktor-locations:$ktor_version"
implementation "io.ktor:ktor-jackson:$ktor_version"
implementation "io.ktor:ktor-auth:$ktor_version"
implementation "io.ktor:ktor-auth-jwt:$ktor_version"
implementation "ch.qos.logback:logback-classic:1.5.6"
implementation "org.koin:koin-ktor:2.2.2"
implementation "org.jsoup:jsoup:1.17.2"
def exposed_version = captureVersion(implementation('org.jetbrains.exposed:exposed-core:0.51.1'))
implementation "org.jetbrains.exposed:exposed-crypt:$exposed_version"
implementation "org.jetbrains.exposed:exposed-dao:$exposed_version"
implementation "org.jetbrains.exposed:exposed-jdbc:$exposed_version"
implementation "org.jetbrains.exposed:exposed-jodatime:$exposed_version"
implementation "com.zaxxer:HikariCP:5.1.0"
implementation "com.mysql:mysql-connector-j:8.4.0"
testImplementation "io.ktor:ktor-server-tests:$ktor_version"
testImplementation "io.mockk:mockk:1.13.10"
testImplementation "org.json:json:20240303"
}
tasks.register('yamlCopy', Copy) {
from 'secret.yaml'
into 'build/staged-app'
}
shadowJar {
archiveClassifier = null
}