Skip to content
Snippets Groups Projects
Commit 555a2769 authored by René Schöne's avatar René Schöne
Browse files

Update to the latest versions of used tools.

- restructured build.gradle according to best practices
parent 2f234052
Branches
Tags
No related merge requests found
...@@ -10,4 +10,3 @@ ...@@ -10,4 +10,3 @@
/src/gen-res /src/gen-res
/*.png /*.png
uml.md uml.md
gradle.properties
buildscript { // --- Plugin definitions ---
repositories.jcenter()
dependencies {
classpath 'org.jastadd:jastaddgradle:1.13.3'
}
}
plugins { plugins {
id 'com.github.ben-manes.versions' version '0.36.0' id 'com.github.ben-manes.versions' version '0.36.0'
id 'java' id 'java'
id 'idea' id 'idea'
id 'org.jastadd' version "${jastadd_gradle_version}"
id 'application' id 'application'
} }
apply plugin: 'jastadd' // --- Dependencies ---
mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain'
repositories { repositories {
jcenter() mavenCentral()
maven { maven {
name "gitlab-maven" name "gitlab-maven"
url "https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven" url "https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven"
} }
} }
apply plugin: 'jastadd'
configurations { configurations {
baseRuntimeClasspath ragconnect
ragconnectClasspath grammar2uml
grammar2umlClasspath relast
} }
run { dependencies {
standardInput = System.in grammar2uml group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.2.4'
relast group: 'org.jastadd', name: 'relast', version: "0.4.0-143"
ragconnect group: 'de.tudresden.inf.st', name: 'ragconnect', version: '1.0.0-alpha-214'
implementation group: 'de.tudresden.inf.st', name: 'dumpAst', version: '1.0.4-70'
jastadd2 group: 'org.jastadd', name: 'jastadd2', version: '2.3.5-dresden'
implementation group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.16'
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: "${log4j_version}"
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: "${log4j_version}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: "${jackson_version}"
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jackson_version}"
} }
// --- Preprocessors ---
File genSrc = file("src/gen/java") File genSrc = file("src/gen/java")
sourceSets.main.java.srcDir genSrc sourceSets.main.java.srcDir genSrc
idea.module.generatedSourceDirs += genSrc idea.module.generatedSourceDirs += genSrc
dependencies {
// implementation fileTree(include: ['dumpAst2uml.jar'], dir: 'libs')
implementation group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.16'
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.14.0'
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.14.0'
implementation group: 'de.tudresden.inf.st', name: 'dumpAstWithPlantuml', version: '0.3.5'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.12.1'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.1'
implementation group: 'de.tudresden.inf.st', name: 'dumpAst', version: '0.3.5'
grammar2umlClasspath group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.1.1'
// ragconnectClasspath group: 'de.tudresden.inf.st', name: 'ragconnect', version: '0.2.4'
ragconnectClasspath fileTree(include: ['ragconnect-0.2.5.jar'], dir: '/data/git/jastadd-ragconnect/ragconnect.base/build/libs')
// jastadd2 "org.jastadd:jastadd:2.3.4"
jastadd2 fileTree(include: ['jastadd2.jar'], dir: '/data/git/jastadd-2/')
}
// Input files for relast // Input files for relast
def relastFiles = ["src/gen/jastadd/MinimalModel.relast", "src/gen/jastadd/RagConnect.relast"] def relastFiles = ["src/gen/jastadd/MinimalModel.relast", "src/gen/jastadd/RagConnect.relast"]
task grammar2uml(type: JavaExec) { task grammar2uml(type: JavaExec) {
main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler' main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler'
classpath = configurations.grammar2umlClasspath classpath = configurations.grammar2uml
// classpath = configurations.implementation
args([ args([
'--verbose', '--inputGrammar2Uml=minimal.folder',
] '--output=uml.png',
+ 'src/main/jastadd/MinimalModel.relast'
relastFiles) ])
} }
// phases: ragConnect -> RelAst -> JastAdd // phases: ragConnect -> RelAst -> JastAdd
...@@ -77,35 +62,36 @@ task grammar2uml(type: JavaExec) { ...@@ -77,35 +62,36 @@ task grammar2uml(type: JavaExec) {
task ragConnect(type: JavaExec) { task ragConnect(type: JavaExec) {
group = 'Build' group = 'Build'
main = 'org.jastadd.ragconnect.compiler.Compiler' main = 'org.jastadd.ragconnect.compiler.Compiler'
classpath = configurations.ragconnectClasspath classpath = configurations.ragconnect
args([ args([
'--o=src/gen/jastadd', '--o=src/gen/jastadd',
'src/main/jastadd/MinimalModel.relast', 'src/main/jastadd/MinimalModel.relast',
'src/main/jastadd/MinimalModel.connect', 'src/main/jastadd/MinimalModel.connect',
'--List=JastAddList',
'--logReads', '--logReads',
'--logWrites', '--logWrites',
'--verbose',
'--rootNode=Root', '--rootNode=Root',
'--incremental=param,debug', '--incremental=param,debug',
"--tracing=cache,flush" "--tracing=cache,flush"
]) ])
} }
// phase: RelAst // phase: RelAst
task relastToJastAdd(type: JavaExec) { task relastToJastAdd(type: JavaExec) {
group = 'Build' group = 'Build'
main = "-jar" classpath = configurations.relast
mainClass = 'org.jastadd.relast.compiler.Compiler'
args(["libs/relast.jar", args([
"--grammarName=./src/gen/jastadd/model", "--grammarName=./src/gen/jastadd/model",
"--useJastAddNames", "--useJastAddNames",
"--listClass=java.util.ArrayList", "--listClass=java.util.ArrayList",
"--jastAddList=JastAddList", "--jastAddList=JastAddList",
"--serializer=jackson", "--serializer=jackson",
"--resolverHelper", "--resolverHelper",
"--file"] "--file"
]
+ +
relastFiles) relastFiles)
...@@ -113,19 +99,13 @@ task relastToJastAdd(type: JavaExec) { ...@@ -113,19 +99,13 @@ task relastToJastAdd(type: JavaExec) {
outputs.files file("./src/gen/jastadd/model.ast"), file("./src/gen/jastadd/model.jadd") outputs.files file("./src/gen/jastadd/model.ast"), file("./src/gen/jastadd/model.jadd")
} }
// --- JastAdd ---
// phase: JastAdd // phase: JastAdd
jastadd { jastadd {
configureModuleBuild() configureModuleBuild()
modules { modules {
//noinspection GroovyAssignabilityCheck //noinspection GroovyAssignabilityCheck
module("minimal") { module("minimal") {
java {
basedir "src/"
include "main/**/*.java"
include "gen/**/*.java"
}
jastadd { jastadd {
basedir "src/" basedir "src/"
include "main/jastadd/**/*.ast" include "main/jastadd/**/*.ast"
...@@ -144,17 +124,12 @@ jastadd { ...@@ -144,17 +124,12 @@ jastadd {
} }
preprocessParser.doFirst { preprocessParser.doFirst {
args += ["--no-beaver-symbol"] args += ["--no-beaver-symbol"]
} }
module = "minimal" module = "minimal"
astPackage = 'de.tudresden.inf.st.mrc.ast' astPackage = 'de.tudresden.inf.st.mrc.ast'
genDir = 'src/gen/java' genDir = 'src/gen/java'
buildInfoDir = 'src/gen-res' buildInfoDir = 'src/gen-res'
// jastaddOptions = ["--lineColumnNumbers", "--visitCheck=true", "--rewrite=cnta", "--cache=all"] // jastaddOptions = ["--lineColumnNumbers", "--visitCheck=true", "--rewrite=cnta", "--cache=all"]
...@@ -173,6 +148,11 @@ cleanGen.doFirst { ...@@ -173,6 +148,11 @@ cleanGen.doFirst {
delete "src/gen/jastadd" delete "src/gen/jastadd"
} }
// Workflow configuration for phases // --- Versioning and Publishing ---
mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain'
// --- Task order ---
generateAst.dependsOn relastToJastAdd generateAst.dependsOn relastToJastAdd
relastToJastAdd.dependsOn ragConnect relastToJastAdd.dependsOn ragConnect
// --- Misc ---
# suppress inspection "UnusedProperty" for whole file
systemProp.socksProxyHost=127.0.0.1
systemProp.socksProxyPort=9999
jackson_version = 2.13.2
jackson_yaml_version = 2.13.2
jupiter_version = 5.8.2
assertj_version = 3.22.0
log4j_version = 2.17.2
protobuf_version = 4.0.0-rc-2
protobuf_plugin_version = 0.8.18
jastadd_gradle_version = 1.14.5
folder Sender : SenderRoot, SenderSubTree
folder Receiver : ReceiverRoot, ReceiverSubTree
folder Alfa : Alfa, Echo, Foxtrot, Golf
...@@ -3,8 +3,8 @@ receive A.Input ; ...@@ -3,8 +3,8 @@ receive A.Input ;
send A.OutputOnA ; send A.OutputOnA ;
send B.OutputOnB using Transformation ; send B.OutputOnB using Transformation ;
send C.OutputOnC using Transformation ; send C.OutputOnC using Transformation ;
send tree A.D ; send A.D ;
receive tree A.Reading ; receive A.Reading ;
// mapping definitions // mapping definitions
Transformation maps String s to String {: Transformation maps String s to String {:
...@@ -17,5 +17,5 @@ B.OutputOnB canDependOn A.Input as dependencyB ; ...@@ -17,5 +17,5 @@ B.OutputOnB canDependOn A.Input as dependencyB ;
C.OutputOnC canDependOn A.Input as dependencyC ; C.OutputOnC canDependOn A.Input as dependencyC ;
// --- relational case --- // --- relational case ---
send tree SenderRoot.Alfa ; send SenderRoot.Alfa ;
receive tree ReceiverRoot.Alfa ; receive ReceiverRoot.Alfa ;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment