plugins { java application `maven-publish` id("com.github.johnrengelman.shadow") version "7.1.2" } application { mainClass.set("io.gitlab.jfronny.inceptum.Inceptum") } repositories { mavenCentral() maven { setUrl("https://gitlab.com/api/v4/projects/35745143/packages/maven") } } dependencies { val flavor: String by rootProject.extra val lwjglVersion: String by rootProject.extra val imguiVersion: String by rootProject.extra implementation(project(":common")) implementation("org.eclipse.jgit:org.eclipse.jgit:${rootProject.extra["jgitVersion"]}") implementation(platform("org.lwjgl:lwjgl-bom:$lwjglVersion")) arrayOf("", "-opengl", "-glfw", "-tinyfd").forEach { it -> implementation("org.lwjgl:lwjgl$it:$lwjglVersion") if (flavor == "windows" || flavor == "fat") implementation("org.lwjgl:lwjgl$it::natives-windows") if (flavor == "linux" || flavor == "fat") implementation("org.lwjgl:lwjgl$it::natives-linux") if (flavor == "macos" || flavor == "fat") implementation("org.lwjgl:lwjgl$it::natives-macos") } implementation("io.github.spair:imgui-java-binding:$imguiVersion") // https://github.com/SpaiR/imgui-java implementation ("io.github.spair:imgui-java-lwjgl3:$imguiVersion") if (flavor == "windows" || flavor == "fat") implementation("io.github.spair:imgui-java-natives-windows:$imguiVersion") if (flavor == "linux" || flavor == "fat") implementation("io.github.spair:imgui-java-natives-linux:$imguiVersion") if (flavor == "macos" || flavor == "fat") implementation("io.github.spair:imgui-java-natives-macos:$imguiVersion") } tasks.shadowJar { archiveClassifier.set(rootProject.extra["flavorProp"] as String) exclude("about.html") exclude("plugin.properties") exclude("META-INF/**") } publishing { publications { create("mavenJava") { artifact(tasks.shadowJar) { builtBy(tasks.shadowJar) } } } if (rootProject.extra["isPublic"] == true) { repositories.maven { url = uri("https://gitlab.com/api/v4/projects/30862253/packages/maven") name = "gitlab" credentials(HttpHeaderCredentials::class) { name = "Job-Token" value = System.getenv()["CI_JOB_TOKEN"] } authentication { create("header") } } } repositories.mavenLocal() }