From 0ca56056f66cb36a0253db6a69c74376c737f81e Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Mon, 11 Apr 2022 16:47:46 +0200
Subject: [PATCH] Updated versions.

---
 ...os3rag.java-application-conventions.gradle |  4 ----
 ...ros3rag.java-ragconnect-conventions.gradle | 12 ++++++----
 gradle.properties                             | 13 +++++-----
 ros3rag.common/build.gradle                   |  2 +-
 .../st/ros3rag/common/SharedMainParts.java    |  6 ++---
 .../src/main/resources/tasks.gradle           | 24 ++++++++++++-------
 .../src/main/jastadd/WorldModelA.connect      | 10 ++++----
 .../de/tudresden/inf/st/placeA/UtilA.java     |  2 +-
 .../src/main/jastadd/WorldModelB.connect      | 11 +++++----
 .../src/main/jastadd/WorldModelB.relast       |  2 +-
 .../de/tudresden/inf/st/placeB/UtilB.java     |  4 ++--
 11 files changed, 48 insertions(+), 42 deletions(-)

diff --git a/buildSrc/src/main/groovy/ros3rag.java-application-conventions.gradle b/buildSrc/src/main/groovy/ros3rag.java-application-conventions.gradle
index ca778a4..2242c13 100644
--- a/buildSrc/src/main/groovy/ros3rag.java-application-conventions.gradle
+++ b/buildSrc/src/main/groovy/ros3rag.java-application-conventions.gradle
@@ -2,7 +2,3 @@ plugins {
   id 'ros3rag.java-common-conventions'
   id 'application'
 }
-
-run {
-  standardInput = System.in
-}
diff --git a/buildSrc/src/main/groovy/ros3rag.java-ragconnect-conventions.gradle b/buildSrc/src/main/groovy/ros3rag.java-ragconnect-conventions.gradle
index e653684..ad1b6a7 100644
--- a/buildSrc/src/main/groovy/ros3rag.java-ragconnect-conventions.gradle
+++ b/buildSrc/src/main/groovy/ros3rag.java-ragconnect-conventions.gradle
@@ -3,17 +3,19 @@ plugins {
 }
 
 configurations {
-  baseRuntimeClasspath
-  ragconnectClasspath
-  grammar2umlClasspath
+  ragconnect
+  grammar2uml
+  relast
 }
 
 dependencies {
   api group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
-  grammar2umlClasspath group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.1.1'
+  grammar2uml group: 'de.tudresden.inf.st', name: 'grammar2uml', version: '0.2.3'
 
-  ragconnectClasspath group: 'de.tudresden.inf.st', name: 'ragconnect', version: '0.3.1'
+  relast group: 'org.jastadd', name: 'relast', version: "0.4.0-143"
+  ragconnect group: 'de.tudresden.inf.st', name: 'ragconnect', version: '1.0.0-alpha-198'
 
 //  implementation group: 'de.tudresden.inf.st', name: 'dumpAstWithPlantuml', version: '0.3.5'
 //  implementation fileTree(include: ['dumpAstWithPlantuml-0.3.5.jar'], dir: '../libs')
 }
+
diff --git a/gradle.properties b/gradle.properties
index 22f6318..45378cc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,7 +1,8 @@
-jackson_version = 2.12.3
-jupiter_version = 5.8.0-M1
-assertj_version = 3.19.0
-log4j_version = 2.14.1
+jackson_version = 2.13.2.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.16
-jastadd_gradle_version = 1.13.3
+protobuf_plugin_version = 0.8.18
+jastadd_gradle_version = 1.14.5
diff --git a/ros3rag.common/build.gradle b/ros3rag.common/build.gradle
index 25432f5..d3efb0c 100644
--- a/ros3rag.common/build.gradle
+++ b/ros3rag.common/build.gradle
@@ -12,7 +12,7 @@ plugins {
 }
 
 dependencies {
-    implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jackson_version}"
+    implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: "${jackson_yaml_version}"
     api group: 'com.google.protobuf', name: 'protobuf-java', version: "${protobuf_version}"
     api group: 'com.google.protobuf', name: 'protobuf-java-util', version: "${protobuf_version}"
     api group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1'
diff --git a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
index d9bb902..dfb03f3 100644
--- a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
+++ b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
@@ -68,7 +68,6 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
     mainHandler.setHost(config.mqttHost);
     mainHandler.waitUntilReady(2, TimeUnit.SECONDS);
     CountDownLatch exitCondition = new CountDownLatch(1);
-    startCondition = new CountDownLatch(1);
     mainHandler.newConnection(TOPIC_EXIT, bytes -> exitCondition.countDown());
     mainHandler.newConnection(TOPIC_MODEL, bytes -> logStatus(new String(bytes)));
     mainHandler.newConnection(TOPIC_REWIND, bytes ->
@@ -128,7 +127,7 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
         startCondition.countDown();
         break;
       default:
-        System.err.println("Unknown command: " + command);
+        System.err.println("Unknown coordinator command: " + command);
     }
   }
 
@@ -147,10 +146,11 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
     model.ragconnectSetupMqttWaitUntilReady(2, TimeUnit.SECONDS);
 
     if (config.useCoordinator()) {
+      startCondition = new CountDownLatch(1);
       mainHandler.publish(joinTopics(config.coordinatorMqttTopicPrefix, TOPIC_SUFFIX_COORDINATOR_STATUS),
           "up".getBytes(StandardCharsets.UTF_8));
+      startCondition.await();
     }
-    startCondition.await();
 
     connectEndpoints();
 
diff --git a/ros3rag.common/src/main/resources/tasks.gradle b/ros3rag.common/src/main/resources/tasks.gradle
index 1a8119d..8016213 100644
--- a/ros3rag.common/src/main/resources/tasks.gradle
+++ b/ros3rag.common/src/main/resources/tasks.gradle
@@ -1,9 +1,8 @@
 
 dependencies {
-//    jastadd2 "org.jastadd:jastadd:2.3.5"
-    jastadd2 fileTree(include: ['jastadd2.jar'], dir: '../libs')
+    jastadd2 "org.jastadd:jastadd2:2.3.5-dresden-5"
+//    jastadd2 fileTree(include: ['jastadd2.jar'], dir: '../libs')
     api group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.15'
-
 }
 
 sourceCompatibility = 11
@@ -14,7 +13,7 @@ targetCompatibility = 11
 task ragConnect(type: JavaExec) {
     group = 'Build'
     main = 'org.jastadd.ragconnect.compiler.Compiler'
-    classpath = configurations.ragconnectClasspath
+    classpath = configurations.ragconnect
 
     args([
             '--o=src/gen/jastadd',
@@ -26,6 +25,7 @@ task ragConnect(type: JavaExec) {
             '--logWrites',
 //            '--verbose',
             '--rootNode=' + project.ext.ragConnectRootNode,
+            '--List=JastAddList',
             '--experimental-jastadd-329',
             '--incremental=param',
             "--tracing=cache,flush"
@@ -38,7 +38,7 @@ task ragConnect(type: JavaExec) {
 
 task grammar2uml(type: JavaExec) {
     main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler'
-    classpath = configurations.grammar2umlClasspath
+    classpath = configurations.grammar2uml
 
     args([
             '--verbose',
@@ -49,10 +49,16 @@ task grammar2uml(type: JavaExec) {
 // phase: RelAst
 task relastToJastAdd(type: JavaExec) {
     group = 'Build'
-    main = "-jar"
+    classpath = configurations.relast
+    //noinspection GroovyAssignabilityCheck, GroovyAccessibility
+    mainClass = 'org.jastadd.relast.compiler.Compiler'
 
-    args(["../libs/relast.jar",
-          "--grammarName=./src/gen/jastadd/model",
+    doFirst {
+        mkdir "src/gen/jastadd/"
+    }
+
+    args = [
+            "--grammarName=./src/gen/jastadd/model",
           "--useJastAddNames",
           "--listClass=java.util.ArrayList",
           "--jastAddList=JastAddList",
@@ -60,7 +66,7 @@ task relastToJastAdd(type: JavaExec) {
           "--resolverHelper",
           "--file",
           "src/gen/jastadd/types.relast"
-    ] + project.ext.relastFiles)
+    ] + project.ext.relastFiles
 
     inputs.files project.ext.relastFiles + ['src/gen/jastadd/types.relast']
     outputs.files file("./src/gen/jastadd/model.ast"), file("./src/gen/jastadd/model.jadd")
diff --git a/ros3rag.placeA/src/main/jastadd/WorldModelA.connect b/ros3rag.placeA/src/main/jastadd/WorldModelA.connect
index 0edcf6f..c3e16e8 100644
--- a/ros3rag.placeA/src/main/jastadd/WorldModelA.connect
+++ b/ros3rag.placeA/src/main/jastadd/WorldModelA.connect
@@ -1,13 +1,13 @@
 // --- receiving ---
-receive tree WorldModelA.Scene using ParseScene, ConvertScene ;
+receive WorldModelA.Scene using ParseScene, ConvertScene ;
 // rs: not sure whether we want to receive a complete scene. could be hard to update/merge
 //     if necessary, need a mapping. the multi-point-connection is an alternative.
 //     we need to decide for one way
 
 // rs: let's try to use a "multi-point-connection" (same input meesage, multiple recipients)
-receive tree ObjectOfInterest.Position using DeserializeObject, ExtractPositionFromObject ;
-receive tree ObjectOfInterest.Size using DeserializeObject, ExtractSizeFromObject ;
-receive tree ObjectOfInterest.Orientation using DeserializeObject,ExtractOrientationFromObject ;
+receive ObjectOfInterest.Position using DeserializeObject, ExtractPositionFromObject ;
+receive ObjectOfInterest.Size using DeserializeObject, ExtractSizeFromObject ;
+receive ObjectOfInterest.Orientation using DeserializeObject,ExtractOrientationFromObject ;
 
 DeserializeObject maps byte[] bytes to de.tudresden.inf.st.ceti.Object {:
   return de.tudresden.inf.st.ceti.Object.parseFrom(bytes);
@@ -38,4 +38,4 @@ ExtractOrientationFromObject maps de.tudresden.inf.st.ceti.Object o to Orientati
 :}
 
 // --- sending ---
-send tree WorldModelA.LogicalScene ;
+send WorldModelA.LogicalScene ;
diff --git a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java
index 623867a..fafa021 100644
--- a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java
+++ b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java
@@ -68,7 +68,7 @@ public class UtilA {
   @SuppressWarnings("rawtypes")
   static class ExposingASTNode extends ASTNode {
     public Scene exposed_apply_ConvertScene(de.tudresden.inf.st.ceti.Scene pbScene) throws Exception {
-      return ASTNode._apply_ConvertScene(pbScene);
+      return ASTNode._ragconnect__apply_ConvertScene(pbScene);
     }
   }
 }
diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect
index 3748304..d2a9fab 100644
--- a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect
+++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect
@@ -1,11 +1,12 @@
 // --- receiving ---
-receive tree WorldModelB.MyScene using ParseScene, ConvertScene ;
-receive tree WorldModelB.OtherScene1 ;
-receive tree WorldModelB.OtherScene2 ;
-receive tree Robot.CanReachObjectOfInterestWrapper using ParseReachability, ConvertReachability ;
+receive WorldModelB.MyScene using ParseScene, ConvertScene ;
+receive WorldModelB.OtherScene1 ;
+receive WorldModelB.OtherScene2 ;
+receive WorldModelB.TestingOtherScene ;
+receive Robot.CanReachObjectOfInterestWrapper using ParseReachability, ConvertReachability ;
 
 // --- sending ---
-send tree WorldModelB.NextOperation using PrintOperation ;
+send WorldModelB.NextOperation using PrintOperation ;
 
 PrintOperation maps Operation op to byte[] {:
   var result = op.toMergedSelection();
diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast
index d474353..f2bc360 100644
--- a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast
+++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast
@@ -1,4 +1,4 @@
-WorldModelB ::= Robot* [MyScene:Scene] [OtherScene1:LogicalScene] [OtherScene2:LogicalScene] /OtherScene:LogicalScene*/ /NextOperation:Operation/ ;
+WorldModelB ::= Robot* [MyScene:Scene] [OtherScene1:LogicalScene] [OtherScene2:LogicalScene] /OtherScene:LogicalScene*/ /NextOperation:Operation/ TestingOtherScene:LogicalScene* ;
 // workaround with NTA OtherSceneList as receiving lists is not possible yet
 
 Robot ::= <Name:String> CanReachObjectOfInterestWrapper ;
diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java
index b68cd90..64b88e1 100644
--- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java
+++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java
@@ -138,10 +138,10 @@ public class UtilB {
   @SuppressWarnings("rawtypes")
   static class ExposingASTNode extends ASTNode {
     public Scene exposed_apply_ConvertScene(de.tudresden.inf.st.ceti.Scene pbScene) throws Exception {
-      return ASTNode._apply_ConvertScene(pbScene);
+      return ASTNode._ragconnect__apply_ConvertScene(pbScene);
     }
     public CanReachObjectOfInterestWrapper exposed_apply_ConvertReachability(de.tudresden.inf.st.ceti.Reachability r) throws Exception {
-      return ASTNode._apply_ConvertReachability(r);
+      return ASTNode._ragconnect__apply_ConvertReachability(r);
     }
   }
 
-- 
GitLab