Select Git revision
test_all.pl
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.gradle 2.18 KiB
import java.util.concurrent.TimeUnit
plugins {
id("application")
id("java")
id("wrapper")
id("com.gradleup.shadow").version("8.3.6")
}
version = "1.4.2-SNAPSHOT"
final isSnapshot = project.version.endsWith("-SNAPSHOT")
final SOURCE_ENCODING = "UTF-8"
repositories {
mavenCentral()
if (isSnapshot) {
maven {
name = "Sonatype snapshots"
url = "https://oss.sonatype.org/content/repositories/snapshots"
}
}
}
configurations.all {
resolutionStrategy {
cacheChangingModulesFor(0, TimeUnit.SECONDS)
}
}
dependencies {
implementation(group: "ch.qos.logback", name: "logback-classic", version: "1.3.15")
implementation(group: "com.google.guava", name: "guava", version: "33.4.0-jre")
implementation(platform(group: "de.hhu.stups", name: "prob-java-bom", version: "4.13.2-SNAPSHOT"))
implementation(group: "de.hhu.stups", name: "de.prob2.kernel")
implementation(group: "io.github.spencerpark", name: "jupyter-jvm-basekernel", version: "2.3.0")
implementation(group: "org.jetbrains", name: "annotations", version: "26.0.2")
implementation(group: "se.sawano.java", name: "alphanumeric-comparator", version: "1.4.1")
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
tasks.withType(JavaCompile) {
options.encoding = SOURCE_ENCODING
}
final firstLineOfProcessOutput = {ExecOutput execOutput ->
return execOutput.standardOutput.asText.map {it.split('\n')[0]}
}
processResources {
inputs.property("version", project.version)
inputs.property("currentGitCommit", firstLineOfProcessOutput(providers.exec {
executable = "git"
args = ["rev-parse", "HEAD"]
}))
filesMatching("de/prob2/jupyter/build.properties") {
expand(version: inputs.properties["version"], commit: inputs.properties["currentGitCommit"])
}
}
application {
mainClass = "de.prob2.jupyter.Main"
}
task installKernelSpec(type: Exec) {
dependsOn = [shadowJar]
executable = project.hasProperty("pythonCommand") ? project.pythonCommand : "python3"
args = [shadowJar.archiveFile.get().asFile, "--jar-path=" + shadowJar.archiveFile.get().asFile, "install"]
if (project.hasProperty("kernelspecUserInstall") && project.kernelspecUserInstall == "true") {
args("--user")
}
}