Exit Full View

Vectorial / build.gradle.kts

// vectorial (root)
// Builds the GUI application.

plugins {
    kotlin("jvm") version "1.9.10"
    id("org.jetbrains.dokka") version "1.8.10"
    application
}

allprojects {
    apply(plugin = "org.jetbrains.kotlin.jvm")

    repositories {
        mavenCentral()
        // Glok is a GUI toolkit similar to JavaFX, but with low level access to OpenGL.
        maven {
            name = "glok"
            url = uri("https://gitlab.com/api/v4/projects/46354938/packages/maven")
        }
    }

    //kotlin {
    //    jvmToolchain(11)
    //}
}

application {
    mainClass.set("uk.co.nickthecoder.vectorial.Vectorial")
}

val vectorialVersion: String by project
val glokVersion: String by project
val jomlVersion: String by project
val lwjglVersion: String by project

dependencies {
    implementation(project(":vectorial-core"))

    implementation("uk.co.nickthecoder:glok-model:$glokVersion")
    implementation("uk.co.nickthecoder:glok-core:$glokVersion")
    implementation("uk.co.nickthecoder:glok-dock:$glokVersion")

    implementation("org.joml:joml:$jomlVersion")

    implementation("org.lwjgl:lwjgl:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-glfw:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-jemalloc:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-opengl:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-stb:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-glfw:$lwjglVersion")
    implementation("org.lwjgl:lwjgl-nfd:$lwjglVersion")
}

task<Exec>("publishDokka") {
    dependsOn(":dokkaHtmlMultiModule")
    commandLine("./publishDokka.feathers", "build/dokka/htmlMultiModule/", "../api/vectorial-$vectorialVersion")
}

task<Exec>("publishZip") {
    dependsOn(":distZip")
    commandLine("cp", "build/distributions/foocad-${vectorialVersion}.zip", "../download/")
}

task<Exec>("ntc") {
    dependsOn(":publishDokka", ":publishZip")
    commandLine("echo", "Done")
}

defaultTasks("installDist")