Skip to content
Snippets Groups Projects
Select Git revision
  • ac28a620ebcd0f674e31cbca04be8728741a9663
  • develop default protected
  • master protected
  • rodin2
  • rodin3
  • feature/theory_plugin
  • feature/multiview
  • csp
  • feature/newcore
  • feature/csp
  • 3.0.11
  • 3.0.8
  • 3.0.5
  • 2.4.1
  • 2.3.3
  • 2.3.2
  • 2.3.1
  • 2.3.0_fix1
  • 2.3.0
19 results

build.gradle

  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    build.gradle 3.11 KiB
    import java.util.concurrent.TimeUnit
    
    // to trigger a full tycho build please use 'gradle deleteFromClassPath completeInstall'
    
    project.ext {
    	targetRepositories = [
    		"https://download.eclipse.org/releases/2023-12/",
    		"https://rodin-b-sharp.sourceforge.net/core-updates/",
    		"https://rodin-b-sharp.sourceforge.net/updates",
    	]
    
    	groupID = "de.prob"
    }
    
    apply from: 'tycho_build.gradle'
    
    allprojects {
    	configurations.all {
    		resolutionStrategy {
    			cacheChangingModulesFor(0, TimeUnit.SECONDS)
    		}
    	}
    }
    
    project(':de.prob.core') {
    	apply plugin: "java"
    
    	repositories {
    		mavenCentral()
    		maven {
    			name "Sonatype snapshots"
    			url "https://oss.sonatype.org/content/repositories/snapshots/"
    		}
    	}
    
    	def parser_version = "2.13.3"
    
    	dependencies {
    		// Note: After changing/updating dependencies or their versions here,
    		// run "./gradlew clean setClassPath prepareMaven".
    		// This downloads the dependencies and configures them in all appropriate places.
    		// If you updated or removed any dependencies,
    		// you also need to *manually* delete the old dependencies/versions
    		// from the relevant .classpath and META-INF/MANIFEST.MF files.
    		implementation group: "de.hhu.stups", name: "answerparser", version: parser_version
    		implementation group: "de.hhu.stups", name: "bparser", version: parser_version
    		implementation group: "de.hhu.stups", name: "ltlparser", version: parser_version
    		implementation group: "de.hhu.stups", name: "parserbase", version: parser_version
    		implementation group: "de.hhu.stups", name: "prologlib", version: parser_version
    		implementation group: "de.hhu.stups", name: "unicode", version: parser_version
    		implementation group: "de.hhu.stups", name: "theorymapping", version: parser_version
    	}
    }
    
    project(":de.bmotionstudio.gef.editor") {
    	apply(plugin: "java")
    
    	repositories {
    		mavenCentral()
    	}
    
    	dependencies {
    		implementation group: "com.thoughtworks.xstream", name: "xstream", version: "1.4.20"
    		// Current versions of XStream depend on MXParser, but not any specific version of it.
    		// To avoid the version number changing unexpectedly and breaking the MANIFEST.MF classpath entries,
    		// hardcode a specific MXParser version here.
    		// It *should* be safe to update this when a new version is released.
    		implementation group: "io.github.x-stream", name: "mxparser", version: "1.2.2"
    	}
    }
    
    def download(address,target) {
    	def file = new FileOutputStream(target)
    	def out = new BufferedOutputStream(file)
    	out << new URL(address).openStream()
    	out.close()
    }
    
    task downloadCli {
    	doLast{
    		def dir = workspacePath + 'de.prob.core/prob/'
    		delete file(dir)
    		new File(dir).mkdirs()
    
    		['macos':'macos', 'linux64':'linux64', 'windows64':'windows'].each {
    			def n = it.getKey()
    
    			def targetdir = dir + it.getValue()
    			def targetzip = dir + "probcli_${n}.zip"
    			def url = "https://stups.hhu-hosting.de/downloads/prob/cli/releases/1.13.1-beta2/probcli_${n}.zip"
    			download(url, targetzip)
    			FileTree zip = zipTree(targetzip)
    			copy {
    				from zip
    				into targetdir
    			}
    			delete file(targetzip)
    		}
    	}
    }
    
    
    prepareMaven.dependsOn downloadCli
    
    task deleteCli(type: Delete) {
    	delete("de.prob.core/prob")
    }
    clean.dependsOn(deleteCli)