diff --git a/build.gradle b/build.gradle index 95df5f5ca49ab6597d4f6c2c2d2a97e9cc1aaf20..4ad968c95598ceef3ce1f60aba86aa4632398fd2 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,197 @@ -plugins { - id 'java' +// General configuration (plugins, settings, dependencies) +group 'de.tudresden.inf.st' +version '0.3' + +apply plugin: 'java' +apply plugin: 'java-library' +apply plugin: 'jastadd' +apply plugin: 'application' +apply plugin: "idea" +apply plugin: 'java-library' + +sourceCompatibility = 1.8 +targetCompatibility = 1.8 + +// maven central repo +repositories.mavenCentral() + +buildscript { + //repositories.mavenCentral() + repositories { + jcenter() + mavenCentral() + } + dependencies { + classpath group: 'org.jastadd', name: 'jastaddgradle', version: '1.13.3' + } + + configurations { + classpath { + exclude group: 'org.slf4j', module: 'slf4j-api'//, version: '1.7.30' + } + } + + /* configurations.all { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + if (details.requested.name == 'org.slf4j') { + details.useTarget 'org.slf4j:slf4j-api:1.7.+' + } + } + }*/ } -group 'org.example' -version '1.0-SNAPSHOT' +idea.module.generatedSourceDirs += file('src/gen/java') -repositories { - mavenCentral() +sourceSets.main.java.srcDir "src/gen/java" +jar.manifest.attributes('Main-Class': 'de.tudresden.inf.st.pnml.splitter.Main') + + +configurations { + myBeaver } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.12' + + implementation project(':pnml-relast-base') + + implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jackson_version}" + implementation group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11' + implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' + implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.13.2' + implementation group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.15' + + // pnml lib + implementation group: 'org.eclipse.emf', name: 'org.eclipse.emf.ecore', version: '2.12.0' + implementation group: 'org.eclipse.emf', name: 'org.eclipse.emf.ecore.xmi', version: '2.12.0' + implementation group: 'org.eclipse.emf', name: 'org.eclipse.emf.common', version: '2.12.0' + implementation group: 'org.eclipse.emf', name: 'org.eclipse.emf.mwe.core', version: '1.3.13' + api group: 'fr.lip6.pnml', name: 'fr.lip6.pnml.framework.ptnet', version: '2.2.12' + api group: 'fr.lip6.pnml', name: 'fr.lip6.pnml.framework.utils', version: '2.2.12' + implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-api', version: '1.2.22' + implementation group: 'org.apache.ws.commons.axiom', name: 'axiom-impl', version: '1.2.22' + implementation group: 'com.thaiopensource', name: 'jing', version: '20091111' + implementation 'org.jetbrains:annotations:19.0.0' + // https://mvnrepository.com/artifact/xalan/xalan + implementation group: 'xalan', name: 'xalan', version: '2.7.2' + + compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.0' + + myBeaver group: 'net.sf.beaver', name: 'beaver-ant', version: '0.9.11' + + jastadd2 "org.jastadd:jastadd:2.3.4" +} + +// Default run configuration + +run { + mainClassName = 'de.tudresden.inf.st.pnml.splitter.Main' + standardInput = System.in +} + +// Generated files +//def relastFile = "./src/gen/jastadd/pnml/placeTransition.relast" + +jar { + manifest { + attributes "Main-Class": "de.tudresden.inf.st.pnml.splitter.Main" + } + + from { + //configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } + + exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' + + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + archiveBaseName = 'pnml-splitter' + } +/* +task relastToJastAdd(type: JavaExec) { + group = 'Build' + main = "-jar" + + args "libs/relast.jar", + "--grammarName=./src/gen/jastadd/placeTransition", + "--useJastAddNames", + "--listClass=ArrayList", + "--jastAddList=JastAddList", + "--resolverHelper", + "--file", + relastFile, + "../pnml-relast-base/src/main/jastadd/marking/Marking.relast", + "../pnml-relast-base/src/main/jastadd/io/IoPN.relast", + "../pnml-relast-base/src/main/jastadd/clauses/expressions.relast" +}*/ + +jastadd { + + configureModuleBuild() + modules { + + + + module("pnml") { + + java { + basedir "src/" + include "main/**/*.java" + include "gen/**/*.java" + } + + jastadd { + basedir ".." + // include "pnml-relast-splitter/src/main/jastadd/**/*.ast" + include "pnml-relast-splitter/src/main/jastadd/**/*.jadd" + // include "pnml-relast-splitter/src/main/jastadd/**/*.jrag" + + // include "pnml-relast-base/src/main/jastadd/**/*.ast" + include "pnml-relast-base/src/main/jastadd/**/*.jadd" + include "pnml-relast-base/src/main/jastadd/**/*.jrag" + include "pnml-relast-base/src/gen/jastadd/**/*.ast" + include "pnml-relast-base/src/gen/jastadd/**/*.jadd" + include "pnml-relast-base/src/gen/jastadd/**/*.jrag" + } + + scanner { + basedir ".." + // include "pnml-relast-base/main/jastadd/PnmlScanner.flex" + include "pnml-relast-base/src/main/jastadd/clauses/expressions.flex" + } + + parser { + basedir ".." + // include "pnml-relast-base/jastadd/PnmlParser.parser" + } + } + } + + cleanGen.doFirst { + delete "src/gen/java/de" + delete "src/gen-res/BuildInfo.properties" + } + + module = "pnml" + + astPackage = 'de.tudresden.inf.st.pnml.jastadd.model' + + genDir = 'src/gen/java' + + buildInfoDir = 'src/gen-res' + + scanner.genDir = "src/gen/java/de/tudresden/inf/st/pnml/jastadd/scanner" + parser.genDir = "src/gen/java/de/tudresden/inf/st/pnml/jastadd/parser" + +// default options are: '--rewrite=cnta', '--safeLazy', '--visitCheck=false', '--cacheCycle=false' + extraJastAddOptions = ['--List=JastAddList'] // '--incremental=param' +} + +// Workflow configuration for phases +//relastToJastAdd.dependsOn ":pnml-relast-base:ecoreToRelast" +generateAst.dependsOn ":pnml-relast-base:relastToJastAdd" +compileJava.dependsOn ":pnml-relast-base:generateBeaver" +//// always run jastadd +//jastadd.outputs.upToDateWhen {false} + diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 841fbcc3699bdcbedfab5462f80d5305a7e66b63..0000000000000000000000000000000000000000 --- a/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'pnml-relast-splitter' -