/* * 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 { kotlinOptions.jvmTarget = "1.8" dependsOn("copySinglePageApp") } tasks.register("copySinglePageApp") { from("../spa/build") into(layout.buildDirectory.dir("resources/main/spa")) } tasks.withType { 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") }