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
No related branches found
No related tags found
No related merge requests found
......@@ -10,4 +10,3 @@
/src/gen-res
/*.png
uml.md
gradle.properties
buildscript {
repositories.jcenter()
dependencies {
classpath 'org.jastadd:jastaddgradle:1.13.3'
}
}
// --- Plugin definitions ---
plugins {
id 'com.github.ben-manes.versions' version '0.36.0'
id 'java'
id 'idea'
id 'org.jastadd' version "${jastadd_gradle_version}"
id 'application'
}
apply plugin: 'jastadd'
mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain'
// --- Dependencies ---
repositories {
jcenter()
mavenCentral()
maven {
name "gitlab-maven"
url "https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven"
}
}
apply plugin: 'jastadd'
configurations {
baseRuntimeClasspath
ragconnectClasspath
grammar2umlClasspath
ragconnect
grammar2uml
relast
}
run {
standardInput = System.in
dependencies {
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")
sourceSets.main.java.srcDir 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
def relastFiles = ["src/gen/jastadd/MinimalModel.relast", "src/gen/jastadd/RagConnect.relast"]
task grammar2uml(type: JavaExec) {
main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler'
classpath = configurations.grammar2umlClasspath
// classpath = configurations.implementation
classpath = configurations.grammar2uml
args([
'--verbose',
]
+
relastFiles)
'--inputGrammar2Uml=minimal.folder',
'--output=uml.png',
'src/main/jastadd/MinimalModel.relast'
])
}
// phases: ragConnect -> RelAst -> JastAdd
......@@ -77,35 +62,36 @@ task grammar2uml(type: JavaExec) {
task ragConnect(type: JavaExec) {
group = 'Build'
main = 'org.jastadd.ragconnect.compiler.Compiler'
classpath = configurations.ragconnectClasspath
classpath = configurations.ragconnect
args([
'--o=src/gen/jastadd',
'src/main/jastadd/MinimalModel.relast',
'src/main/jastadd/MinimalModel.connect',
'--List=JastAddList',
'--logReads',
'--logWrites',
'--verbose',
'--rootNode=Root',
'--incremental=param,debug',
"--tracing=cache,flush"
])
}
// phase: RelAst
task relastToJastAdd(type: JavaExec) {
group = 'Build'
main = "-jar"
classpath = configurations.relast
mainClass = 'org.jastadd.relast.compiler.Compiler'
args(["libs/relast.jar",
args([
"--grammarName=./src/gen/jastadd/model",
"--useJastAddNames",
"--listClass=java.util.ArrayList",
"--jastAddList=JastAddList",
"--serializer=jackson",
"--resolverHelper",
"--file"]
"--file"
]
+
relastFiles)
......@@ -113,19 +99,13 @@ task relastToJastAdd(type: JavaExec) {
outputs.files file("./src/gen/jastadd/model.ast"), file("./src/gen/jastadd/model.jadd")
}
// --- JastAdd ---
// phase: JastAdd
jastadd {
configureModuleBuild()
modules {
//noinspection GroovyAssignabilityCheck
module("minimal") {
java {
basedir "src/"
include "main/**/*.java"
include "gen/**/*.java"
}
jastadd {
basedir "src/"
include "main/jastadd/**/*.ast"
......@@ -144,17 +124,12 @@ jastadd {
}
preprocessParser.doFirst {
args += ["--no-beaver-symbol"]
}
module = "minimal"
astPackage = 'de.tudresden.inf.st.mrc.ast'
genDir = 'src/gen/java'
buildInfoDir = 'src/gen-res'
// jastaddOptions = ["--lineColumnNumbers", "--visitCheck=true", "--rewrite=cnta", "--cache=all"]
......@@ -173,6 +148,11 @@ cleanGen.doFirst {
delete "src/gen/jastadd"
}
// Workflow configuration for phases
// --- Versioning and Publishing ---
mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain'
// --- Task order ---
generateAst.dependsOn relastToJastAdd
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 ;
send A.OutputOnA ;
send B.OutputOnB using Transformation ;
send C.OutputOnC using Transformation ;
send tree A.D ;
receive tree A.Reading ;
send A.D ;
receive A.Reading ;
// mapping definitions
Transformation maps String s to String {:
......@@ -17,5 +17,5 @@ B.OutputOnB canDependOn A.Input as dependencyB ;
C.OutputOnC canDependOn A.Input as dependencyC ;
// --- relational case ---
send tree SenderRoot.Alfa ;
receive tree ReceiverRoot.Alfa ;
send SenderRoot.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