Kafkatorio/modules/events-schema/build.gradle.kts

44 lines
1.1 KiB
Text
Raw Normal View History

import dev.adamko.factoriowebmap.configurations.asProvider
import dev.adamko.factoriowebmap.configurations.typescriptAttributes
plugins {
id("dev.adamko.factoriowebmap.archetype.kotlin-jvm")
kotlin("plugin.serialization")
}
2021-10-25 23:35:18 +02:00
dependencies {
implementation(platform(libs.kotlinx.serialization.bom))
implementation(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.json)
implementation("com.github.ntrrgc:ts-generator:1.1.2")
implementation("org.jetbrains.kotlin:kotlin-reflect")
2021-10-31 09:13:41 +01:00
}
val generateTypescript by tasks.registering(JavaExec::class) {
group = project.name
val generatedFileName = "$temporaryDir/data-model.ts"
inputs.property("generatedFileName", generatedFileName)
outputs.file(generatedFileName)
classpath(sourceSets.main.map { it.runtimeClasspath })
mainClass.set("dev.adamko.factorioevents.model.Kt2tsKt")
args(generatedFileName)
doFirst {
delete(temporaryDir)
mkdir(temporaryDir)
}
}
val typescriptModelGenerated by configurations.registering {
asProvider()
typescriptAttributes(objects)
outgoing.artifact(
generateTypescript.map {
it.outputs.files.singleFile
}
)
}