Skip to content
Snippets Groups Projects
Select Git revision
  • 2c156257ac0dde1399f0cf3bb10a895f16368f61
  • master default protected
  • release/1.1.4
  • release/1.1.3
  • release/1.1.1
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.1
  • 1.1.0
  • 1.0.9
  • 1.0.8
  • 1.0.7
  • v1.0.5
  • 1.0.5
20 results

BAstCreator.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    build.gradle 2.25 KiB
    import java.util.concurrent.TimeUnit
    
    plugins {
    	id("application")
    	id("java")
    	id("wrapper")
    	
    	id("com.github.johnrengelman.shadow").version("8.1.1")
    }
    
    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.7")
    	implementation(group: "com.google.guava", name: "guava", version: "31.1-jre")
    	implementation(group: "de.hhu.stups", name: "de.prob2.kernel", version: "4.13.0-SNAPSHOT")
    	implementation(group: "io.github.spencerpark", name: "jupyter-jvm-basekernel", version: "2.3.0")
    	implementation(group: "org.jetbrains", name: "annotations", version: "24.0.1")
    	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
    }
    
    def readCurrentGitCommit() {
    	def proc = ["git", "rev-parse", "HEAD"].execute(null, project.projectDir)
    	def exitCode = proc.waitFor()
    	if (exitCode != 0) {
    		throw new IllegalStateException("git rev-parse command exited with status code ${exitCode}:\n" + proc.err.readLines().join("\n"))
    	}
    	return proc.in.readLines()[0]
    }
    
    final currentGitCommit = readCurrentGitCommit()
    processResources {
    	inputs.property("project.version", project.version)
    	inputs.property("currentGitCommit", currentGitCommit)
    	filesMatching("de/prob2/jupyter/build.properties") {
    		expand(version: project.version, commit: readCurrentGitCommit())
    	}
    }
    
    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")
    	}
    }