diff --git a/build.gradle b/build.gradle index 88458d3cd6bd932cb2339a9f40b58ec80c43ae58..536b93716eedb5d5e36560238c1dc8fba96229f2 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,14 @@ buildscript { - repositories.jcenter() + + repositories { + maven { + url "https://git-st.inf.tu-dresden.de/api/v4/projects/1106/packages/maven" + } + maven { + url 'https://git-st.inf.tu-dresden.de/api/v4/projects/1108/packages/maven' + } + } + dependencies { classpath 'org.jastadd:jastaddgradle:1.13.3' } @@ -13,16 +22,17 @@ plugins { apply plugin: 'jastadd' -mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain' - repositories { - jcenter() maven { - name "gitlab-maven" - url "https://gitlab.example.com/api/v4/groups/jastadd/-/packages/maven" + url "https://git-st.inf.tu-dresden.de/api/v4/projects/1106/packages/maven" + } + maven { + url 'https://git-st.inf.tu-dresden.de/api/v4/projects/1108/packages/maven' } } +mainClassName = 'de.tudresden.inf.st.mrc.MinimalMain' + apply plugin: 'jastadd' configurations { @@ -30,6 +40,11 @@ configurations { ragconnectClasspath } +compileJava { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' +} + run { standardInput = System.in } @@ -40,10 +55,44 @@ idea.module.generatedSourceDirs += genSrc dependencies { implementation fileTree(include: ['dumpAst2uml.jar'], dir: 'libs') + ragconnectClasspath fileTree(include: ['ragconnect-0.3.2-alpha.jar'], dir: 'libs') implementation group: 'org.fusesource.mqtt-client', name: 'mqtt-client', version: '1.15' implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.2' implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.2' - ragconnectClasspath group: 'de.tudresden.inf.st', name: 'ragconnect.base', version: '0.2.3' + + compile 'org.ros.rosjava_core:rosjava:0.3.9' + implementation 'org.ros.rosjava_bootstrap:message_generation:0.3.3' + + /* implementation 'org.ros.rosjava_core:apache_xmlrpc_server:0.3.8' + implementation 'org.ros.rosjava_core:apache_xmlrpc_common:0.3.8' + implementation 'org.ros.rosjava_core:apache_xmlrpc_client:0.3.8' + implementation 'org.ros.rosjava_core:rosjava_helpers:0.3.8'*/ + + compile fileTree(include: ['std_msgs-0.5.11.jar'], dir: './libs') + compile fileTree(include: ['rosgraph_msgs-1.10.12.jar'], dir: './libs') + + /* // google guava + implementation("com.google.guava:guava:31.0.1-jre") + + // https://mvnrepository.com/artifact/org.jboss.netty/netty + implementation group: 'org.jboss.netty', name: 'netty', version: '3.2.10.Final' + + // https://mvnrepository.com/artifact/commons-codec/commons-codec + implementation group: 'commons-codec', name: 'commons-codec', version: '1.15' + + // https://mvnrepository.com/artifact/commons-pool/commons-pool + implementation group: 'commons-pool', name: 'commons-pool', version: '1.6' + + // https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient + implementation group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1' + + // https://mvnrepository.com/artifact/org.apache.ws.commons.util/ws-commons-util + implementation group: 'org.apache.ws.commons.util', name: 'ws-commons-util', version: '1.0.2' + + // https://mvnrepository.com/artifact/dnsjava/dnsjava + implementation group: 'dnsjava', name: 'dnsjava', version: '2.1.1' +*/ + // ragconnectClasspath group: 'de.tudresden.inf.st', name: 'ragconnect.base', version: '0.3.2-alpha' jastadd2 "org.jastadd:jastadd:2.3.4" } @@ -62,7 +111,8 @@ task ragConnect(type: JavaExec) { '--o=src/gen/jastadd', 'src/main/jastadd/MinimalModel.relast', 'src/main/jastadd/MinimalModel.connect', - '--rootNode=A' + '--rootNode=A', + '--protocols=ros' ]) } diff --git a/libs/apache_xmlrpc_client-0.3.6.jar b/libs/apache_xmlrpc_client-0.3.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..c9974bb5ba64a06af20f6e40a324ee1a556a492b Binary files /dev/null and b/libs/apache_xmlrpc_client-0.3.6.jar differ diff --git a/libs/apache_xmlrpc_common-0.3.6.jar b/libs/apache_xmlrpc_common-0.3.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..8a40996ab3b77809672aad92b77a1c17e4d7e8d9 Binary files /dev/null and b/libs/apache_xmlrpc_common-0.3.6.jar differ diff --git a/libs/apache_xmlrpc_server-0.3.6.jar b/libs/apache_xmlrpc_server-0.3.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b95834b63c1ec7259b81de88c935126bdf6e110 Binary files /dev/null and b/libs/apache_xmlrpc_server-0.3.6.jar differ diff --git a/libs/message_generation-0.3.3.jar b/libs/message_generation-0.3.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..d093f1c34a25191eb7fa8e3ee270d56759786b27 Binary files /dev/null and b/libs/message_generation-0.3.3.jar differ diff --git a/libs/ragconnect-0.3.2-alpha.jar b/libs/ragconnect-0.3.2-alpha.jar new file mode 100644 index 0000000000000000000000000000000000000000..65942f02bf8feec961518c16b61a16f2bd1e07e0 Binary files /dev/null and b/libs/ragconnect-0.3.2-alpha.jar differ diff --git a/libs/rosgraph_msgs-1.10.12.jar b/libs/rosgraph_msgs-1.10.12.jar new file mode 100644 index 0000000000000000000000000000000000000000..ea7ed16a55770077b4d494727875d40ca725e33b Binary files /dev/null and b/libs/rosgraph_msgs-1.10.12.jar differ diff --git a/libs/rosjava-0.3.7.jar b/libs/rosjava-0.3.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/libs/rosjava_custom_srv-0.1.0.jar b/libs/rosjava_custom_srv-0.1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..3e0f54bdf07d499aa248bdc50b9f617cb8a37035 Binary files /dev/null and b/libs/rosjava_custom_srv-0.1.0.jar differ diff --git a/libs/std_msgs-0.5.11.jar b/libs/std_msgs-0.5.11.jar new file mode 100644 index 0000000000000000000000000000000000000000..f4bda8eda378e01d97a29456929286d14e04f73e Binary files /dev/null and b/libs/std_msgs-0.5.11.jar differ diff --git a/src/main/java/de/tudresden/inf/st/mrc/MinimalMain.java b/src/main/java/de/tudresden/inf/st/mrc/MinimalMain.java index 937fe5fc4524427d2482b37cec01e0bf9eb636cb..23cb9c587d3b4026a7e3016375cb17187007cfef 100644 --- a/src/main/java/de/tudresden/inf/st/mrc/MinimalMain.java +++ b/src/main/java/de/tudresden/inf/st/mrc/MinimalMain.java @@ -2,9 +2,13 @@ package de.tudresden.inf.st.mrc; import de.tudresden.inf.st.mrc.ast.A; import de.tudresden.inf.st.mrc.ast.B; +import de.tudresden.inf.st.mrc.ast.RosHandler; +//import de.tudresden.inf.st.mrc.ast.JavaHandler; import java.io.IOException; +import java.net.URI; import java.util.Scanner; +import java.util.function.BiConsumer; /** * Minimal main. @@ -12,7 +16,21 @@ import java.util.Scanner; * @author rschoene - Initial contribution */ public class MinimalMain { - public static void main(String[] args) throws IOException { + + /*public void addListener(String topic, BiConsumer<String, byte[]> callback){ + System.out.println("Adding listener"); + + Subscriber<std_msgs.String> sub = null; + sub.addMessageListener(message -> callback.accept(topic, null)); + }*/ + + public static void main(String[] args) throws IOException, InterruptedException { + + // JavaHandler jh = JavaHandler.getInstance(); + RosHandler rh = RosHandler.getInstance(); + + // jh.registerCallback("/a/out", (String, bytes) -> { System.out.println("TEST CALLBACK 1");}); + A a = new A(); // set some default value for input a.setInput(""); @@ -28,14 +46,36 @@ public class MinimalMain { // b2.OutputOnB -> a.Input b2.addDependencyB(a); - a.connectInput("mqtt://localhost/topic/for/input"); - a.connectOutputOnA("mqtt://localhost/a/out", true); - b1.connectOutputOnB("mqtt://localhost/b1/out", true); - b2.connectOutputOnB("mqtt://localhost/b2/out", false); + a.connectInput("ros://topic/for/input"); + a.connectOutputOnA("ros://a/out", true); + b1.connectOutputOnB("ros://b1/out", true); + b2.connectOutputOnB("ros://b2/out", true); + + rh.newSubscriber(URI.create("ros://a/out"), (String, bytes) -> { + System.out.println("TEST CALLBACK 1"); + }); + + /*a.connectInput("java://localhost/topic/for/input"); + a.connectOutputOnA("java://localhost/a/out", true); + b1.connectOutputOnB("java://localhost/b1/out", true); + b2.connectOutputOnB("java://localhost/b2/out", true); + + + jh.registerCallback("/a/out", (String, bytes) -> { System.out.println("TEST CALLBACK 2");}); + + jh.push("/topic/for/input", " Hello World!".getBytes()); + + a.disconnectOutputOnA("java://localhost/a/out"); + +*/ + + while (true) { + Thread.sleep(1000); + System.out.println("Input:" + a.getInput()); + } + // System.out.println("[Enter] to exit"); -// while (true) {} - System.out.println("[Enter] to exit"); - Scanner scanner = new Scanner(System.in); - scanner.nextLine(); + // Scanner scanner = new Scanner(System.in); + // scanner.nextLine(); } }