prog8/beanshell/build.gradle.kts

92 lines
2.0 KiB
Plaintext
Raw Permalink Normal View History

2024-10-29 22:42:37 +00:00
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2024-07-03 20:52:11 +00:00
plugins {
kotlin("jvm")
id("application")
}
val serverMainClassName = "prog8lsp.MainKt"
val applicationName = "prog8-beanshell"
2024-10-29 22:42:37 +00:00
val javaVersion: String by project
2024-07-03 20:52:11 +00:00
application {
mainClass.set(serverMainClassName)
description = "Code completions, diagnostics and more for Prog8"
// applicationDefaultJvmArgs = listOf("-DkotlinLanguageServer.version=$version")
applicationDistribution.into("bin") {
filePermissions {
user {
read=true
execute=true
write=true
}
other.execute = true
group.execute = true
}
}
}
repositories {
mavenCentral()
}
dependencies {
implementation(files("lib/bsh-3.0.0-SNAPSHOT.jar"))
2024-07-03 20:52:11 +00:00
}
configurations.forEach { config ->
config.resolutionStrategy {
preferProjectModules()
}
}
sourceSets.main {
java.srcDir("src")
resources.srcDir("resources")
}
sourceSets.test {
java.srcDir("src")
resources.srcDir("resources")
}
tasks.startScripts {
applicationName = "prog8-beanshell"
2024-07-03 20:52:11 +00:00
}
tasks.register<Exec>("fixFilePermissions") {
// When running on macOS or Linux the start script
// needs executable permissions to run.
onlyIf { !System.getProperty("os.name").lowercase().contains("windows") }
commandLine("chmod", "+x", "${tasks.installDist.get().destinationDir}/bin/prog8-beanshell")
2024-07-03 20:52:11 +00:00
}
tasks.withType<Test>() {
testLogging {
events("failed")
exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
}
}
tasks.installDist {
finalizedBy("fixFilePermissions")
}
tasks.build {
finalizedBy("installDist")
}
2024-10-29 22:42:37 +00:00
java {
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_11
}
kotlin {
2024-10-29 22:42:37 +00:00
compilerOptions.jvmTarget = JvmTarget.JVM_11
// jvmToolchain {
// languageVersion = JavaLanguageVersion.of(javaVersion.toInt())
// }
}