Skip to content
Snippets Groups Projects
Commit 340d053a authored by dgelessus's avatar dgelessus
Browse files

Add Gradle tasks to create and install the Jupyter kernel spec

parent 27f6c5b0
No related branches found
No related tags found
No related merge requests found
# Gradle # Gradle
.gradle/ .gradle/
/build/ /build/
# Generated
/kernelspec/prob2/kernel.json
import java.nio.charset.StandardCharsets
import java.nio.file.Files
import java.nio.file.Paths
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
plugins { plugins {
...@@ -47,3 +50,35 @@ tasks.withType(JavaCompile) { ...@@ -47,3 +50,35 @@ tasks.withType(JavaCompile) {
} }
mainClassName = "de.prob2.jupyter.Main" mainClassName = "de.prob2.jupyter.Main"
final KERNEL_SPEC_PATH = project.projectDir.toPath().resolve(Paths.get("kernelspec", "prob2"))
final KERNEL_JSON_PATH = KERNEL_SPEC_PATH.resolve("kernel.json")
task createKernelSpec {
dependsOn = [shadowJar]
outputs.files(KERNEL_JSON_PATH.toFile())
doFirst {
final jarPath = shadowJar.archivePath
final jsonText = """{
\t"argv": [
\t\t"java",
\t\t"-jar",
\t\t"$jarPath",
\t\t"{connection_file}"
\t],
\t"display_name": "ProB 2",
\t"language": "prob"
}
"""
Files.write(KERNEL_JSON_PATH, jsonText.getBytes(StandardCharsets.UTF_8))
}
}
task installKernelSpec(type: Exec) {
dependsOn = [createKernelSpec]
executable = "python3"
args = ["-m", "jupyter", "kernelspec", "install", "--sys-prefix", KERNEL_SPEC_PATH.toString()]
}
if (hasProperty("pythonInterpreter")) {
installKernelSpec.executable = pythonInterpreter
}
kernelspec/prob2/logo-32x32.png

2.93 KiB

kernelspec/prob2/logo-64x64.png

6.91 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment