From 0eaf0913063c36e4fb204555b6299b64db961d34 Mon Sep 17 00:00:00 2001 From: erogleva Date: Tue, 30 Jul 2019 15:40:27 +0200 Subject: [PATCH 1/4] Language server configuration --- .../META-INF/MANIFEST.MF | 7 +- .../pom.xml | 125 ++++++++++ .../InternalComponentInterfaceLexer.java | 234 +++++++++--------- .../.classpath | 14 ++ .../.project | 23 ++ .../org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 6 + .../.settings/org.eclipse.m2e.core.prefs | 4 + .../pom.xml | 117 +++++++++ plugins/de.fraunhofer.ipa.ros.parent/pom.xml | 5 + .../META-INF/MANIFEST.MF | 17 +- .../de.fraunhofer.ipa.ros.xtext.ide/pom.xml | 125 ++++++++++ .../fraunhofer/ipa/ros/ide/RosIdeSetup.xtend | 3 +- .../ros/ide/diagram/RosDiagramGenerator.xtend | 71 ++++++ .../ide/diagram/RosDiagramModelElement.xtend | 34 +++ .../ros/ide/diagram/RosDiagramModule.xtend | 20 ++ .../ide/diagram/RosDiagramServerFactory.xtend | 20 ++ .../ipa/ros/ide/diagram/RosLayoutEngine.xtend | 32 +++ .../ide/launch/RosLanguageServerSetup.xtend | 34 +++ .../ros/ide/launch/RosServerLauncher.xtend | 14 ++ .../ipa/ros/ide/launch/RosSocketServer.xtend | 20 ++ .../ipa/ros/RosStandaloneSetup.xtend | 13 + .../META-INF/MANIFEST.MF | 7 +- .../pom.xml | 125 ++++++++++ .../rossystem/RosSystemStandaloneSetup.xtend | 18 ++ 25 files changed, 969 insertions(+), 121 deletions(-) create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/.classpath create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/.project create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.core.resources.prefs create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.m2e.core.prefs create mode 100644 plugins/de.fraunhofer.ipa.ros.externalDependencies/pom.xml create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramGenerator.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModelElement.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModule.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramServerFactory.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosLayoutEngine.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosLanguageServerSetup.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosServerLauncher.xtend create mode 100644 plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosSocketServer.xtend diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF index 84a6a7342..9b33bab9a 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/META-INF/MANIFEST.MF @@ -9,7 +9,12 @@ Require-Bundle: de.fraunhofer.ipa.componentInterface.xtext, de.fraunhofer.ipa.componentInterface, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, - org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + org.objectweb.asm;bundle-version="7.0.0", + org.objectweb.asm.commons;bundle-version="7.0.0", + org.objectweb.asm.tree;bundle-version="7.0.0", + org.eclipse.lsp4j;bundle-version="0.6.0", + org.apache.log4j Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.componentInterface.ide.contentassist.antlr, de.fraunhofer.ipa.componentInterface.ide.contentassist.antlr.internal diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml index 83d0b44b5..a2b0f5914 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext.ide/pom.xml @@ -27,6 +27,131 @@ + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.1 + + + copy-dependencies + generate-sources + + copy-dependencies + + + ${project.build.directory}/libs + false + false + true + true + true + + com.ibm.icu, + org.apache.ant, + org.apache.commons.lang, + org.apache.commons.logging, + org.eclipse.core.commands, + org.eclipse.core.contenttype, + org.eclipse.core.expressions, + org.eclipse.core.filesystem, + org.eclipse.core.jobs, + org.eclipse.core.resources, + org.eclipse.core.runtime, + org.eclipse.core.variables, + org.eclipse.debug.core, + org.eclipse.emf.codegen.ecore, + org.eclipse.emf.codegen, + org.eclipse.emf.mwe.core, + org.eclipse.emf.mwe.utils, + org.eclipse.emf.mwe2.lib, + org.eclipse.emf.mwe2.runtime, + org.eclipse.equinox.app, + org.eclipse.equinox.preferences, + org.eclipse.equinox.registry, + org.eclipse.jdt.core, + org.eclipse.jdt.debug, + org.eclipse.jdt.launching, + org.eclipse.text, + org.eclipse.xtend.typesystem.emf, + org.eclipse.xtend, + + + + + + + com.googlecode.addjars-maven-plugin + addjars-maven-plugin + 1.0.5 + + + package + + add-jars + + + + + ${project.build.directory}/libs + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.0.0 + + + + org.eclipse.xtext.ide.server.ServerLauncher + + + plugin.properties + + + + + *:* + + META-INF/INDEX.LIST + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + .options + .api_description + *.profile + *.html + about.* + about_files/* + plugin.xml + modeling32.png + systembundle.properties + profile.list + **/*._trace + **/*.g + **/*.mwe2 + **/*.xtext + + + + true + ls + false + + + + package + + shade + + + + diff --git a/plugins/de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterfaceLexer.java b/plugins/de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterfaceLexer.java index 06ff0a122..ddc5a70d0 100644 --- a/plugins/de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterfaceLexer.java +++ b/plugins/de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterfaceLexer.java @@ -55,15 +55,15 @@ public InternalComponentInterfaceLexer(CharStream input, RecognizerSharedState s super(input,state); } - public String getGrammarFileName() { return "../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g"; } + public String getGrammarFileName() { return "InternalComponentInterface.g"; } // $ANTLR start "T__11" public final void mT__11() throws RecognitionException { try { int _type = T__11; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:11:7: ( 'ComponentInterface' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:11:9: 'ComponentInterface' + // InternalComponentInterface.g:11:7: ( 'ComponentInterface' ) + // InternalComponentInterface.g:11:9: 'ComponentInterface' { match("ComponentInterface"); @@ -83,8 +83,8 @@ public final void mT__12() throws RecognitionException { try { int _type = T__12; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:12:7: ( '{' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:12:9: '{' + // InternalComponentInterface.g:12:7: ( '{' ) + // InternalComponentInterface.g:12:9: '{' { match('{'); @@ -103,8 +103,8 @@ public final void mT__13() throws RecognitionException { try { int _type = T__13; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:13:7: ( 'name' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:13:9: 'name' + // InternalComponentInterface.g:13:7: ( 'name' ) + // InternalComponentInterface.g:13:9: 'name' { match("name"); @@ -124,8 +124,8 @@ public final void mT__14() throws RecognitionException { try { int _type = T__14; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:14:7: ( 'NameSpace' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:14:9: 'NameSpace' + // InternalComponentInterface.g:14:7: ( 'NameSpace' ) + // InternalComponentInterface.g:14:9: 'NameSpace' { match("NameSpace"); @@ -145,8 +145,8 @@ public final void mT__15() throws RecognitionException { try { int _type = T__15; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:15:7: ( 'RosPublishers' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:15:9: 'RosPublishers' + // InternalComponentInterface.g:15:7: ( 'RosPublishers' ) + // InternalComponentInterface.g:15:9: 'RosPublishers' { match("RosPublishers"); @@ -166,8 +166,8 @@ public final void mT__16() throws RecognitionException { try { int _type = T__16; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:16:7: ( ',' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:16:9: ',' + // InternalComponentInterface.g:16:7: ( ',' ) + // InternalComponentInterface.g:16:9: ',' { match(','); @@ -186,8 +186,8 @@ public final void mT__17() throws RecognitionException { try { int _type = T__17; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:17:7: ( '}' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:17:9: '}' + // InternalComponentInterface.g:17:7: ( '}' ) + // InternalComponentInterface.g:17:9: '}' { match('}'); @@ -206,8 +206,8 @@ public final void mT__18() throws RecognitionException { try { int _type = T__18; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:18:7: ( 'RosSubscribers' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:18:9: 'RosSubscribers' + // InternalComponentInterface.g:18:7: ( 'RosSubscribers' ) + // InternalComponentInterface.g:18:9: 'RosSubscribers' { match("RosSubscribers"); @@ -227,8 +227,8 @@ public final void mT__19() throws RecognitionException { try { int _type = T__19; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:19:7: ( 'RosSrvServers' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:19:9: 'RosSrvServers' + // InternalComponentInterface.g:19:7: ( 'RosSrvServers' ) + // InternalComponentInterface.g:19:9: 'RosSrvServers' { match("RosSrvServers"); @@ -248,8 +248,8 @@ public final void mT__20() throws RecognitionException { try { int _type = T__20; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:20:7: ( 'RosSrvClients' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:20:9: 'RosSrvClients' + // InternalComponentInterface.g:20:7: ( 'RosSrvClients' ) + // InternalComponentInterface.g:20:9: 'RosSrvClients' { match("RosSrvClients"); @@ -269,8 +269,8 @@ public final void mT__21() throws RecognitionException { try { int _type = T__21; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:21:7: ( 'RosActionServers' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:21:9: 'RosActionServers' + // InternalComponentInterface.g:21:7: ( 'RosActionServers' ) + // InternalComponentInterface.g:21:9: 'RosActionServers' { match("RosActionServers"); @@ -290,8 +290,8 @@ public final void mT__22() throws RecognitionException { try { int _type = T__22; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:22:7: ( 'RosActionClients' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:22:9: 'RosActionClients' + // InternalComponentInterface.g:22:7: ( 'RosActionClients' ) + // InternalComponentInterface.g:22:9: 'RosActionClients' { match("RosActionClients"); @@ -311,8 +311,8 @@ public final void mT__23() throws RecognitionException { try { int _type = T__23; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:23:7: ( 'RosPublisher' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:23:9: 'RosPublisher' + // InternalComponentInterface.g:23:7: ( 'RosPublisher' ) + // InternalComponentInterface.g:23:9: 'RosPublisher' { match("RosPublisher"); @@ -332,8 +332,8 @@ public final void mT__24() throws RecognitionException { try { int _type = T__24; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:24:7: ( 'ns' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:24:9: 'ns' + // InternalComponentInterface.g:24:7: ( 'ns' ) + // InternalComponentInterface.g:24:9: 'ns' { match("ns"); @@ -353,8 +353,8 @@ public final void mT__25() throws RecognitionException { try { int _type = T__25; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:25:7: ( 'RefPublisher' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:25:9: 'RefPublisher' + // InternalComponentInterface.g:25:7: ( 'RefPublisher' ) + // InternalComponentInterface.g:25:9: 'RefPublisher' { match("RefPublisher"); @@ -374,8 +374,8 @@ public final void mT__26() throws RecognitionException { try { int _type = T__26; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:26:7: ( 'RosSubscriber' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:26:9: 'RosSubscriber' + // InternalComponentInterface.g:26:7: ( 'RosSubscriber' ) + // InternalComponentInterface.g:26:9: 'RosSubscriber' { match("RosSubscriber"); @@ -395,8 +395,8 @@ public final void mT__27() throws RecognitionException { try { int _type = T__27; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:27:7: ( 'RefSubscriber' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:27:9: 'RefSubscriber' + // InternalComponentInterface.g:27:7: ( 'RefSubscriber' ) + // InternalComponentInterface.g:27:9: 'RefSubscriber' { match("RefSubscriber"); @@ -416,8 +416,8 @@ public final void mT__28() throws RecognitionException { try { int _type = T__28; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:28:7: ( 'RosServiceServer' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:28:9: 'RosServiceServer' + // InternalComponentInterface.g:28:7: ( 'RosServiceServer' ) + // InternalComponentInterface.g:28:9: 'RosServiceServer' { match("RosServiceServer"); @@ -437,8 +437,8 @@ public final void mT__29() throws RecognitionException { try { int _type = T__29; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:29:7: ( 'RefServer' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:29:9: 'RefServer' + // InternalComponentInterface.g:29:7: ( 'RefServer' ) + // InternalComponentInterface.g:29:9: 'RefServer' { match("RefServer"); @@ -458,8 +458,8 @@ public final void mT__30() throws RecognitionException { try { int _type = T__30; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:30:7: ( 'RosServiceClient' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:30:9: 'RosServiceClient' + // InternalComponentInterface.g:30:7: ( 'RosServiceClient' ) + // InternalComponentInterface.g:30:9: 'RosServiceClient' { match("RosServiceClient"); @@ -479,8 +479,8 @@ public final void mT__31() throws RecognitionException { try { int _type = T__31; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:31:7: ( 'RefClient' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:31:9: 'RefClient' + // InternalComponentInterface.g:31:7: ( 'RefClient' ) + // InternalComponentInterface.g:31:9: 'RefClient' { match("RefClient"); @@ -500,8 +500,8 @@ public final void mT__32() throws RecognitionException { try { int _type = T__32; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:32:7: ( 'RosActionServer' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:32:9: 'RosActionServer' + // InternalComponentInterface.g:32:7: ( 'RosActionServer' ) + // InternalComponentInterface.g:32:9: 'RosActionServer' { match("RosActionServer"); @@ -521,8 +521,8 @@ public final void mT__33() throws RecognitionException { try { int _type = T__33; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:33:7: ( 'RosActionClient' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:33:9: 'RosActionClient' + // InternalComponentInterface.g:33:7: ( 'RosActionClient' ) + // InternalComponentInterface.g:33:9: 'RosActionClient' { match("RosActionClient"); @@ -542,10 +542,10 @@ public final void mRULE_ID() throws RecognitionException { try { int _type = RULE_ID; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1136:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1136:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalComponentInterface.g:1136:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalComponentInterface.g:1136:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1136:11: ( '^' )? + // InternalComponentInterface.g:1136:11: ( '^' )? int alt1=2; int LA1_0 = input.LA(1); @@ -554,7 +554,7 @@ public final void mRULE_ID() throws RecognitionException { } switch (alt1) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1136:11: '^' + // InternalComponentInterface.g:1136:11: '^' { match('^'); @@ -572,7 +572,7 @@ public final void mRULE_ID() throws RecognitionException { recover(mse); throw mse;} - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1136:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + // InternalComponentInterface.g:1136:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* loop2: do { int alt2=2; @@ -585,7 +585,7 @@ public final void mRULE_ID() throws RecognitionException { switch (alt2) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g: + // InternalComponentInterface.g: { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { input.consume(); @@ -621,10 +621,10 @@ public final void mRULE_INT() throws RecognitionException { try { int _type = RULE_INT; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1138:10: ( ( '0' .. '9' )+ ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1138:12: ( '0' .. '9' )+ + // InternalComponentInterface.g:1138:10: ( ( '0' .. '9' )+ ) + // InternalComponentInterface.g:1138:12: ( '0' .. '9' )+ { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1138:12: ( '0' .. '9' )+ + // InternalComponentInterface.g:1138:12: ( '0' .. '9' )+ int cnt3=0; loop3: do { @@ -638,7 +638,7 @@ public final void mRULE_INT() throws RecognitionException { switch (alt3) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1138:13: '0' .. '9' + // InternalComponentInterface.g:1138:13: '0' .. '9' { matchRange('0','9'); @@ -670,10 +670,10 @@ public final void mRULE_STRING() throws RecognitionException { try { int _type = RULE_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalComponentInterface.g:1140:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalComponentInterface.g:1140:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalComponentInterface.g:1140:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) int alt6=2; int LA6_0 = input.LA(1); @@ -691,10 +691,10 @@ else if ( (LA6_0=='\'') ) { } switch (alt6) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + // InternalComponentInterface.g:1140:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' { match('\"'); - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + // InternalComponentInterface.g:1140:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* loop4: do { int alt4=3; @@ -710,7 +710,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>= switch (alt4) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:21: '\\\\' . + // InternalComponentInterface.g:1140:21: '\\\\' . { match('\\'); matchAny(); @@ -718,7 +718,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>= } break; case 2 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:28: ~ ( ( '\\\\' | '\"' ) ) + // InternalComponentInterface.g:1140:28: ~ ( ( '\\\\' | '\"' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -743,10 +743,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>= } break; case 2 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + // InternalComponentInterface.g:1140:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' { match('\''); - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + // InternalComponentInterface.g:1140:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* loop5: do { int alt5=3; @@ -762,7 +762,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>= switch (alt5) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:54: '\\\\' . + // InternalComponentInterface.g:1140:54: '\\\\' . { match('\\'); matchAny(); @@ -770,7 +770,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>= } break; case 2 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1140:61: ~ ( ( '\\\\' | '\\'' ) ) + // InternalComponentInterface.g:1140:61: ~ ( ( '\\\\' | '\\'' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -813,12 +813,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException { try { int _type = RULE_ML_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1142:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1142:19: '/*' ( options {greedy=false; } : . )* '*/' + // InternalComponentInterface.g:1142:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalComponentInterface.g:1142:19: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1142:24: ( options {greedy=false; } : . )* + // InternalComponentInterface.g:1142:24: ( options {greedy=false; } : . )* loop7: do { int alt7=2; @@ -843,7 +843,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { switch (alt7) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1142:52: . + // InternalComponentInterface.g:1142:52: . { matchAny(); @@ -873,12 +873,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalComponentInterface.g:1144:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalComponentInterface.g:1144:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? { match("//"); - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:24: (~ ( ( '\\n' | '\\r' ) ) )* + // InternalComponentInterface.g:1144:24: (~ ( ( '\\n' | '\\r' ) ) )* loop8: do { int alt8=2; @@ -891,7 +891,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { switch (alt8) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:24: ~ ( ( '\\n' | '\\r' ) ) + // InternalComponentInterface.g:1144:24: ~ ( ( '\\n' | '\\r' ) ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -911,7 +911,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:40: ( ( '\\r' )? '\\n' )? + // InternalComponentInterface.g:1144:40: ( ( '\\r' )? '\\n' )? int alt10=2; int LA10_0 = input.LA(1); @@ -920,9 +920,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt10) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:41: ( '\\r' )? '\\n' + // InternalComponentInterface.g:1144:41: ( '\\r' )? '\\n' { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:41: ( '\\r' )? + // InternalComponentInterface.g:1144:41: ( '\\r' )? int alt9=2; int LA9_0 = input.LA(1); @@ -931,7 +931,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } switch (alt9) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1144:41: '\\r' + // InternalComponentInterface.g:1144:41: '\\r' { match('\r'); @@ -963,10 +963,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1146:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1146:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalComponentInterface.g:1146:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalComponentInterface.g:1146:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1146:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // InternalComponentInterface.g:1146:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ int cnt11=0; loop11: do { @@ -980,7 +980,7 @@ public final void mRULE_WS() throws RecognitionException { switch (alt11) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g: + // InternalComponentInterface.g: { if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { input.consume(); @@ -1020,8 +1020,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { try { int _type = RULE_ANY_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1148:16: ( . ) - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1148:18: . + // InternalComponentInterface.g:1148:16: ( . ) + // InternalComponentInterface.g:1148:18: . { matchAny(); @@ -1036,215 +1036,215 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + // InternalComponentInterface.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) int alt12=30; alt12 = dfa12.predict(input); switch (alt12) { case 1 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:10: T__11 + // InternalComponentInterface.g:1:10: T__11 { mT__11(); } break; case 2 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:16: T__12 + // InternalComponentInterface.g:1:16: T__12 { mT__12(); } break; case 3 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:22: T__13 + // InternalComponentInterface.g:1:22: T__13 { mT__13(); } break; case 4 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:28: T__14 + // InternalComponentInterface.g:1:28: T__14 { mT__14(); } break; case 5 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:34: T__15 + // InternalComponentInterface.g:1:34: T__15 { mT__15(); } break; case 6 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:40: T__16 + // InternalComponentInterface.g:1:40: T__16 { mT__16(); } break; case 7 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:46: T__17 + // InternalComponentInterface.g:1:46: T__17 { mT__17(); } break; case 8 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:52: T__18 + // InternalComponentInterface.g:1:52: T__18 { mT__18(); } break; case 9 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:58: T__19 + // InternalComponentInterface.g:1:58: T__19 { mT__19(); } break; case 10 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:64: T__20 + // InternalComponentInterface.g:1:64: T__20 { mT__20(); } break; case 11 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:70: T__21 + // InternalComponentInterface.g:1:70: T__21 { mT__21(); } break; case 12 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:76: T__22 + // InternalComponentInterface.g:1:76: T__22 { mT__22(); } break; case 13 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:82: T__23 + // InternalComponentInterface.g:1:82: T__23 { mT__23(); } break; case 14 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:88: T__24 + // InternalComponentInterface.g:1:88: T__24 { mT__24(); } break; case 15 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:94: T__25 + // InternalComponentInterface.g:1:94: T__25 { mT__25(); } break; case 16 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:100: T__26 + // InternalComponentInterface.g:1:100: T__26 { mT__26(); } break; case 17 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:106: T__27 + // InternalComponentInterface.g:1:106: T__27 { mT__27(); } break; case 18 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:112: T__28 + // InternalComponentInterface.g:1:112: T__28 { mT__28(); } break; case 19 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:118: T__29 + // InternalComponentInterface.g:1:118: T__29 { mT__29(); } break; case 20 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:124: T__30 + // InternalComponentInterface.g:1:124: T__30 { mT__30(); } break; case 21 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:130: T__31 + // InternalComponentInterface.g:1:130: T__31 { mT__31(); } break; case 22 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:136: T__32 + // InternalComponentInterface.g:1:136: T__32 { mT__32(); } break; case 23 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:142: T__33 + // InternalComponentInterface.g:1:142: T__33 { mT__33(); } break; case 24 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:148: RULE_ID + // InternalComponentInterface.g:1:148: RULE_ID { mRULE_ID(); } break; case 25 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:156: RULE_INT + // InternalComponentInterface.g:1:156: RULE_INT { mRULE_INT(); } break; case 26 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:165: RULE_STRING + // InternalComponentInterface.g:1:165: RULE_STRING { mRULE_STRING(); } break; case 27 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:177: RULE_ML_COMMENT + // InternalComponentInterface.g:1:177: RULE_ML_COMMENT { mRULE_ML_COMMENT(); } break; case 28 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:193: RULE_SL_COMMENT + // InternalComponentInterface.g:1:193: RULE_SL_COMMENT { mRULE_SL_COMMENT(); } break; case 29 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:209: RULE_WS + // InternalComponentInterface.g:1:209: RULE_WS { mRULE_WS(); } break; case 30 : - // ../de.fraunhofer.ipa.componentInterface.xtext/src-gen/de/fraunhofer/ipa/componentInterface/parser/antlr/internal/InternalComponentInterface.g:1:217: RULE_ANY_OTHER + // InternalComponentInterface.g:1:217: RULE_ANY_OTHER { mRULE_ANY_OTHER(); diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/.classpath b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.classpath new file mode 100644 index 000000000..f6bb40bc0 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.classpath @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/.project b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.project new file mode 100644 index 000000000..ac2cd3abc --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.project @@ -0,0 +1,23 @@ + + + de.fraunhofer.ipa.ros.externalDependencies + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.core.resources.prefs b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.jdt.core.prefs b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..71ac30190 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.m2e.core.prefs b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 000000000..f897a7f1c --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/plugins/de.fraunhofer.ipa.ros.externalDependencies/pom.xml b/plugins/de.fraunhofer.ipa.ros.externalDependencies/pom.xml new file mode 100644 index 000000000..e86b4ee31 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.externalDependencies/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + + de.fraunhofer.ipa.ros.externalDependencies + de.fraunhofer.ipa.ros.externalDependencies + 1.0.0-SNAPSHOT + pom + + + 0.7.0-SNAPSHOT + 0.5.0 + + + + + sonatype-oss + sonatype-oss + https://oss.sonatype.org/content/repositories/snapshots + + + + + + + org.reficio + p2-maven-plugin + 1.3.0 + + + default-cli + + + + de.fraunhofer.ipa.ros.externalDependencies + ${project.version} + + ${project.groupId} + ${project.description} + + + + + org.ow2.asm:asm:7.0 + false + + + org.ow2.asm:asm-commons:7.0 + false + + + org.ow2.asm:asm-tree:7.0 + false + + + org.eclipse.sprotty:org.eclipse.sprotty:${sprottyVersion} + false + + + org.eclipse.sprotty:org.eclipse.sprotty.server:${sprottyVersion} + false + + + org.eclipse.sprotty:org.eclipse.sprotty.xtext:${sprottyVersion} + false + + + org.eclipse.sprotty:org.eclipse.sprotty.layout:${sprottyVersion} + false + + + org.eclipse.elk:org.eclipse.elk.alg.layered:${elkVersion} + false + + + org.eclipse.elk:org.eclipse.elk.alg.common:${elkVersion} + false + + + org.eclipse.elk:org.eclipse.elk.core:${elkVersion} + false + + + org.eclipse.elk:org.eclipse.elk.graph:${elkVersion} + false + + + com.google.code.gson:gson:2.8.5 + false + + + + + + + + + + + org.mortbay.jetty + jetty-maven-plugin + 8.1.5.v20120716 + + 10 + ${project.build.directory}/repository/ + + /site + + + + + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml index c3e5d6eed..5f907b290 100644 --- a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml @@ -73,6 +73,11 @@ false + + external-deps + p2 + http://ros-model.seronet-project.de/external-dependencies/ + diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF index 9c4fbfa11..f79433c92 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/META-INF/MANIFEST.MF @@ -9,7 +9,22 @@ Require-Bundle: de.fraunhofer.ipa.ros.xtext, de.fraunhofer.ipa.ros, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, - org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + org.eclipse.sprotty;bundle-version="0.7.0", + org.eclipse.sprotty.layout, + org.eclipse.sprotty.server, + org.eclipse.sprotty.xtext, + org.eclipse.lsp4j;bundle-version="0.6.0", + org.eclipse.elk.graph, + com.google.gson;bundle-version="2.8.5", + org.objectweb.asm;bundle-version="7.0.0", + org.objectweb.asm.commons;bundle-version="7.0.0", + org.objectweb.asm.tree;bundle-version="7.0.0", + org.apache.log4j;bundle-version="1.2.15", + org.eclipse.elk.alg.common;bundle-version="0.4.1", + org.eclipse.elk.alg.layered;bundle-version="0.4.1", + org.eclipse.elk.core;bundle-version="0.4.1", + org.eclipse.lsp4j.jsonrpc;bundle-version="0.6.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.ros.ide.contentassist.antlr.internal, de.fraunhofer.ipa.ros.ide.contentassist.antlr diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml index cf3b04315..618ff0296 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/pom.xml @@ -27,6 +27,131 @@ + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.1 + + + copy-dependencies + generate-sources + + copy-dependencies + + + ${project.build.directory}/libs + false + false + true + true + true + + com.ibm.icu, + org.apache.ant, + org.apache.commons.lang, + org.apache.commons.logging, + org.eclipse.core.commands, + org.eclipse.core.contenttype, + org.eclipse.core.expressions, + org.eclipse.core.filesystem, + org.eclipse.core.jobs, + org.eclipse.core.resources, + org.eclipse.core.runtime, + org.eclipse.core.variables, + org.eclipse.debug.core, + org.eclipse.emf.codegen.ecore, + org.eclipse.emf.codegen, + org.eclipse.emf.mwe.core, + org.eclipse.emf.mwe.utils, + org.eclipse.emf.mwe2.lib, + org.eclipse.emf.mwe2.runtime, + org.eclipse.equinox.app, + org.eclipse.equinox.preferences, + org.eclipse.equinox.registry, + org.eclipse.jdt.core, + org.eclipse.jdt.debug, + org.eclipse.jdt.launching, + org.eclipse.text, + org.eclipse.xtend.typesystem.emf, + org.eclipse.xtend, + + + + + + + com.googlecode.addjars-maven-plugin + addjars-maven-plugin + 1.0.5 + + + package + + add-jars + + + + + ${project.build.directory}/libs + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.0.0 + + + + de.fraunhofer.ipa.ros.ide.launch.RosServerLauncher + + + plugin.properties + + + + + *:* + + META-INF/INDEX.LIST + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + .options + .api_description + *.profile + *.html + about.* + about_files/* + plugin.xml + modeling32.png + systembundle.properties + profile.list + **/*._trace + **/*.g + **/*.mwe2 + **/*.xtext + + + + true + ls + false + + + + package + + shade + + + + diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/RosIdeSetup.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/RosIdeSetup.xtend index 08c2d3f2f..26e2b7c83 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/RosIdeSetup.xtend +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/RosIdeSetup.xtend @@ -7,6 +7,7 @@ import com.google.inject.Guice import de.fraunhofer.ipa.ros.RosRuntimeModule import de.fraunhofer.ipa.ros.RosStandaloneSetup import org.eclipse.xtext.util.Modules2 +import de.fraunhofer.ipa.ros.ide.diagram.RosDiagramModule /** * Initialization support for running Xtext languages as language servers. @@ -14,7 +15,7 @@ import org.eclipse.xtext.util.Modules2 class RosIdeSetup extends RosStandaloneSetup { override createInjector() { - Guice.createInjector(Modules2.mixin(new RosRuntimeModule, new RosIdeModule)) + Guice.createInjector(Modules2.mixin(new RosRuntimeModule, new RosIdeModule, new RosDiagramModule)) } } diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramGenerator.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramGenerator.xtend new file mode 100644 index 000000000..de74caf58 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramGenerator.xtend @@ -0,0 +1,71 @@ + +package de.fraunhofer.ipa.ros.ide.diagram + +import ros.Node +import ros.PackageSet +import ros.Publisher +import ros.Subscriber +import org.eclipse.sprotty.LayoutOptions +import org.eclipse.sprotty.SGraph +import org.eclipse.sprotty.SLabel +import org.eclipse.sprotty.SNode +import org.eclipse.sprotty.xtext.IDiagramGenerator +import org.eclipse.sprotty.SModelElement + + +class RosDiagramGenerator implements IDiagramGenerator { + + override generate(Context context) { + (context.resource.contents.head as PackageSet).toSGraph(context) + } + + def toSGraph(PackageSet packageset, extension Context context) { + val nodes = packageset.package + .map[package | package.artifact + .map[artifact | artifact.node] + ].flatten.toList + + new SGraph [ + id = idCache.uniqueId(packageset, 'root') + children = nodes.map[toSNode(context)] + ] + } + + def SNode toSNode(Node node, extension Context context) { + val theId = idCache.uniqueId(node, node.name) + + new SNode [ + id = theId + // #[] creates an immutable list + children = (node.publisher.map[toSPublisher(context) as SModelElement] + + node.subscriber.map[toSSubscriber(context) as SModelElement] + + #[new SLabel[ + id = idCache.uniqueId(theId + '.label') + text = node.name + ]]).toList + layout = 'stack' + layoutOptions = new LayoutOptions [ + paddingTop = 10.0 + paddingBottom = 30.0 + paddingLeft = 10.0 + paddingRight = 10.0 + + ] + ] + } + + def SPublisher toSPublisher(Publisher publisher, extension Context context) { + new SPublisher [ + id = idCache.uniqueId(publisher, publisher.name + '.publisher') + text = publisher.name + ] + } + + def SSubscriber toSSubscriber(Subscriber subscriber, extension Context context) { + new SSubscriber [ + id = idCache.uniqueId(subscriber, subscriber.name + '.subscriber') + text = subscriber.name + ] + } + +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModelElement.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModelElement.xtend new file mode 100644 index 000000000..e19022e5e --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModelElement.xtend @@ -0,0 +1,34 @@ +package de.fraunhofer.ipa.ros.ide.diagram + +import org.eclipse.xtend.lib.annotations.Accessors +import org.eclipse.xtend.lib.annotations.ToString +import org.eclipse.sprotty.SShapeElement +import java.util.function.Consumer + +@Accessors +@ToString(skipNulls = true) +class SPublisher extends SShapeElement { + String text + + new() { + type = 'publisher' + } + new(Consumer initializer) { + this() + initializer.accept(this) + } +} + +@Accessors +@ToString(skipNulls = true) +class SSubscriber extends SShapeElement { + String text + + new() { + type = 'subscriber' + } + new(Consumer initializer) { + this() + initializer.accept(this) + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModule.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModule.xtend new file mode 100644 index 000000000..4284357f5 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramModule.xtend @@ -0,0 +1,20 @@ +package de.fraunhofer.ipa.ros.ide.diagram + +import org.eclipse.sprotty.xtext.DefaultDiagramModule +import org.eclipse.sprotty.xtext.IDiagramGenerator +import org.eclipse.sprotty.layout.ElkLayoutEngine + +class RosDiagramModule extends DefaultDiagramModule { + + def Class bindIDiagramGenerator() { + RosDiagramGenerator + } + + override bindIDiagramServerFactory() { + RosDiagramServerFactory + } + + override bindILayoutEngine() { + ElkLayoutEngine + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramServerFactory.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramServerFactory.xtend new file mode 100644 index 000000000..938e77713 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosDiagramServerFactory.xtend @@ -0,0 +1,20 @@ +package de.fraunhofer.ipa.ros.ide.diagram + +import org.eclipse.sprotty.xtext.DiagramServerFactory +import org.eclipse.sprotty.xtext.LanguageAwareDiagramServer + +import org.eclipse.sprotty.ServerLayoutKind + +class RosDiagramServerFactory extends DiagramServerFactory { + + override getDiagramTypes() { + #['ros-diagram'] + } + + override createDiagramServer(String diagramType, String clientId) { + val server = super.createDiagramServer(diagramType, clientId) + if (server instanceof LanguageAwareDiagramServer) + server.serverLayoutKind = ServerLayoutKind.AUTOMATIC + server + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosLayoutEngine.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosLayoutEngine.xtend new file mode 100644 index 000000000..155b60658 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/diagram/RosLayoutEngine.xtend @@ -0,0 +1,32 @@ +package de.fraunhofer.ipa.ros.ide.diagram + +import org.eclipse.sprotty.SGraph +import org.eclipse.sprotty.SModelRoot +import org.eclipse.sprotty.layout.ElkLayoutEngine +import org.eclipse.sprotty.layout.SprottyLayoutConfigurator +import org.eclipse.elk.alg.layered.options.LayeredOptions +import org.eclipse.elk.core.options.CoreOptions +import org.eclipse.elk.core.options.Direction +import org.eclipse.elk.core.options.PortSide +import org.eclipse.elk.core.options.PortAlignment +import org.eclipse.elk.core.options.PortConstraints + +class RosLayoutEngine extends ElkLayoutEngine { + + override layout(SModelRoot root) { + if (root instanceof SGraph) { + val configurator = new SprottyLayoutConfigurator + configurator.configureByType('graph') + .setProperty(CoreOptions.DIRECTION, Direction.DOWN) + .setProperty(CoreOptions.SPACING_NODE_NODE, 30.0) + .setProperty(LayeredOptions.SPACING_EDGE_NODE_BETWEEN_LAYERS, 30.0) + configurator.configureByType('node') + .setProperty(CoreOptions.PORT_ALIGNMENT_DEFAULT, PortAlignment.CENTER) + .setProperty(CoreOptions.PORT_CONSTRAINTS, PortConstraints.FIXED_SIDE) + configurator.configureByType('port') + .setProperty(CoreOptions.PORT_SIDE, PortSide.EAST) + .setProperty((CoreOptions.PORT_BORDER_OFFSET), 3.0) + layout(root, configurator) + } + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosLanguageServerSetup.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosLanguageServerSetup.xtend new file mode 100644 index 000000000..2f10049f5 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosLanguageServerSetup.xtend @@ -0,0 +1,34 @@ +package de.fraunhofer.ipa.ros.ide.launch + +import com.google.gson.GsonBuilder +import org.eclipse.sprotty.server.json.ActionTypeAdapter +import org.eclipse.sprotty.server.json.EnumTypeAdapter +import org.eclipse.sprotty.xtext.launch.DiagramLanguageServerSetup +import org.eclipse.sprotty.xtext.ls.SyncDiagramServerModule +import org.eclipse.xtext.ide.server.ServerModule +import org.eclipse.xtext.util.Modules2 +import org.eclipse.elk.alg.layered.options.LayeredMetaDataProvider +import org.eclipse.elk.core.util.persistence.ElkGraphResourceFactory +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.sprotty.layout.ElkLayoutEngine + +class RosLanguageServerSetup extends DiagramLanguageServerSetup { + + override setupLanguages() { + ElkLayoutEngine.initialize(new LayeredMetaDataProvider) + Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put('elkg', new ElkGraphResourceFactory) + } + + override configureGson(GsonBuilder gsonBuilder) { + gsonBuilder + .registerTypeAdapterFactory(new ActionTypeAdapter.Factory) + .registerTypeAdapterFactory(new EnumTypeAdapter.Factory) + } + + override getLanguageServerModule() { + Modules2.mixin( + new ServerModule, + new SyncDiagramServerModule + ) + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosServerLauncher.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosServerLauncher.xtend new file mode 100644 index 000000000..0e42799cb --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosServerLauncher.xtend @@ -0,0 +1,14 @@ +package de.fraunhofer.ipa.ros.ide.launch + +import org.eclipse.sprotty.xtext.launch.DiagramServerLauncher + +class RosServerLauncher extends DiagramServerLauncher { + + override createSetup() { + new RosLanguageServerSetup + } + + def static void main(String[] args) { + new RosServerLauncher().run(args) + } +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosSocketServer.xtend b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosSocketServer.xtend new file mode 100644 index 000000000..3c7bd2221 --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.xtext.ide/src/de/fraunhofer/ipa/ros/ide/launch/RosSocketServer.xtend @@ -0,0 +1,20 @@ +package de.fraunhofer.ipa.ros.ide.launch + +import org.eclipse.sprotty.xtext.launch.DiagramServerSocketLauncher +import org.apache.log4j.Logger + +class RosSocketServer extends DiagramServerSocketLauncher { + + static val LOG = Logger.getLogger(RosSocketServer) + + override createSetup() { + new RosLanguageServerSetup + } + + def static void main(String... args) { + val rosSocketServer = new RosSocketServer() + LOG.info("Starting language server on port " + rosSocketServer.getPort(args)) + new RosSocketServer().run(args) + } + +} \ No newline at end of file diff --git a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/RosStandaloneSetup.xtend b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/RosStandaloneSetup.xtend index 539a80f03..a0c2dda56 100644 --- a/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/RosStandaloneSetup.xtend +++ b/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/RosStandaloneSetup.xtend @@ -3,6 +3,11 @@ */ package de.fraunhofer.ipa.ros +import com.google.inject.Injector; +import ros.RosPackage +import org.eclipse.emf.ecore.EPackage; +import primitives.PrimitivesPackage + /** * Initialization support for running Xtext languages without Equinox extension registry. @@ -12,4 +17,12 @@ class RosStandaloneSetup extends RosStandaloneSetupGenerated { def static void doSetup() { new RosStandaloneSetup().createInjectorAndDoEMFRegistration() } + + override register(Injector injector) { + + EPackage.Registry.INSTANCE.put(RosPackage.eNS_URI, RosPackage.eINSTANCE); + EPackage.Registry.INSTANCE.put(PrimitivesPackage.eNS_URI, PrimitivesPackage.eINSTANCE); + + super.register(injector) + } } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF index 4f664af11..2ee4e9ae1 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/META-INF/MANIFEST.MF @@ -9,7 +9,12 @@ Require-Bundle: de.fraunhofer.ipa.rossystem.xtext, de.fraunhofer.ipa.rossystem, org.eclipse.xtext.ide, org.eclipse.xtext.xbase.ide, - org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + org.apache.log4j, + org.eclipse.lsp4j;bundle-version="0.6.0", + org.objectweb.asm;bundle-version="7.0.0", + org.objectweb.asm.commons;bundle-version="7.0.0", + org.objectweb.asm.tree;bundle-version="7.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: de.fraunhofer.ipa.rossystem.ide.contentassist.antlr.internal, de.fraunhofer.ipa.rossystem.ide.contentassist.antlr diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml index fee3446a9..896b70364 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext.ide/pom.xml @@ -27,6 +27,131 @@ + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.1 + + + copy-dependencies + generate-sources + + copy-dependencies + + + ${project.build.directory}/libs + false + false + true + true + true + + com.ibm.icu, + org.apache.ant, + org.apache.commons.lang, + org.apache.commons.logging, + org.eclipse.core.commands, + org.eclipse.core.contenttype, + org.eclipse.core.expressions, + org.eclipse.core.filesystem, + org.eclipse.core.jobs, + org.eclipse.core.resources, + org.eclipse.core.runtime, + org.eclipse.core.variables, + org.eclipse.debug.core, + org.eclipse.emf.codegen.ecore, + org.eclipse.emf.codegen, + org.eclipse.emf.mwe.core, + org.eclipse.emf.mwe.utils, + org.eclipse.emf.mwe2.lib, + org.eclipse.emf.mwe2.runtime, + org.eclipse.equinox.app, + org.eclipse.equinox.preferences, + org.eclipse.equinox.registry, + org.eclipse.jdt.core, + org.eclipse.jdt.debug, + org.eclipse.jdt.launching, + org.eclipse.text, + org.eclipse.xtend.typesystem.emf, + org.eclipse.xtend, + + + + + + + com.googlecode.addjars-maven-plugin + addjars-maven-plugin + 1.0.5 + + + package + + add-jars + + + + + ${project.build.directory}/libs + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.0.0 + + + + org.eclipse.xtext.ide.server.ServerLauncher + + + plugin.properties + + + + + *:* + + META-INF/INDEX.LIST + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + .options + .api_description + *.profile + *.html + about.* + about_files/* + plugin.xml + modeling32.png + systembundle.properties + profile.list + **/*._trace + **/*.g + **/*.mwe2 + **/*.xtext + + + + true + ls + false + + + + package + + shade + + + + diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemStandaloneSetup.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemStandaloneSetup.xtend index 0a80aaf67..28e641540 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemStandaloneSetup.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemStandaloneSetup.xtend @@ -3,6 +3,13 @@ */ package de.fraunhofer.ipa.rossystem +import com.google.inject.Injector; +import ros.RosPackage +import org.eclipse.emf.ecore.EPackage; +import primitives.PrimitivesPackage + +import rossystem.RossystemPackage; +import componentInterface.ComponentInterfacePackage /** * Initialization support for running Xtext languages without Equinox extension registry. @@ -12,4 +19,15 @@ class RosSystemStandaloneSetup extends RosSystemStandaloneSetupGenerated { def static void doSetup() { new RosSystemStandaloneSetup().createInjectorAndDoEMFRegistration() } + + override register(Injector injector) { + + EPackage.Registry.INSTANCE.put(RosPackage.eNS_URI, RosPackage.eINSTANCE); + EPackage.Registry.INSTANCE.put(PrimitivesPackage.eNS_URI, PrimitivesPackage.eINSTANCE); + EPackage.Registry.INSTANCE.put(RossystemPackage.eNS_URI, RossystemPackage.eINSTANCE); + EPackage.Registry.INSTANCE.put(ComponentInterfacePackage.eNS_URI, ComponentInterfacePackage.eINSTANCE); + + + super.register(injector) + } } From 3132a4b2b1c9f2f2bad700a92878c8410f233501 Mon Sep 17 00:00:00 2001 From: erogleva Date: Wed, 31 Jul 2019 14:45:03 +0200 Subject: [PATCH 2/4] Add an updatesite project --- plugins/de.fraunhofer.ipa.ros.parent/pom.xml | 1 + .../de.fraunhofer.ipa.ros.updatesite/.project | 17 ++++++++++++ .../category.xml | 16 ++++++++++++ .../de.fraunhofer.ipa.ros.updatesite/pom.xml | 26 +++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 plugins/de.fraunhofer.ipa.ros.updatesite/.project create mode 100644 plugins/de.fraunhofer.ipa.ros.updatesite/category.xml create mode 100644 plugins/de.fraunhofer.ipa.ros.updatesite/pom.xml diff --git a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml index 5f907b290..088959928 100644 --- a/plugins/de.fraunhofer.ipa.ros.parent/pom.xml +++ b/plugins/de.fraunhofer.ipa.ros.parent/pom.xml @@ -47,6 +47,7 @@ ../de.fraunhofer.ipa.ros.plugin ../de.fraunhofer.ipa.ros.sirius ../de.fraunhofer.ipa.ros.feature + ../de.fraunhofer.ipa.ros.updatesite diff --git a/plugins/de.fraunhofer.ipa.ros.updatesite/.project b/plugins/de.fraunhofer.ipa.ros.updatesite/.project new file mode 100644 index 000000000..095a779ae --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.updatesite/.project @@ -0,0 +1,17 @@ + + + de.fraunhofer.ipa.ros.updatesite + + + + + + org.eclipse.pde.UpdateSiteBuilder + + + + + + org.eclipse.pde.UpdateSiteNature + + diff --git a/plugins/de.fraunhofer.ipa.ros.updatesite/category.xml b/plugins/de.fraunhofer.ipa.ros.updatesite/category.xml new file mode 100644 index 000000000..fa8fa2fec --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.updatesite/category.xml @@ -0,0 +1,16 @@ + + + + + + + + This feature holds a family of metamodels defined as ecore models +that together with its java and Xtext and Xtend grammar implementations +facilitates the use of a set of tools and graphical plugins to +create models from ROS code, compose and validate the composition +of models, autogenerate deployment artifacts and check the use +of standard specifications. + + + diff --git a/plugins/de.fraunhofer.ipa.ros.updatesite/pom.xml b/plugins/de.fraunhofer.ipa.ros.updatesite/pom.xml new file mode 100644 index 000000000..fa260f19c --- /dev/null +++ b/plugins/de.fraunhofer.ipa.ros.updatesite/pom.xml @@ -0,0 +1,26 @@ + + 4.0.0 + + de.fraunhofer.ipa.ros + de.fraunhofer.ipa.ros.parent + 1.1.0-SNAPSHOT + ../de.fraunhofer.ipa.ros.parent/pom.xml + + de.fraunhofer.ipa.ros.updatesite + eclipse-repository + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + true + + + + + \ No newline at end of file From d2cdb71e8ef46ab7c1badd9b34bb3b2075306040 Mon Sep 17 00:00:00 2001 From: erogleva Date: Thu, 1 Aug 2019 12:02:18 +0200 Subject: [PATCH 3/4] Adapt the .setup file --- EclipseInstaller/ROSModel.setup | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/EclipseInstaller/ROSModel.setup b/EclipseInstaller/ROSModel.setup index 28daac6bf..3076d2c5b 100644 --- a/EclipseInstaller/ROSModel.setup +++ b/EclipseInstaller/ROSModel.setup @@ -50,6 +50,10 @@ name="org.eclipse.sirius.runtime.ide.xtext.feature.group"/> + + Install the tools needed in the IDE to work with the source code for ${scope.project.label} - - - - - + + + + + + + + + + + Date: Fri, 2 Aug 2019 16:11:44 +0200 Subject: [PATCH 4/4] Bind the contextual output configurations provider as well --- .../ipa/rossystem/RosSystemRuntimeModule.xtend | 9 +++++---- .../ipa/rossystem/generator/RosSystemGenerator.xtend | 12 ++++++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemRuntimeModule.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemRuntimeModule.xtend index c020152fc..ea3fd8461 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemRuntimeModule.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/RosSystemRuntimeModule.xtend @@ -4,6 +4,7 @@ package de.fraunhofer.ipa.rossystem import org.eclipse.xtext.generator.IOutputConfigurationProvider +import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider import de.fraunhofer.ipa.rossystem.generator.CustomOutputProvider import com.google.inject.Binder @@ -11,10 +12,10 @@ import com.google.inject.Binder * Use this class to register components to be used at runtime / without the Equinox extension registry. */ class RosSystemRuntimeModule extends AbstractRosSystemRuntimeModule { - + override void configure(Binder binder) { - super.configure(binder) - binder.bind(IOutputConfigurationProvider).to(CustomOutputProvider).asEagerSingleton() + super.configure(binder) + binder.bind(IOutputConfigurationProvider).to(CustomOutputProvider).asEagerSingleton() + binder.bind(IContextualOutputConfigurationProvider).to(CustomOutputProvider).asEagerSingleton() } - } diff --git a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend index 0aa6b8aff..837dcedd4 100644 --- a/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend +++ b/plugins/de.fraunhofer.ipa.rossystem.xtext/src/de/fraunhofer/ipa/rossystem/generator/RosSystemGenerator.xtend @@ -17,6 +17,7 @@ import org.eclipse.xtext.generator.IFileSystemAccess2 import org.eclipse.xtext.generator.IGeneratorContext import org.eclipse.xtext.generator.IOutputConfigurationProvider import org.eclipse.xtext.generator.OutputConfiguration +import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider import ros.Publisher import ros.ServiceClient import ros.ServiceServer @@ -27,10 +28,10 @@ import ros.ActionClient import componentInterface.RosActionServer import componentInterface.RosActionClient -class CustomOutputProvider implements IOutputConfigurationProvider { + +class CustomOutputProvider implements IOutputConfigurationProvider, IContextualOutputConfigurationProvider { public final static String CM_CONFIGURATION = "CM_CONFIGURATION" public final static String DEFAULT_OUTPUT = "DEFAULT_OUTPUT" - override Set getOutputConfigurations() { var OutputConfiguration cm_config = new OutputConfiguration(CM_CONFIGURATION) @@ -40,6 +41,7 @@ class CustomOutputProvider implements IOutputConfigurationProvider { cm_config.setCreateOutputDirectory(true); cm_config.setCleanUpDerivedResources(false); cm_config.setSetDerivedProperty(false); + var OutputConfiguration default_config = new OutputConfiguration(DEFAULT_OUTPUT) default_config.setDescription("DEFAULT_OUTPUT"); default_config.setOutputDirectory("./src-gen/"); @@ -47,8 +49,14 @@ class CustomOutputProvider implements IOutputConfigurationProvider { default_config.setCreateOutputDirectory(true); default_config.setCleanUpDerivedResources(false); default_config.setSetDerivedProperty(false); + return newHashSet(cm_config, default_config) } + + override Set getOutputConfigurations(Resource context) { + return getOutputConfigurations() + } + } class RosSystemGenerator extends AbstractGenerator {