Skip to content
Snippets Groups Projects
Select Git revision
  • f5dd1ba3d43e0d9337410d77810108d40ba3d166
  • master default protected
  • update-goal-generator
  • add-overrides==4.1.2
  • eval-v1
  • eval-v2
  • dev
7 results

run_agent.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    build.gradle 2.52 KiB
    import java.nio.file.Paths
    import java.util.concurrent.TimeUnit
    
    plugins {
    	id("application")
    	id("java")
    	id("wrapper")
    	
    	id("com.github.johnrengelman.shadow").version("2.0.4")
    }
    
    version = "1.0.1-SNAPSHOT"
    
    final SOURCE_ENCODING = "UTF-8"
    
    wrapper {
    	gradleVersion = "4.9"
    	distributionType = Wrapper.DistributionType.ALL
    }
    
    repositories {
    	mavenLocal()
    	jcenter()
    	maven {
    		name("Sonatype snapshots")
    		url("https://oss.sonatype.org/content/repositories/snapshots")
    	}
    	maven {
    		name("Sonatype releases")
    		url("https://oss.sonatype.org/content/repositories/releases")
    	}
    }
    
    configurations.all {
    	resolutionStrategy {
    		cacheChangingModulesFor(0, TimeUnit.SECONDS)
    	}
    }
    
    dependencies {
    	compile(group: "de.hhu.stups", name: "de.prob2.kernel", version: "3.2.12-SNAPSHOT", changing: true)
    	compile(group: "io.github.spencerpark", name: "jupyter-jvm-basekernel", version: "2.2.2")
    	compile(group: "org.jetbrains", name: "annotations", version: "13.0") // Old version, required for compatibility with Kotlin (which is used by Alloy2B, which is used by ProB 2).
    	compile(group: "se.sawano.java", name: "alphanumeric-comparator", version: "1.4.1")
    }
    
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
    
    tasks.withType(JavaCompile) {
    	options.encoding = SOURCE_ENCODING
    }
    
    mainClassName = "de.prob2.jupyter.Main"
    
    final KERNEL_SPEC_FILES_PATH = sourceSets.main.resources.sourceDirectories.singleFile.toPath().resolve(Paths.get("de", "prob2", "jupyter", "kernelspecfiles"))
    final KERNEL_SPEC_OUTPUT_PATH = project.buildDir.toPath().resolve(Paths.get("kernelspec"))
    
    task cleanKernelSpec(type: Delete) {
    	delete = [KERNEL_SPEC_OUTPUT_PATH.toFile()]
    }
    clean.dependsOn << cleanKernelSpec
    
    task createKernelSpec(type: JavaExec) {
    	dependsOn = [cleanKernelSpec, shadowJar]
    	main = project.mainClassName
    	args = ["createKernelSpec", KERNEL_SPEC_OUTPUT_PATH.toString()]
    	classpath(shadowJar.archivePath)
    	if (project.hasProperty("probHome")) {
    		systemProperty("prob.home", project.probHome)
    	}
    	inputs.dir(KERNEL_SPEC_FILES_PATH.toFile())
    	outputs.dir(KERNEL_SPEC_OUTPUT_PATH.toFile())
    	doFirst {
    		mkdir(KERNEL_SPEC_OUTPUT_PATH)
    	}
    }
    
    task installKernelSpec(type: Exec) {
    	dependsOn = [createKernelSpec]
    	executable = project.hasProperty("jupyterCommand") ? project.jupyterCommand : "jupyter"
    	final installFlag
    	if (project.hasProperty("kernelspecUserInstall") && project.kernelspecUserInstall == "true") {
    		installFlag = "--user"
    	} else {
    		installFlag = "--sys-prefix"
    	}
    	args = ["kernelspec", "install", installFlag, "--name=prob2", KERNEL_SPEC_OUTPUT_PATH.toString()]
    }