Select Git revision
build.gradle
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.gradle 3.84 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/2022-03/",
"https://rodin-b-sharp.sourceforge.net/core-updates/",
"https://rodin-b-sharp.sourceforge.net/updates",
]
groupID = "de.prob"
categoryId = "de.prob2.feature.category"
categoryLabel = "ProB for Rodin"
// When editing the description here,
// also update the descriptions in all feature.xml files!
categoryDescription = """\
ProB is an animator and model checker for the B-Method. It allows
fully automatic animation of many B specifications, and can be
used to systematically check a specification for errors.
Part of the research and development was conducted within the
EPSRC funded projects ABCD and iMoc, and within the EU funded
projects Rodin and Deploy and the DFG projects Gepavas and Gepavas II.
ProB has been successfully used on various industrial specifications
and is now being used e.g. within Siemens, Alstom, Thales and ClearSy.
""".stripIndent()
}
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.12.8-SNAPSHOT"
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/nightly/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)