Select Git revision
build.gradle
-
Johannes Mey authoredJohannes Mey authored
build.gradle 2.64 KiB
plugins {
id "java"
id "application"
id "idea"
id "org.jastadd" version "1.14.5"
}
// General configuration (plugins, settings, dependencies)
group 'de.tudresden.inf.st'
version '0.1'
sourceCompatibility = 11
targetCompatibility = 11
repositories.mavenCentral()
repositories {
maven {
name "gitlab-maven"
url "https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven"
}
}
idea.module.generatedSourceDirs += file('src/gen/java')
sourceSets.main.java.srcDir "src/gen/java"
jar.manifest.attributes('Main-Class': 'de.tudresden.inf.st.pnml.Main')
dependencies {
jastadd2 "org.jastadd:jastadd:2.3.5"
implementation group: 'de.tudresden.inf.st', name: 'dumpAstWithPlantuml', version: '0.3.5'
}
// Default run configuration
run {
mainClassName = 'de.tudresden.inf.st.mg.Main'
standardInput = System.in
}
def relastFile = "./src/main/jastadd/MotionGrammar.relast"
// Second phase: RelAst -> JastAdd
task relastToJastAdd(type: JavaExec) {
group = 'Build'
main = "-jar"
args "libs/relast.jar",
"--grammarName=./src/gen/jastadd/MotionGrammar",
"--useJastAddNames",
"--listClass=java.util.ArrayList",
"--jastAddList=JastAddList",
"--resolverHelper",
"--file",
relastFile
inputs.files relastFile
outputs.files file("./src/gen/jastadd/MotionGrammar.ast"), file("./src/gen/jastadd/MotionGrammar.jadd")
}
// Third phase: JastAdd -> Java (using JastAdd Gradle plugin)
jastadd {
configureModuleBuild()
modules {
module("mg") {
java {
basedir "src/"
include "main/**/*.java"
include "gen/**/*.java"
}
jastadd {
basedir "src/"
include "main/jastadd/**/*.ast"
include "main/jastadd/**/*.jadd"
include "main/jastadd/**/*.jrag"
include "gen/jastadd/**/*.ast"
include "gen/jastadd/**/*.jadd"
include "gen/jastadd/**/*.jrag"
}
}
}
cleanGen.doFirst {
delete "src/gen/java/de"
delete "src/gen-res/BuildInfo.properties"
}
module = "mg"
astPackage = 'de.tudresden.inf.st.mg.jastadd.model'
genDir = 'src/gen/java'
buildInfoDir = 'src/gen-res'
// default options are: '--rewrite=cnta', '--safeLazy', '--visitCheck=false', '--cacheCycle=false'
extraJastAddOptions = ['--List=JastAddList'] // '--incremental=param'
}
// Workflow configuration for phases
generateAst.dependsOn relastToJastAdd
//// always run jastadd
//jastadd.outputs.upToDateWhen {false}