Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plugins {
- kiscord.platform.all
- kiscord.dokka
- kiscord.publish
- kiscord.atomicfu
- org.jetbrains.kotlin.plugin.serialization
- }
- val codegenOutput = file("src/codegen/kotlin")
- configurations.create("codegen")
- dependencies {
- "codegen"(project(":kiscord-codegen"))
- }
- val codegen by tasks.registering(JavaExec::class) {
- classpath = configurations["codegen"]
- main = "kiscord.codegen.OAPIConverterKt"
- val openapiYaml = rootProject.file("docs/openapi/openapi.yaml")
- val openapiJson = rootProject.file("docs/openapi/openapi.json")
- args(openapiYaml, openapiJson, codegenOutput)
- inputs.file(openapiYaml)
- val outputs = outputs
- outputs.file(openapiJson)
- outputs.dir(codegenOutput)
- doFirst {
- outputs.previousOutputFiles.forEach { it.delete() }
- }
- }
- kiscord {
- buildConfig {
- packageName = "kiscord"
- className = "KiscordBuildConfig"
- "NAME"(project.ext["kiscord.name"] as String) {
- description = "Library name, i.e. \"Kiscord\""
- }
- "VERSION"(project.version.toString()) {
- description = "Library version"
- }
- "URL"(project.ext["kiscord.url"] as String) {
- description = "Library homepage"
- }
- "KOTLIN_VERSION"(project.ext["kotlin_version"] as String) {
- description = "Kotlin version built against of"
- }
- "KOTLIN_PLATFORM"("Unknown") {
- description = "Kotlin platform"
- jvm("JVM") {
- description = "Kotlin platform, i.e. JVM"
- }
- js("JS") {
- description = "Kotlin platform, i.e. JS"
- }
- native("Native") {
- description = "Kotlin platform, i.e. Native"
- }
- }
- }
- common {
- mainDependencies {
- api("org.jetbrains.kotlinx:kotlinx-coroutines-core-common")
- api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-common")
- api("io.ktor:ktor-client-core")
- api("com.soywiz.korlibs.klock:klock")
- }
- testDependencies {
- implementation("io.ktor:ktor-client-mock")
- implementation("com.soywiz.korlibs.klock:klock")
- }
- main.kotlin.srcDir(files(codegenOutput).builtBy(codegen))
- }
- jvm {
- mainDependencies {
- api("org.jetbrains.kotlinx:kotlinx-coroutines-core")
- api("org.jetbrains.kotlinx:kotlinx-serialization-runtime")
- api("org.slf4j:slf4j-api")
- api("io.ktor:ktor-client-core-jvm")
- implementation("io.ktor:ktor-client-cio")
- }
- testDependencies {
- implementation("io.ktor:ktor-client-mock-jvm")
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test")
- }
- }
- js {
- mainDependencies {
- api("org.jetbrains.kotlinx:kotlinx-coroutines-core-js")
- api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-js")
- api("io.ktor:ktor-client-core-js")
- implementation(npm("text-encoding", "^0.7.0"))
- implementation(npm("node-fetch", "^2.3.0"))
- implementation(npm("ws", "^6.2.1"))
- }
- testDependencies {
- implementation("io.ktor:ktor-client-mock-js")
- }
- }
- native {
- mainDependencies {
- api("org.jetbrains.kotlinx:kotlinx-coroutines-core-native")
- api("org.jetbrains.kotlinx:kotlinx-serialization-runtime-native")
- api("io.ktor:ktor-client-core-native")
- }
- testDependencies {
- implementation("io.ktor:ktor-client-mock-native")
- }
- }
- linuxX64 {
- mainDependencies {
- implementation("io.ktor:ktor-client-curl")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement