Stonks/app/build.gradle.kts

95 lines
3.1 KiB
Kotlin

/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Kotlin application project to get you started.
* For more details take a look at the 'Building Java & JVM projects' chapter in the Gradle
* User Manual available at https://docs.gradle.org/7.1/userguide/building_java_projects.html
*/
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
// Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
id("org.jetbrains.kotlin.jvm") version "1.4.31"
kotlin("plugin.serialization") version "1.5.0"
// Apply the application plugin to add support for building a CLI application in Java.
application
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
// Align versions of all Kotlin components
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
// Use the Kotlin JDK 8 standard library.
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
// This dependency is used by the application.
implementation("com.google.guava:guava:30.1-jre")
// Use the Kotlin test library.
testImplementation("org.jetbrains.kotlin:kotlin-test")
// Use the Kotlin JUnit integration.
testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
implementation("org.jetbrains.kotlin:kotlin-reflect:1.5.20")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.1")
implementation("org.slf4j:slf4j-simple:1.7.30")
implementation("io.javalin:javalin:3.13.8")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")
implementation("com.h2database:h2:1.4.200")
implementation("org.jetbrains.exposed:exposed-core:0.31.1")
implementation("org.jetbrains.exposed:exposed-dao:0.31.1")
implementation("org.jetbrains.exposed:exposed-jdbc:0.31.1")
implementation("org.jetbrains.exposed:exposed-java-time:0.31.1")
implementation("joda-time:joda-time:2.10.10")
implementation("com.beust:klaxon:5.5")
implementation("com.natpryce:konfig:1.6.10.0")
implementation("io.ktor:ktor-client-core:1.6.1")
implementation("io.ktor:ktor-client-java:1.6.1")
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
dependsOn("copySinglePageApp")
}
tasks.register<Copy>("copySinglePageApp") {
from("../spa/build")
into(layout.buildDirectory.dir("resources/main/spa"))
}
tasks.withType<Jar> {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest { attributes["Main-Class"] = "xyz.etztech.stonks.AppKt" }
configurations["compileClasspath"].forEach { file: File -> from(zipTree(file.absoluteFile)) }
doFirst {
val proc = Runtime.getRuntime().exec("npm.cmd run --prefix ./spa build")
// Read the output from the command
println("NPM RUN BUILD - STD INPUT")
proc.getInputStream().bufferedReader().forEachLine { println(it) }
println("NPM RUN BUILD - STD ERROR")
proc.getErrorStream().bufferedReader().forEachLine { println(it) }
}
}
application {
// Define the main class for the application.
mainClass.set("xyz.etztech.stonks.AppKt")
}