Inceptum/launcher/build.gradle.kts

74 lines
2.4 KiB
Plaintext
Raw Normal View History

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(platform("org.lwjgl:lwjgl-bom:$lwjglVersion"))
compileOnly("org.jetbrains:annotations:23.0.0")
arrayOf("", "-opengl", "-glfw", "-tinyfd").forEach {
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<MavenPublication>("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<HttpHeaderAuthentication>("header")
}
}
}
repositories.mavenLocal()
}