This repository has been archived by the owner on Aug 10, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 57
/
build.gradle.kts
109 lines (86 loc) · 3.44 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
import java.net.URL
plugins {
buildsrc.conventions.`kotlin-jvm`
buildsrc.conventions.`maven-publish`
id("org.jetbrains.dokka") version "1.9.10"
id("com.github.ben-manes.versions") version "0.51.0"
kotlin("plugin.serialization")
// See api/API_README.md for details
id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.13.2"
// Coverage
id("org.jetbrains.kotlinx.kover") version "0.7.6"
}
// This is overridden by the maven release process
group = "com.github.kwebio"
// Don't set version here, it must be set in gradle.properties so it can be overridden
// by the build script
tasks.test {
systemProperty("sel.jup.default.browser", System.getProperty("sel.jup.default.browser"))
}
dependencies {
api("org.jsoup:jsoup:1.17.2")
implementation("org.apache.commons:commons-text:1.11.0")
implementation("com.google.guava:guava:33.0.0-jre")
api("dev.forkhandles:result4k:2.12.2.0")
//////////////////////////////
// Kotlin library dependencies
//////////////////////////////
api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
api("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3")
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2")
////////////////////
// Ktor dependencvies
////////////////////
api("io.ktor:ktor-server-jetty:2.3.10")
api("io.ktor:ktor-server-websockets:2.3.0")
api("io.ktor:ktor-server-default-headers:2.3.9")
api("io.ktor:ktor-server-compression:2.3.9")
api("io.ktor:ktor-server-caching-headers:2.3.9")
api("io.ktor:ktor-network-tls-certificates:2.3.9")
api("io.mola.galimatias:galimatias:0.2.1")
implementation("io.github.microutils:kotlin-logging:4.0.0-beta-2")
///////////////////////////
// Dependencies for testing
///////////////////////////
testApi(platform("io.kotest:kotest-bom:5.8.0"))
testApi(platform("org.junit:junit-bom:5.9.3"))
testImplementation("io.kotest:kotest-runner-junit5")
testImplementation("io.kotest:kotest-assertions-core")
testImplementation("ch.qos.logback:logback-classic:1.4.14")
testImplementation("org.seleniumhq.selenium:selenium-opera-driver:4.4.0")
testImplementation("org.seleniumhq.selenium:selenium-chrome-driver:4.16.1")
testImplementation("org.seleniumhq.selenium:selenium-java:4.10.0")
testImplementation("io.github.bonigarcia:selenium-jupiter:5.0.1")
testImplementation("org.seleniumhq.selenium:selenium-http-jdk-client:4.13.0")
testImplementation("com.codeborne:selenide:7.2.2")
testImplementation("org.junit.jupiter:junit-jupiter-api")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
testImplementation("org.awaitility:awaitility:4.2.1")
}
repositories {
mavenCentral()
}
tasks.test {
testLogging {
events("failed")
showExceptions = true
exceptionFormat = FULL
showCauses = true
showStackTraces = true
showStandardStreams = false
}
}
tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
dokkaSourceSets {
configureEach {
includes.from("src/main/kotlin/packages.md")
}
getByName("main") {
sourceLink {
localDirectory.set(file("src/main/kotlin"))
remoteUrl.set(URL("https://github.com/kwebio/kweb-core/tree/master/src/main/kotlin"))
}
}
}
}