Merge "Bug 541517: improved usability of tutorials"
diff --git a/build.gradle b/build.gradle
index 12ea6a7..76fb31e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,9 +3,10 @@
}
apply from: "$rootDir/gradle/scmVersion.gradle"
+apply from: "$rootDir/gradle/versions.gradle"
allprojects {
- apply from: "$rootDir/gradle/versions.gradle"
+ apply plugin: 'base'
group = 'org.eclipse.etrice'
version = scmVersion.version
diff --git a/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF b/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
index 3136512..25c644b 100644
--- a/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
+++ b/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
@@ -15,3 +15,4 @@
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.jdt.launching;bundle-version="3.6.100",
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
+Automatic-Module-Name: my.etrice.generator.launch
diff --git a/examples/my.etrice.generator/META-INF/MANIFEST.MF b/examples/my.etrice.generator/META-INF/MANIFEST.MF
index 24e0087..45de050 100644
--- a/examples/my.etrice.generator/META-INF/MANIFEST.MF
+++ b/examples/my.etrice.generator/META-INF/MANIFEST.MF
@@ -11,3 +11,4 @@
org.eclipse.etrice.generator.java;bundle-version="2.0.0",
com.google.inject;bundle-version="3.0.0"
Export-Package: my.etrice.generator
+Automatic-Module-Name: my.etrice.generator
diff --git a/examples/org.eclipse.etrice.examples.java/.classpath b/examples/org.eclipse.etrice.examples.java/.classpath
index d092124..a97d6fd 100644
--- a/examples/org.eclipse.etrice.examples.java/.classpath
+++ b/examples/org.eclipse.etrice.examples.java/.classpath
@@ -3,7 +3,7 @@
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="/org.eclipse.etrice.runtime.java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.modellib.java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.room
index ce94fa6..6de7116 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.room
@@ -28,10 +28,9 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> CreateOptional2 { }
@@ -39,40 +38,34 @@
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- "opt.destroyOptionalActor();"
- "dumpTree(\"after deletion of Optional2\");"
- }
+ action '''
+ System.out.println(transitionData+"\n");
+ opt.destroyOptionalActor();
+ dumpTree("after deletion of Optional2");'''
}
Transition tr2: CreateOptional1 -> ReceivedHelloAgain {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- "opt.destroyOptionalActor();"
- }
+ action '''
+ System.out.println(transitionData+"\n");
+ opt.destroyOptionalActor();'''
}
State CreateOptional2 {
- entry {
- "dumpTree(\"before creation of Optional2\");"
- "opt.createOptionalActor(\"Optional2\", getThread());"
- "p0.sayHello();"
- "dumpTree(\"after creation of Optional2\");"
- }
+ entry '''
+ dumpTree("before creation of Optional2");
+ opt.createOptionalActor("Optional2", getThread());
+ p0.sayHello();
+ dumpTree("after creation of Optional2");'''
}
State CreateOptional1 {
- entry {
- "opt.createOptionalActor(\"Optional1\", getThread());"
- "p0.sayHello();"
- "dumpTree(\"after creation of Optional1\");"
- }
+ entry '''
+ opt.createOptionalActor("Optional1", getThread());
+ p0.sayHello();
+ dumpTree("after creation of Optional1");'''
}
State ReceivedHelloAgain {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\"); "
- }
+ entry '''System.out.println("Done, enter 'quit' to exit"); '''
}
}
}
@@ -130,16 +123,13 @@
triggers {
<hello: hlp>
}
- action {
- "System.out.println(\"helper said \"+txt);"
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
+ action '''
+ System.out.println("helper said "+transitionData);
+ p0.hello("this is AC1, instance "+getInstancePath());'''
}
State Ready
State AskHelper {
- entry {
- "hlp.sayHello();"
- }
+ entry '''hlp.sayHello();'''
}
}
}
@@ -170,9 +160,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC3, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC3, instance "+getInstancePath());'''
}
State Ready
}
@@ -185,7 +173,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
}
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1.launch
index 1d81912..102cf31 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1.launch
@@ -1,16 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
+<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java}"/>
+<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors1}/genmodel.rim"/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="true"/>
<booleanAttribute key="MSC" value="false"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.room}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
+<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="true"/>
+<booleanAttribute key="UseTranslation" value="true"/>
<booleanAttribute key="Verbose" value="false"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1_sys.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1_sys.launch
index b7fa7bb..20ae2f9 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1_sys.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors1/gen_DynAct1_sys.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java}"/>
+<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors1}/genmodel._sysrim"/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors1/DynAct1.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="true"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/DynAct2.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/DynAct2.room
index bcc0be5..c9d71e0 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/DynAct2.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/DynAct2.room
@@ -31,68 +31,55 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation printMemory(msg: string) {
- "System.out.println(msg);"
- "System.out.println(\"memory,\"+(counter++)+\",\"+Runtime.getRuntime().freeMemory());"
- }
+ Operation printMemory(msg: string) '''
+ System.out.println(msg);
+ System.out.println("memory,"+(counter++)+","+Runtime.getRuntime().freeMemory());'''
StateMachine {
Transition init: initial -> CreateOptional2 {
- action {
- "long lDateTime = new java.util.Date().getTime();"
- "System.out.println(\"begin: \" + lDateTime);"
- "printMemory(\"initial\");"
- }
+ action '''
+ long lDateTime = new java.util.Date().getTime();
+ System.out.println("begin: " + lDateTime);
+ printMemory("initial");'''
}
Transition tr0: CreateOptional2 -> CreateOptional1 {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- "opt.destroyOptionalActor();"
- "printMemory(\"after deletion of Optional2\");"
- }
- }
+ action '''
+ System.out.println(transitionData+"\n");
+ opt.destroyOptionalActor();
+ printMemory("after deletion of Optional2");''' }
Transition tr2: CreateOptional1 -> cp cp0 {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- "opt.destroyOptionalActor();"
- "printMemory(\"after deletion of Optional1\");"
- }
- }
+ action '''
+ System.out.println(transitionData+"\n");
+ opt.destroyOptionalActor();
+ printMemory("after deletion of Optional1");''' }
Transition tr1: cp cp0 -> CreateOptional2
Transition tr3: cp cp0 -> Done {
- cond {
- "counter>1200"
- }
- action {
- "long lDateTime = new java.util.Date().getTime();"
- "System.out.println(\"end: \" + lDateTime);"
- }
+ cond '''counter>1200'''
+ action '''
+ long lDateTime = new java.util.Date().getTime();
+ System.out.println("end: " + lDateTime);'''
}
ChoicePoint cp0
State CreateOptional2 {
- entry {
- "opt.createOptionalActor(\"Optional2\", getThread());"
- "p0.sayHello();"
- "printMemory(\"after creation of Optional2\");"
- }
+ entry '''
+ opt.createOptionalActor("Optional2", getThread());
+ p0.sayHello();
+ printMemory("after creation of Optional2");'''
}
State CreateOptional1 {
- entry {
- "opt.createOptionalActor(\"Optional1\", getThread());"
- "p0.sayHello();"
- "printMemory(\"after creation of Optional1\");"
- }
+ entry '''
+ opt.createOptionalActor("Optional1", getThread());
+ p0.sayHello();
+ printMemory("after creation of Optional1");'''
}
State Done {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\"); "
- }
+ entry '''System.out.println("Done, enter 'quit' to exit"); '''
}
}
}
@@ -142,9 +129,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC1, instance "+getInstancePath());'''
}
State Ready
}
@@ -176,9 +161,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC3, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC3, instance "+getInstancePath());'''
}
State Ready
}
@@ -191,7 +174,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
}
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/gen_DynAct2.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/gen_DynAct2.launch
index 34afbb7..b70ad39 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/gen_DynAct2.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors2/gen_DynAct2.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="false"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors2/DynAct2.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/DynAct3.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/DynAct3.room
index b52973e..ebd1a72 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/DynAct3.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/DynAct3.room
@@ -28,10 +28,9 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> CreateOptional2 { }
@@ -39,79 +38,58 @@
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- }
- }
+ action '''System.out.println(transitionData+"\n");''' }
Transition tr2: CreateOptional1 -> ReceivedHelloAgain {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- }
- }
+ action '''System.out.println(transitionData+"\n");''' }
Transition tr1: ReceivedHelloAgain -> Destroy0 {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- }
- }
+ action '''System.out.println(transitionData+"\n");''' }
Transition tr3: Destroy0 -> Destroy1Create2 {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- }
- }
+ action '''System.out.println(transitionData+"\n");''' }
Transition tr4: Destroy1Create2 -> Done {
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- }
- }
+ action '''System.out.println(transitionData+"\n");''' }
State CreateOptional2 {
- entry {
- "dumpTree(\"before creation of Optional2\");"
- "optarray.createOptionalActor(\"Optional2\", getThread());"
- "dumpTree(\"after creation of Optional2\");"
- "p0.sayHello();"
- }
+ entry '''
+ dumpTree("before creation of Optional2");
+ optarray.createOptionalActor("Optional2", getThread());
+ dumpTree("after creation of Optional2");
+ p0.sayHello();'''
}
State CreateOptional1 {
- entry {
- "optarray.createOptionalActor(\"Optional1\", getThread());"
- "p0.sayHello();"
- "dumpTree(\"after creation of Optional1\");"
- }
+ entry '''
+ optarray.createOptionalActor("Optional1", getThread());
+ p0.sayHello();
+ dumpTree("after creation of Optional1");'''
}
State ReceivedHelloAgain
State Destroy0 {
- entry {
- "optarray.destroyOptionalActor(0);"
- "dumpTree(\"after deletion of Optional2\");"
- "p0.sayHello();"
- }
+ entry '''
+ optarray.destroyOptionalActor(0);
+ dumpTree("after deletion of Optional2");
+ p0.sayHello();'''
}
State Destroy1Create2 {
- entry {
- "optarray.destroyOptionalActor(1);"
- "dumpTree(\"after deletion of Optional1\");"
- ""
- "optarray.createOptionalActor(\"Optional2\", getThread());"
- "dumpTree(\"after second creation of Optional2\");"
- "p0.sayHello();"
- }
+ entry '''
+ optarray.destroyOptionalActor(1);
+ dumpTree("after deletion of Optional1");
+
+ optarray.createOptionalActor("Optional2", getThread());
+ dumpTree("after second creation of Optional2");
+ p0.sayHello();'''
}
State Done {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\"); "
- }
+ entry '''System.out.println("Done, enter 'quit' to exit"); '''
}
}
}
@@ -169,16 +147,12 @@
triggers {
<hello: hlp>
}
- action {
- "System.out.println(\"helper said \"+txt);"
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
- }
+ action '''
+ System.out.println("helper said "+transitionData);
+ p0.hello("this is AC1, instance "+getInstancePath());''' }
State Ready
State AskHelper {
- entry {
- "hlp.sayHello();"
- }
+ entry '''hlp.sayHello();'''
}
}
}
@@ -209,9 +183,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC3, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC3, instance "+getInstancePath());'''
}
State Ready
}
@@ -224,7 +196,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
}
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/gen_DynAct3.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/gen_DynAct3.launch
index 6874f24..0b3d374 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/gen_DynAct3.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors3/gen_DynAct3.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors3/DynAct3.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/DynAct4.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/DynAct4.room
index db2edb9..db9f710 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/DynAct4.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/DynAct4.room
@@ -39,10 +39,7 @@
triggers {
<hello: opt>
}
- action {
- "System.out.println(\"controller received \"+txt);"
- }
- }
+ action '''System.out.println("controller received "+transitionData);''' }
Transition tr2: createOpt1 -> UnexpectedError {
triggers {
<error: wrk>
@@ -54,25 +51,17 @@
}
}
State createOpt1 {
- entry {
- "wrk.create(\"Optional1\");"
- }
+ entry '''wrk.create("Optional1");'''
}
State SendHello {
- entry {
- "opt.sayHello();"
- }
+ entry '''opt.sayHello();'''
}
State TryCreateInvalid {
- entry {
- "wrk.create(\"Optional\");"
- }
+ entry '''wrk.create("Optional");'''
}
State UnexpectedError
State ExpectedError {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\"); "
- }
+ entry '''System.out.println("Done, enter 'quit' to exit"); '''
}
}
}
@@ -90,10 +79,9 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> Ready { }
@@ -101,13 +89,11 @@
triggers {
<create: fct>
}
- action {
- "if (optRef.createOptionalActor(ac, getThread()))"
- "\tfct.ok();"
- "else"
- "\tfct.error();"
- }
- }
+ action '''
+ if (optRef.createOptionalActor(transitionData, getThread()))
+ fct.ok();
+ else
+ fct.error();''' }
State Ready
}
}
@@ -165,16 +151,12 @@
triggers {
<hello: hlp>
}
- action {
- "System.out.println(\"helper said \"+txt);"
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
- }
+ action '''
+ System.out.println("helper said "+transitionData);
+ p0.hello("this is AC1, instance "+getInstancePath());''' }
State Ready
State AskHelper {
- entry {
- "hlp.sayHello();"
- }
+ entry '''hlp.sayHello();'''
}
}
}
@@ -205,9 +187,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC3, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC3, instance "+getInstancePath());'''
}
State Ready
}
@@ -220,13 +200,13 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
ProtocolClass PWorker {
incoming {
- Message create(ac: string)
+ Message create(string)
}
outgoing {
Message ok()
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/gen_DynAct4.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/gen_DynAct4.launch
index 2304f3a..e9c9f88 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/gen_DynAct4.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors4/gen_DynAct4.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors4/DynAct4.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/DynAct5.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/DynAct5.room
index ccfc961..437b4a3 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/DynAct5.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/DynAct5.room
@@ -28,10 +28,9 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> CreateOptional { }
@@ -39,22 +38,17 @@
triggers {
<hello: p0>
}
- action {
- "System.out.println(txt+\"\\n\");"
- "opt.destroyOptionalActor();"
- "dumpTree(\"after deletion of Optional2\");"
- }
- }
+ action '''
+ System.out.println(transitionData+"\n");
+ opt.destroyOptionalActor();
+ dumpTree("after deletion of Optional2");''' }
State CreateOptional {
- entry {
- "opt.createOptionalActor(\"Optional\", getThread());"
- "p0.sayHello();"
- }
+ entry '''
+ opt.createOptionalActor("Optional", getThread());
+ p0.sayHello();'''
}
State Done {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\"); "
- }
+ entry '''System.out.println("Done, enter 'quit' to exit"); '''
}
}
}
@@ -76,9 +70,7 @@
triggers {
<sayHello: p0>
}
- action {
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
+ action '''p0.hello("this is AC1, instance "+getInstancePath());'''
}
State Ready
}
@@ -91,7 +83,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
}
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/gen_DynAct5.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/gen_DynAct5.launch
index f8da464..211fd75 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/gen_DynAct5.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors5/gen_DynAct5.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors5/DynAct5.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/DynAct6.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/DynAct6.room
index 22fba96..5f5da04 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/DynAct6.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/DynAct6.room
@@ -28,10 +28,9 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> CreateOptional2 { }
@@ -39,23 +38,20 @@
triggers {
<hello: p0>
}
- action {
- "dumpTree(\"after received hello\");"
- ""
- "System.out.println(\"received \"+txt);"
- "System.out.println(\"Done, enter \'quit\' to exit\");"
- }
- }
+ action '''
+ dumpTree("after received hello");
+
+ System.out.println("received "+transitionData);
+ System.out.println("Done, enter 'quit' to exit");''' }
State CreateOptional2 {
- entry {
- "opt.createOptionalActor(\"Optional2\", getThread());"
- "dumpTree(\"after creation of Optional2\");"
- ""
- "// at this point the port isn\'t connected since"
- "// the init message isn\'t processed yet"
- "// - so no peer port exists"
- "p0.sayHello();"
- }
+ entry '''
+ opt.createOptionalActor("Optional2", getThread());
+ dumpTree("after creation of Optional2");
+
+ // at this point the port isn't connected since
+ // the init message isn't processed yet
+ // - so no peer port exists
+ p0.sayHello();'''
}
State Done
}
@@ -97,9 +93,7 @@
StateMachine {
Transition init: initial -> Ready { }
State Ready {
- entry {
- "p0.hello(\"this is AC1, instance \"+getInstancePath());"
- }
+ entry '''p0.hello("this is AC1, instance "+getInstancePath());'''
}
}
}
@@ -128,9 +122,7 @@
StateMachine {
Transition init: initial -> Ready { }
State Ready {
- entry {
- "nestedOpt.createOptionalActor(\"Optional1\", getThread());"
- }
+ entry '''nestedOpt.createOptionalActor("Optional1", getThread());'''
}
}
}
@@ -142,7 +134,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
}
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/gen_DynAct6.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/gen_DynAct6.launch
index 3ed6d29..f166fdf 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/gen_DynAct6.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors6/gen_DynAct6.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java}"/>
+<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors6}/genmodel.rim"/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors6/DynAct6.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="true"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/DynAct7.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/DynAct7.room
index 141bad1..98cb7cc 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/DynAct7.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/DynAct7.room
@@ -41,10 +41,7 @@
triggers {
<hello: pin>
}
- action {
- "System.out.println(\"Controller received: \"+txt);"
- }
- }
+ action '''System.out.println("Controller received: "+transitionData);''' }
Transition tr2: Destroy -> CreateAgain {
triggers {
<done: pcont>
@@ -59,39 +56,24 @@
triggers {
<hello: pin>
}
- action {
- "System.out.println(\"Controller received: \"+txt);"
- }
- }
+ action '''System.out.println("Controller received: "+transitionData);''' }
State CreateOptionals {
- entry {
- "pcont.createOpts();"
- }
+ entry '''pcont.createOpts();'''
}
State Sending {
- entry {
- "pout.sayHello();"
- }
+ entry '''pout.sayHello();'''
}
State Done {
- entry {
- "System.out.println(\"Done, enter \'quit\' to exit\");"
- }
+ entry '''System.out.println("Done, enter 'quit' to exit");'''
}
State Destroy {
- entry {
- "pcont.destroyOpts();"
- }
+ entry '''pcont.destroyOpts();'''
}
State CreateAgain {
- entry {
- "pcont.createOpts();"
- }
+ entry '''pcont.createOpts();'''
}
State SendAgain {
- entry {
- "pout.sayHello();"
- }
+ entry '''pout.sayHello();'''
}
}
}
@@ -113,32 +95,29 @@
}
Behavior {
// this method prints the passed message and then dumps the object tree consisting of actors and ports
- Operation dumpTree(msg: string) {
- "System.out.println(msg);"
- "System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());"
- }
+ Operation dumpTree(msg: string) '''
+ System.out.println(msg);
+ System.out.println(((org.eclipse.etrice.runtime.java.messaging.RTObject)getRoot()).toStringRecursive());'''
StateMachine {
Transition init: initial -> Ready { }
Transition tr0: Ready -> Ready {
triggers {
<createOpts: fct>
}
- action {
- "opt1.createOptionalActor(\"Optional1\", getThread());"
- "opt2.createOptionalActor(\"Optional2\", getThread());"
- "dumpTree(\"after creation of op1 and opt2\");"
- "fct.done();"
- }
+ action '''
+ opt1.createOptionalActor("Optional1", getThread());
+ opt2.createOptionalActor("Optional2", getThread());
+ dumpTree("after creation of op1 and opt2");
+ fct.done();'''
}
Transition tr1: Ready -> Ready {
triggers {
<destroyOpts: fct>
}
- action {
- "opt1.destroyOptionalActor();"
- "opt2.destroyOptionalActor();"
- "fct.done();"
- }
+ action '''
+ opt1.destroyOptionalActor();
+ opt2.destroyOptionalActor();
+ fct.done();'''
}
State Ready
}
@@ -187,9 +166,7 @@
triggers {
<sayHello: pin>
}
- action {
- "pout.hello(\"this is AC1, instance \"+getInstancePath());"
- }
+ action '''pout.hello("this is AC1, instance "+getInstancePath());'''
}
State Ready
}
@@ -212,11 +189,10 @@
triggers {
<hello: pin>
}
- action {
- "System.out.println(\"AC2 received \"+txt);"
- ""
- "pout.hello(\"AC2: forwarding \"+txt);"
- }
+ action '''
+ System.out.println("AC2 received "+transitionData);
+
+ pout.hello("AC2: forwarding "+transitionData);'''
}
State Ready
}
@@ -228,7 +204,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/gen_DynAct7.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/gen_DynAct7.launch
index fbdd8cb..6010d2d 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/gen_DynAct7.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors7/gen_DynAct7.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value="${workspace_loc:/org.eclipse.etrice.examples.java}"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors7/DynAct7.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/DynAct8.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/DynAct8.room
index df471f1..6c010b6 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/DynAct8.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/DynAct8.room
@@ -20,13 +20,10 @@
ActorClass Container {
Structure {
- usercode1 {
- "import java.io.File;"
- }
- usercode2 {
- "private static final String FIRST_OPT_OBJ = \"firstOpt.obj\";"
- "private static final String SECOND_OPT_OBJ = \"secondOpt.obj\";"
- }
+ usercode1 '''import java.io.File;'''
+ usercode2 '''
+ private static final String FIRST_OPT_OBJ = "firstOpt.obj";
+ private static final String SECOND_OPT_OBJ = "secondOpt.obj";'''
conjugated Port op: PStep
conjugated Port opa [*]: PStep
optional ActorRef opt: Optional
@@ -35,89 +32,67 @@
Binding opa and optarr.fct
}
Behavior {
- Operation clean() {
- "File f = new File(FIRST_OPT_OBJ);"
- "if (f.exists())"
- "\tf.delete();"
- }
+ Operation clean() '''
+ File f = new File(FIRST_OPT_OBJ);
+ if (f.exists())
+ f.delete();'''
StateMachine {
Transition init: initial -> Init { }
Transition tr0: Init -> DestroyAndCreate {
triggers {
<hello: op>
}
- action {
- "System.out.println(\"received \"+txt);"
- }
- }
+ action '''System.out.println("received "+transitionData);''' }
Transition tr1: DestroyAndCreate -> DestroyAndRestore {
triggers {
<hello: op>
}
- action {
- "System.out.println(\"received \"+txt);"
- }
- }
+ action '''System.out.println("received "+transitionData);''' }
Transition tr2: DestroyAndRestore -> LoadInArray {
triggers {
<hello: op>
}
- action {
- "System.out.println(\"received \"+txt);"
- }
- }
+ action '''System.out.println("received "+transitionData);''' }
Transition tr3: LoadInArray -> ReceivedHello {
triggers {
<hello: opa>
}
- action {
- "System.out.println(\"received \"+txt);"
- }
- }
+ action '''System.out.println("received "+transitionData);''' }
Transition tr4: ReceivedHello -> Done {
triggers {
<hello: opa>
}
- action {
- "System.out.println(\"received \"+txt);"
- }
- }
+ action '''System.out.println("received "+transitionData);''' }
State Init {
- entry {
- "clean();"
- "FilePersistor.createAndLoad(opt, getThread(), FIRST_OPT_OBJ, \"Optional1\");"
- "op.step();"
- "op.step();"
- "op.sayHello();"
- }
+ entry '''
+ clean();
+ FilePersistor.createAndLoad(opt, getThread(), FIRST_OPT_OBJ, "Optional1");
+ op.step();
+ op.step();
+ op.sayHello();'''
}
State DestroyAndCreate {
- entry {
- "FilePersistor.saveAndDestroy(opt, FIRST_OPT_OBJ);"
- "FilePersistor.createAndLoad(opt, getThread(), SECOND_OPT_OBJ, \"Optional2\");"
- "op.step();"
- "op.step();"
- "op.sayHello();"
- }
+ entry '''
+ FilePersistor.saveAndDestroy(opt, FIRST_OPT_OBJ);
+ FilePersistor.createAndLoad(opt, getThread(), SECOND_OPT_OBJ, "Optional2");
+ op.step();
+ op.step();
+ op.sayHello();'''
}
State DestroyAndRestore {
- entry {
- "FilePersistor.saveAndDestroy(opt, SECOND_OPT_OBJ);"
- "FilePersistor.createAndLoad(opt, getThread(), FIRST_OPT_OBJ, \"Optional1\");"
- "op.sayHello();"
- }
+ entry '''
+ FilePersistor.saveAndDestroy(opt, SECOND_OPT_OBJ);
+ FilePersistor.createAndLoad(opt, getThread(), FIRST_OPT_OBJ, "Optional1");
+ op.sayHello();'''
}
State Done {
- entry {
- "System.out.println(\"Done, enter 'quit' to exit\");"
- }
+ entry '''System.out.println("Done, enter 'quit' to exit");'''
}
State LoadInArray {
- entry {
- "FilePersistor.createAndLoad(optarr, getThread(), FIRST_OPT_OBJ, \"Optional1\");"
- "FilePersistor.createAndLoad(optarr, getThread(), SECOND_OPT_OBJ, \"Optional2\");"
- "opa.sayHello();"
- }
+ entry '''
+ FilePersistor.createAndLoad(optarr, getThread(), FIRST_OPT_OBJ, "Optional1");
+ FilePersistor.createAndLoad(optarr, getThread(), SECOND_OPT_OBJ, "Optional2");
+ opa.sayHello();'''
}
State ReceivedHello
}
@@ -173,38 +148,29 @@
triggers {
<step: fct>
}
- action {
- "dp.step();"
- }
+ action '''dp.step();'''
}
Transition tr1: Step2 -> Step3 {
triggers {
<step: fct>
}
- action {
- "dp.step();"
- }
+ action '''dp.step();'''
}
Transition tr2: my tp0 -> my tp0 {
triggers {
<sayHello: fct>
}
- action {
- "fct.hello(getClassName()+\", state=\"+stateStrings[getState()]+\", path= \"+getInstancePath());"
- }
+ action '''fct.hello(getClassName()+", state="+stateStrings[getState()]+", path= "+getInstancePath());'''
}
handler TransitionPoint tp0
State Step1 {
- entry {
- "ival = 1;"
- "sval = 2;"
- "bval = 3;"
- }
+ entry '''
+ ival = 1;
+ sval = 2;
+ bval = 3;'''
}
State Step2 {
- entry {
- "ival = 123;"
- }
+ entry '''ival = 123;'''
}
State Step3 {
subgraph {
@@ -213,27 +179,19 @@
triggers {
<step: fct>
}
- action {
- "dp.step();"
- }
+ action '''dp.step();'''
}
Transition tr1: StepB -> StepC {
triggers {
<step: fct>
}
- action {
- "dp.step();"
- }
+ action '''dp.step();'''
}
State StepA {
- entry {
- "sval = 456;"
- }
+ entry '''sval = 456;'''
}
State StepB {
- entry {
- "bval = 13;"
- }
+ entry '''bval = 13;'''
}
State StepC
}
@@ -306,9 +264,7 @@
triggers {
<sayHello: fct>
}
- action {
- "fct.hello(getClassName()+\", state=\"+stateStrings[getState()]+\", path= \"+getInstancePath());"
- }
+ action '''fct.hello(getClassName()+", state="+stateStrings[getState()]+", path= "+getInstancePath());'''
}
State Ready
}
@@ -321,7 +277,7 @@
Message sayHello()
}
outgoing {
- Message hello(txt: string)
+ Message hello(string)
}
}
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/gen_DynAct8.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/gen_DynAct8.launch
index 517e190..202420f 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/gen_DynAct8.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors8/gen_DynAct8.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors8/DynAct8.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/DynAct9.room b/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/DynAct9.room
index 62f9880..dd95864 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/DynAct9.room
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/DynAct9.room
@@ -28,9 +28,7 @@
StateMachine {
Transition init: initial -> Running { }
State Running {
- entry {
- "pp.createOptionalActor(\"PingPong\", getThread());"
- }
+ entry '''pp.createOptionalActor("PingPong", getThread());'''
}
}
}
@@ -60,14 +58,10 @@
}
}
State SendingPing {
- entry {
- "receiver.ping();"
- }
+ entry '''receiver.ping();'''
}
State ReceivedPong {
- entry {
- "System.out.println(\"Done, enter \'quit\' to exit\");"
- }
+ entry '''System.out.println("Done, enter 'quit' to exit");'''
}
}
}
@@ -96,14 +90,10 @@
}
State WaitingForPing
State WaitingForAWhile {
- entry {
- "timing.startTimeout(1000);"
- }
+ entry '''timing.startTimeout(1000);'''
}
State SentPong {
- entry {
- "sender.pong();"
- }
+ entry '''sender.pong();'''
}
}
}
diff --git a/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/gen_DynAct9.launch b/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/gen_DynAct9.launch
index 9e00f69..d3a09d6 100644
--- a/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/gen_DynAct9.launch
+++ b/examples/org.eclipse.etrice.examples.java/model/dynamicactors9/gen_DynAct9.launch
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="DataLogging" value="false"/>
<booleanAttribute key="DataObj" value="false"/>
<booleanAttribute key="Debug" value="false"/>
<booleanAttribute key="GenDocumentation" value="false"/>
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="GenerateDepsWithinProject" value="true"/>
<booleanAttribute key="Lib" value="false"/>
<booleanAttribute key="MSC" value="true"/>
+<stringAttribute key="MainMethodName" value="main"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.examples.java/model/dynamicactors9/DynAct9.etmap}"/>
</listAttribute>
+<booleanAttribute key="OldStyleTransitionData" value="false"/>
<booleanAttribute key="OverrideDirectories" value="false"/>
<booleanAttribute key="Persist" value="false"/>
<booleanAttribute key="SaveGenModel" value="false"/>
diff --git a/examples/org.eclipse.etrice.tutorials.java/.classpath b/examples/org.eclipse.etrice.tutorials.java/.classpath
index cc9822b..c975f7a 100644
--- a/examples/org.eclipse.etrice.tutorials.java/.classpath
+++ b/examples/org.eclipse.etrice.tutorials.java/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.modellib.java"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.runtime.java"/>
diff --git a/examples/org.eclipse.etrice.tutorials.java/.project b/examples/org.eclipse.etrice.tutorials.java/.project
index 64b37c4..83b58e7 100644
--- a/examples/org.eclipse.etrice.tutorials.java/.project
+++ b/examples/org.eclipse.etrice.tutorials.java/.project
@@ -24,6 +24,5 @@
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
</natures>
</projectDescription>
diff --git a/examples/org.eclipse.etrice.tutorials.java/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.etrice.tutorials.java/.settings/org.eclipse.jdt.core.prefs
index f322036..50d2ca5 100644
--- a/examples/org.eclipse.etrice.tutorials.java/.settings/org.eclipse.jdt.core.prefs
+++ b/examples/org.eclipse.etrice.tutorials.java/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,9 @@
-#Mon Sep 19 09:33:05 CEST 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -78,4 +78,5 @@
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/.classpath b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/.classpath
index 80d796d..c52753f 100644
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/.classpath
+++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/.classpath
@@ -2,7 +2,7 @@
<classpath>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="/org.eclipse.etrice.runtime.java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.modellib.java"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.classpath b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.classpath
index 18d70f0..fceb480 100644
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.classpath
+++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.settings/org.eclipse.jdt.core.prefs
index a23aa28..87b7a7a 100644
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.settings/org.eclipse.jdt.core.prefs
+++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,13 @@
-#Sat Jun 16 13:47:44 CEST 2012
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/features/org.eclipse.etrice.cdt-integration.feature/feature.xml b/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
index 8c0880e..550b6a2 100644
--- a/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
+++ b/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
@@ -15,7 +15,7 @@
-->
<feature
- id="org.eclipse.etrice.cdt-integration.feature"
+ id="org.eclipse.etrice.cdt_integration.feature"
label="%featureName"
version="2.0.0.qualifier"
provider-name="%providerName"
@@ -46,6 +46,11 @@
<import plugin="org.eclipse.cdt.managedbuilder.core" version="8.2.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.common" version="3.6.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.ant.launching"/>
+ <import feature="org.eclipse.cdt" version="8.0.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.ant.core"/>
+ <import plugin="org.eclipse.ant.ui"/>
+ <import plugin="org.eclipse.core.externaltools"/>
</requires>
<plugin
diff --git a/gradle/scmVersion.gradle b/gradle/scmVersion.gradle
index 71726d5..b416d4e 100644
--- a/gradle/scmVersion.gradle
+++ b/gradle/scmVersion.gradle
@@ -9,6 +9,10 @@
apply plugin: pl.allegro.tech.build.axion.release.ReleasePlugin
+if(properties.get('build.type') == 'N') {
+ ext.set('release.forceSnapshot', true)
+}
+
scmVersion {
tag {
prefix = 'v'
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
index 8e07fe8..75235e8 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
@@ -16,3 +16,4 @@
Bundle-Activator: org.eclipse.etrice.abstractexec.behavior.Activator
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.etrice.abstractexec.behavior
+Automatic-Module-Name: org.eclipse.etrice.abstractexec.behavior
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/ProposalGenerator.java b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/ProposalGenerator.java
index b3fe07e..077f27f 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/ProposalGenerator.java
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/ProposalGenerator.java
@@ -78,7 +78,7 @@
Set<EObject> messages = new HashSet<EObject>();
for (CommonTrigger t : node.getCaughtTriggers()) {
if (t.getIfitem().equals(port)) {
- messages.add((EObject)t.getMsg());
+ messages.add(t.getMsg());
}
}
diff --git a/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
index 09ef6d5..7ec592d 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
@@ -35,3 +35,4 @@
org.eclipse.etrice.core.common.ui.linking,
org.eclipse.etrice.core.common.ui.quickfix
Bundle-Activator: org.eclipse.etrice.core.common.ui.ETriceCoreCommonActivator
+Automatic-Module-Name: org.eclipse.etrice.core.common.ui
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/hover/KeywordHoverProvider.java b/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/hover/KeywordHoverProvider.java
index b938f1c..4df362c 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/hover/KeywordHoverProvider.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/hover/KeywordHoverProvider.java
@@ -58,6 +58,7 @@
Keyword keyword = (Keyword) element;
String html = contentProvider.getHTMLContent(keyword.getValue());
if (html != null) {
+ // TODO: in Xtext 2.15 replace with StringBuilder
StringBuffer buffer = new StringBuffer(html);
HTMLPrinter.insertPageProlog(buffer, 0, getKeywordStyleSheet());
HTMLPrinter.addPageEpilog(buffer);
diff --git a/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
index 5f68100..9f854a0 100644
--- a/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@
org.eclipse.emf.codegen.ecore;resolution:=optional,
org.eclipse.emf.mwe.utils;resolution:=optional,
org.eclipse.emf.mwe2.launch;resolution:=optional,
- org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.0,7.0.0)";resolution:=optional,
org.eclipse.emf.ecore,
org.eclipse.emf.common,
org.antlr.runtime,
@@ -42,4 +42,5 @@
org.eclipse.etrice.core.common.serializer,
org.eclipse.etrice.core.common.services,
org.eclipse.etrice.core.common.validation
+Automatic-Module-Name: org.eclipse.etrice.core.common
diff --git a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/scoping/StandardModelLocator.java b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/scoping/StandardModelLocator.java
index 10e0683..8533217 100644
--- a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/scoping/StandardModelLocator.java
+++ b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/scoping/StandardModelLocator.java
@@ -37,7 +37,7 @@
*/
public class StandardModelLocator implements IModelLocator {
- private static final String CLASSPATH = "classpath:/";
+ private static final String CLASSPATH = "classpath";
private static final Map<String, String> env = System.getenv();
/**
@@ -63,7 +63,7 @@
URIConverter converter = resource==null? null : resource.getResourceSet().getURIConverter();
URI canonical = getCanonicalFileURI(resolve, converter);
// TODO handle non-file URIs more generically
- if(canonical != null && (canonical.isFile() || canonical.isArchive() || canonical.isPlatform() || canonical.scheme() == "classpath")) {
+ if(canonical != null && (canonical.isFile() || canonical.isArchive() || canonical.isPlatform() || canonical.scheme() == CLASSPATH)) {
resolve = canonical.toString();
}
else {
@@ -203,7 +203,7 @@
* exists, or false if platUri is mapped to a different URI
* than fileUri.
*/
- private boolean updateURIMapEntry(Resource res, URI platUri, URI fileUri) {
+ boolean updateURIMapEntry(Resource res, URI platUri, URI fileUri) {
// map the absolute file uri to a platform resource path
if(res == null) return false;
Map<URI, URI> uriMap = res.getResourceSet().getURIConverter()
@@ -260,7 +260,7 @@
* if the URI is not a platform URI, or if the Eclipse WorkspaceRoot
* cannot be accessed. Otherwise true.
*/
- private boolean existsInPlatform(URI uri) {
+ boolean existsInPlatform(URI uri) {
if(!EMFPlugin.IS_ECLIPSE_RUNNING)
return false;
@@ -287,7 +287,7 @@
* @return false if the URI does not point to an existing file resource or
* if the URI is not a file URI. Otherwise true.
*/
- private boolean existsInFileSys(URI uri) {
+ boolean existsInFileSys(URI uri) {
if (!uri.isFile())
return false;
java.io.File extFile = new File(uri.toFileString());
@@ -301,7 +301,7 @@
uri = URI.createURI(uriString);
} catch(IllegalArgumentException e1) {
}
- if(uri == null || !(uri.isFile() || uri.isArchive() || uri.isPlatform() || uri.scheme() == "classpath")) {
+ if(uri == null || !(uri.isFile() || uri.isArchive() || uri.isPlatform() || uri.scheme() == CLASSPATH)) {
// try file path
uri = URI.createFileURI(uriString);
}
diff --git a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/validation/ValidationHelpers.xtend b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/validation/ValidationHelpers.xtend
index 1125c9c..29f2c93 100644
--- a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/validation/ValidationHelpers.xtend
+++ b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/validation/ValidationHelpers.xtend
@@ -27,7 +27,7 @@
*/
class ValidationHelpers {
- public static class NamedObject {
+ static class NamedObject {
@Property String name
@Property EObject obj
@Property EStructuralFeature feature
@@ -39,7 +39,7 @@
}
}
- public static class NamedObjectList extends ArrayList<NamedObject> {
+ static class NamedObjectList extends ArrayList<NamedObject> {
def addAll(List<? extends EObject> items, EStructuralFeature feature) {
items.forEach[this.add(new NamedObject(it.eGet(feature) as String, it, feature))]
}
diff --git a/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
index d70612d..41d1492 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
@@ -30,3 +30,4 @@
org.eclipse.etrice.core.ui.quickfix,
org.eclipse.etrice.core.ui.contentassist.antlr.internal
Bundle-Activator: org.eclipse.etrice.core.ui.internal.ConfigActivator
+Automatic-Module-Name: org.eclipse.etrice.core.config.ui
diff --git a/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
index f155f7f..5085894 100644
--- a/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
@@ -39,3 +39,4 @@
org.eclipse.etrice.core.scoping,
org.eclipse.etrice.core.generator,
org.eclipse.etrice.core.formatting
+Automatic-Module-Name: org.eclipse.etrice.core.config
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostprocesser.xtend b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostProcessor.xtend
similarity index 98%
rename from plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostprocesser.xtend
rename to plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostProcessor.xtend
index 73e718f..9f251cf 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostprocesser.xtend
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/ImplPostProcessor.xtend
@@ -19,7 +19,7 @@
import static extension org.eclipse.etrice.core.common.postprocessing.PostprocessingHelpers.*
-class ImplPostProcessing {
+class ImplPostProcessor {
def process(GeneratedMetamodel metamodel) {
val configPackage = metamodel.EPackage
diff --git a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/PostprocessorController.java b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/PostprocessorController.java
index d7c44d9..da3198b 100644
--- a/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/PostprocessorController.java
+++ b/plugins/org.eclipse.etrice.core.config/src/org/eclipse/etrice/core/postprocessing/PostprocessorController.java
@@ -19,6 +19,6 @@
public class PostprocessorController {
public static void process(GeneratedMetamodel metamodel){
new DocuPostprocessor().process(metamodel);
- new ImplPostProcessing().process(metamodel);
+ new ImplPostProcessor().process(metamodel);
}
}
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
index 43adbc6..6b2c0aa 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
@@ -28,3 +28,4 @@
org.eclipse.etrice.core.etmap.ui.internal,
org.eclipse.etrice.core.etmap.ui.quickfix
Bundle-Activator: org.eclipse.etrice.core.etmap.ui.internal.ETMapActivator
+Automatic-Module-Name: org.eclipse.etrice.core.etmap.ui
diff --git a/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
index c829633..79a524e 100644
--- a/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
@@ -40,4 +40,5 @@
org.eclipse.etrice.core.etmap.services,
org.eclipse.etrice.core.etmap.util,
org.eclipse.etrice.core.etmap.validation
+Automatic-Module-Name: org.eclipse.etrice.core.etmap
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
index 7d5a4b3..cb6e6ff 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
@@ -25,3 +25,4 @@
org.eclipse.etrice.core.etphys.ui.quickfix,
org.eclipse.etrice.core.etphys.ui.contentassist.antlr.internal
Bundle-Activator: org.eclipse.etrice.core.etphys.ui.internal.ETPhysActivator
+Automatic-Module-Name: org.eclipse.etrice.core.etphys.ui
diff --git a/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
index 9381264..867c164 100644
--- a/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
@@ -34,4 +34,5 @@
org.eclipse.etrice.core.etphys.serializer,
org.eclipse.etrice.core.etphys.services,
org.eclipse.etrice.core.etphys.validation
+Automatic-Module-Name: org.eclipse.etrice.core.etphys
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
index 44bc27f..d43f3fa 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
@@ -29,3 +29,4 @@
org.eclipse.etrice.core.fsm.ui.labeling,
org.eclipse.etrice.core.fsm.ui.quickfix
Bundle-Activator: org.eclipse.etrice.core.fsm.ui.internal.FSMActivator
+Automatic-Module-Name: org.eclipse.etrice.core.fsm.ui
diff --git a/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
index dff4fc3..fb03894 100644
--- a/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
@@ -18,7 +18,7 @@
org.eclipse.emf.ecore,
org.eclipse.emf.common,
org.antlr.runtime,
- org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.1,7.0.0)";resolution:=optional,
com.google.guava;bundle-version="8.0.0",
org.eclipse.xtext.xbase.lib
Import-Package: org.apache.log4j,
@@ -38,4 +38,5 @@
org.eclipse.etrice.core.fsm.services,
org.eclipse.etrice.core.fsm.util,
org.eclipse.etrice.core.fsm.validation
+Automatic-Module-Name: org.eclipse.etrice.core.fsm
diff --git a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
index 419bacb..940eec9 100644
--- a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
+++ b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
@@ -78,7 +78,7 @@
<details key="body" value="return (this instanceof <%org.eclipse.etrice.core.fsm.fSM.SimpleState%>)? ((SimpleState)this).getName() :(this instanceof <%org.eclipse.etrice.core.fsm.fSM.RefinedState%>)? (((RefinedState)this).getTarget()==null? "":((RefinedState)this).getTarget().getName()) :"";"/>
</eAnnotations>
</eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -180,7 +180,7 @@
<details key="documentation" value="<br>By this name the choice point is referred to in the model.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -188,7 +188,7 @@
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TransitionBase" eSuperTypes="#//StateGraphItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
diff --git a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/formatting2/FSMFormatter.xtend b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/formatting2/FSMFormatter.xtend
index 1a807c8..a7be983 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/formatting2/FSMFormatter.xtend
+++ b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/formatting2/FSMFormatter.xtend
@@ -23,14 +23,12 @@
import org.eclipse.etrice.core.fsm.fSM.ProtocolSemantics
import org.eclipse.etrice.core.fsm.fSM.State
import org.eclipse.etrice.core.fsm.fSM.StateGraph
-import org.eclipse.etrice.core.fsm.fSM.Transition
+import org.eclipse.etrice.core.fsm.fSM.TransitionBase
import org.eclipse.etrice.core.fsm.fSM.Trigger
import org.eclipse.etrice.core.fsm.fSM.TriggeredTransition
import org.eclipse.etrice.core.fsm.services.FSMGrammarAccess
import org.eclipse.xtext.formatting2.IFormattableDocument
import org.eclipse.xtext.formatting2.regionaccess.ISemanticRegion
-import org.eclipse.etrice.core.fsm.fSM.RefinedTransition
-import org.eclipse.etrice.core.fsm.fSM.TransitionBase
class FSMFormatter extends BaseFormatter {
diff --git a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.xtend b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.xtend
index ae5fce6..9f7606a 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.xtend
+++ b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.xtend
@@ -250,9 +250,9 @@
def private QualifiedName getStatePath(State bs) {
val EObject parent = bs.eContainer.eContainer
if (parent instanceof SimpleState)
- return getStatePath(parent as SimpleState).append(bs.name)
+ return getStatePath(parent).append(bs.name)
else if (parent instanceof RefinedState) {
- val State target = (parent as RefinedState).target
+ val State target = parent.target
if (target!==null)
return getStatePath(target).append(bs.name)
}
diff --git a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.xtend b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.xtend
index 54bcac8..840e82d 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.xtend
+++ b/plugins/org.eclipse.etrice.core.fsm/src/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.xtend
@@ -32,12 +32,12 @@
class FSMValidationUtilXtend {
- public static class Result {
- private boolean ok;
- private String msg;
- private EObject source;
- private EStructuralFeature feature;
- private int index;
+ static class Result {
+ boolean ok;
+ String msg;
+ EObject source;
+ EStructuralFeature feature;
+ int index;
def static FSMValidationUtilXtend.Result ok() {
return new FSMValidationUtilXtend.Result(true, "", null, null, 0);
@@ -109,7 +109,7 @@
var parent = obj.eContainer
while (parent!==null) {
if (parent instanceof StateGraph) {
- return parent as StateGraph
+ return parent
}
parent = parent.eContainer
}
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
index a76efaf..2d28991 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@
Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName
Bundle-Localization: plugin
+Automatic-Module-Name: org.eclipse.etrice.core.genmodel.fsm
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/BasicFsmGenBuilder.xtend b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/BasicFsmGenBuilder.xtend
index 7123acb..fdca736 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/BasicFsmGenBuilder.xtend
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/BasicFsmGenBuilder.xtend
@@ -39,7 +39,7 @@
protected extension FSMHelpers fsmHelpers
protected val factory = FsmGenFactory.eINSTANCE
- private var int inheritanceLevel = 0
+ var int inheritanceLevel = 0
new(FSMHelpers fsmHelpers) {
this.fsmHelpers = fsmHelpers
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/FsmGenExtensions.xtend b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/FsmGenExtensions.xtend
index 0560b15..71debe1 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/FsmGenExtensions.xtend
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/FsmGenExtensions.xtend
@@ -36,103 +36,103 @@
class FsmGenExtensions {
- public static def dispatch getName(Node nd) {
+ static def dispatch getName(Node nd) {
nd.stateGraphNode.name
}
- public static def dispatch getName(Link l) {
+ static def dispatch getName(Link l) {
l.transition.name
}
- public static def getStateNodes(Graph g) {
+ static def getStateNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof State]
}
- public static def getAllNodes(Graph g) {
+ static def getAllNodes(Graph g) {
g.eAllContents.filter(typeof(Node))
}
- public static def getAllStateNodes(Graph g) {
+ static def getAllStateNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof State]
}
- public static def getChoicePointNodes(Graph g) {
+ static def getChoicePointNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof ChoicePoint]
}
- public static def getAllChoicePointNodes(Graph g) {
+ static def getAllChoicePointNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof ChoicePoint]
}
- public static def getTrPointNodes(Graph g) {
+ static def getTrPointNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof TrPoint]
}
- public static def getAllTrPointNodes(Graph g) {
+ static def getAllTrPointNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof TrPoint]
}
- public static def getTransitionPointNodes(Graph g) {
+ static def getTransitionPointNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof TransitionPoint]
}
- public static def getAllTransitionPointNodes(Graph g) {
+ static def getAllTransitionPointNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof TransitionPoint]
}
- public static def getEntryPointNodes(Graph g) {
+ static def getEntryPointNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof EntryPoint]
}
- public static def getAllEntryPointNodes(Graph g) {
+ static def getAllEntryPointNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof EntryPoint]
}
- public static def getExitPointNodes(Graph g) {
+ static def getExitPointNodes(Graph g) {
g.nodes.filter[stateGraphNode instanceof ExitPoint]
}
- public static def getAllExitPointNodes(Graph g) {
+ static def getAllExitPointNodes(Graph g) {
g.allNodes.filter[stateGraphNode instanceof ExitPoint]
}
- public static def getStates(Graph g) {
+ static def getStates(Graph g) {
g.stateNodes.map[stateGraphNode].filter(typeof(State))
}
- public static def getAllStates(Graph g) {
+ static def getAllStates(Graph g) {
g.allStateNodes.map[stateGraphNode].filter(typeof(State))
}
- public static def getChoicePoints(Graph g) {
+ static def getChoicePoints(Graph g) {
g.choicePointNodes.map[stateGraphNode].filter(typeof(ChoicePoint))
}
- public static def getTrPoints(Graph g) {
+ static def getTrPoints(Graph g) {
g.trPointNodes.map[stateGraphNode].filter(typeof(TrPoint))
}
- public static def getInitialTransition(Graph g) {
+ static def getInitialTransition(Graph g) {
g.links.map[transition].filter(typeof(InitialTransition)).head
}
- public static def getAllLinks(Graph g) {
+ static def getAllLinks(Graph g) {
g.eAllContents.filter(typeof(Link))
}
- public static def getAllInitialTranisitionLinks(Graph g) {
+ static def getAllInitialTranisitionLinks(Graph g) {
g.allLinks.filter[transition instanceof InitialTransition]
}
- public static def getAllTriggeredTranisitionLinks(Graph g) {
+ static def getAllTriggeredTranisitionLinks(Graph g) {
g.allLinks.filter[transition instanceof TriggeredTransition]
}
- public static def getAllContinuationTranisitionLinks(Graph g) {
+ static def getAllContinuationTranisitionLinks(Graph g) {
g.allLinks.filter[transition instanceof ContinuationTransition]
}
- public static def getAllCPBranchTranisitionLinks(Graph g) {
+ static def getAllCPBranchTranisitionLinks(Graph g) {
g.allLinks.filter[transition instanceof CPBranchTransition]
}
@@ -144,7 +144,7 @@
*
* @see #isChainHead(Link))
*/
- public static def getAllChainHeads(Graph g) {
+ static def getAllChainHeads(Graph g) {
g.allLinks.filter[isChainHead]
}
@@ -154,7 +154,7 @@
*
* @see #isChainHead(TransitionBase))
*/
- public static def isChainHead(Link l) {
+ static def isChainHead(Link l) {
l.transition.isChainHead
}
@@ -164,7 +164,7 @@
* @param l a link
* @return {@code true} if this transition is of one of the above types
*/
- public static def boolean isChainHead(TransitionBase t) {
+ static def boolean isChainHead(TransitionBase t) {
if (t instanceof RefinedTransition) {
t.target.isChainHead
}
@@ -175,19 +175,19 @@
}
}
- public static def getOutgoingTriggeredTransitionLinks(Node s) {
+ static def getOutgoingTriggeredTransitionLinks(Node s) {
s.outgoing.filter[transition instanceof TriggeredTransition]
}
- public static def getOutgoingTriggeredTransitions(Node s) {
+ static def getOutgoingTriggeredTransitions(Node s) {
s.getOutgoingTriggeredTransitionLinks.map[transition].filter(typeof(TriggeredTransition))
}
- public static def getOutgoingTransitionsHierarchically(Node s) {
+ static def getOutgoingTransitionsHierarchically(Node s) {
s.getOutgoingLinksHierarchically.map[transition]
}
- public static def getOutgoingLinksHierarchically(Node s) {
+ static def getOutgoingLinksHierarchically(Node s) {
val result = newArrayList
var current = s
@@ -205,26 +205,26 @@
return result
}
- public static def isTopLevel(Graph g) {
+ static def isTopLevel(Graph g) {
if (g!==null) {
g.eContainer instanceof GraphContainer
}
else true
}
- public static def isEmpty(Graph g) {
+ static def isEmpty(Graph g) {
g===null || (g.nodes.empty && g.links.empty)
}
- public static def isLeaf(Node n) {
+ static def isLeaf(Node n) {
n.subgraph===null
}
- public static def isTopLevel(Node n) {
+ static def isTopLevel(Node n) {
n.graph.isTopLevel
}
- public static def getParentState(Node n) {
+ static def getParentState(Node n) {
if (n.isTopLevel) {
null
}
@@ -233,7 +233,7 @@
}
}
- public static def getChoicepointDefaultBranch(Node n) {
+ static def getChoicepointDefaultBranch(Node n) {
if (!(n.stateGraphNode instanceof ChoicePoint)) {
return null
}
@@ -241,7 +241,7 @@
return n.outgoing.filter[transition instanceof ContinuationTransition].head
}
- public static def getParentState(Link l) {
+ static def getParentState(Link l) {
if (l.graph.isTopLevel) {
null
}
@@ -250,7 +250,7 @@
}
}
- public static def isHandler(Link l) {
+ static def isHandler(Link l) {
val sourceNode = l.source.stateGraphNode
if (sourceNode instanceof TransitionPoint) {
sourceNode.isHandler
@@ -260,7 +260,7 @@
}
}
- public static def List<DetailCode> getAllDetailCodes(Graph graph) {
+ static def List<DetailCode> getAllDetailCodes(Graph graph) {
val detailCodes = <DetailCode>newArrayList
if (graph!==null) {
@@ -276,7 +276,7 @@
return detailCodes
}
- public static def getLinkFor(GraphContainer gc, TransitionBase t) {
+ static def getLinkFor(GraphContainer gc, TransitionBase t) {
gc.graph.allLinks.findFirst[transition===t]
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
index 4a53a69..e6d5554 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
@@ -22,3 +22,4 @@
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.core.genmodel
diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/util/RoomCrossReferencer.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/util/RoomCrossReferencer.java
index fbc45f5..152683b 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/util/RoomCrossReferencer.java
+++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/util/RoomCrossReferencer.java
@@ -110,7 +110,7 @@
getReferencedClassesAndModels(dataClasses, enumClasses, protocolClasses,
actorClasses, models);
- protocolClasses.remove((ProtocolClass) rc);
+ protocolClasses.remove(rc);
}
return protocolClasses;
}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
index d593980..e875da7 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
@@ -38,3 +38,4 @@
org.eclipse.etrice.core.ui.quickfix,
org.eclipse.etrice.core.ui.util
Bundle-Activator: org.eclipse.etrice.core.ui.RoomUiActivator
+Automatic-Module-Name: org.eclipse.etrice.core.room.ui
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/editor/RoomEditor.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/editor/RoomEditor.java
index 245b450..8819b3e 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/editor/RoomEditor.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/editor/RoomEditor.java
@@ -94,4 +94,12 @@
return super.getAdapter(key);
}
+ // TODO: with Xtext 2.15 replace with implementation below
+// public <T> T getAdapter(Class<T> key) {
+// if (key.equals(IContextProvider.class)) {
+// return key.cast(new SelectedModelHelpProvider(this));
+// }
+// return super.getAdapter(key);
+//
+//}
}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/util/UIExpressionUtil.xtend b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/util/UIExpressionUtil.xtend
index ea60f78..2caf978 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/util/UIExpressionUtil.xtend
+++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/util/UIExpressionUtil.xtend
@@ -53,7 +53,7 @@
val fsmGenBuilderFactory = RoomUiModule.injector.getInstance(ExtendedFsmGenBuilderFactory)
Map<ModelComponent, GraphContainer> cache = newHashMap
- def public GraphContainer get(ModelComponent mc) {
+ def GraphContainer get(ModelComponent mc) {
if(!cache.containsKey(mc)) {
val builder = fsmGenBuilderFactory.create()
val gc = builder.createTransformedModel(mc)
@@ -76,7 +76,7 @@
val exprProvider = RoomUiModule.getInjector().getInstance(DetailExpressionProvider) => [ prov |
if(ctx instanceof DetailCode) {
prov.owner = ctx.eContainer
- prov.reference = ctx.eContainmentFeature as EReference
+ prov.reference = ctx.eContainmentFeature
} else {
prov.owner = ctx
prov.reference = ref
diff --git a/plugins/org.eclipse.etrice.core.room/.project b/plugins/org.eclipse.etrice.core.room/.project
index 93b7fb9..4fca370 100644
--- a/plugins/org.eclipse.etrice.core.room/.project
+++ b/plugins/org.eclipse.etrice.core.room/.project
@@ -41,6 +41,5 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
index 7c73ad2..9dd44b4 100644
--- a/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
@@ -39,3 +39,4 @@
org.eclipse.etrice.core.serializer,
org.eclipse.etrice.core.services,
org.eclipse.etrice.core.validation
+Automatic-Module-Name: org.eclipse.etrice.core.room
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore
index 84e498b..dcaf5d9 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore
@@ -10,14 +10,14 @@
<details key="documentation" value="<br>The model name is a dot separated fully qualified name and is
used to provide a name space. The generators may use that also
to place the generated code into separate directories.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Import"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Import"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a list of all imported models.
"/>
@@ -68,7 +68,7 @@
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotationTypes" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//AnnotationType"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//AnnotationType"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoomClass">
@@ -80,7 +80,7 @@
<details key="documentation" value="<br>By this name the actor class is referred to in the model.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -92,7 +92,7 @@
<details key="documentation" value="<br>This class is the super class of the structural classes
<ul>
 <li>{@link ActorContainerClass}</li>
 <li>{@link LogicalSystem}</li>
</ul>
"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a list of structure class annotations.
"/>
@@ -121,19 +121,19 @@
<details key="documentation" value="<br>This is a list of all interface SPPs.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
@@ -196,7 +196,7 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>A primitive type describes a type like int, char, float
and can represent the type with a certain precision
in the target language
"/>
</eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EEnum platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//LiteralType">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EEnum ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//LiteralType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is one of the basic variable types.
"/>
</eAnnotations>
@@ -248,7 +248,7 @@
<details key="documentation" value="<br>The name of the literal.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="literal" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//IntLiteral"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="literal" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//IntLiteral"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The value of the literal. It is associated with a target type which defaults to
{@code int} and can be set explicitly using the {@link EnumerationType#getPrimitiveType()}
"/>
@@ -280,25 +280,25 @@
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a list of data class annotations.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
@@ -344,7 +344,7 @@
<details key="documentation" value="<br>This is an optional default value literal.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -372,13 +372,13 @@
<details key="documentation" value="<br>This is an optional return type of the operation.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is the operation body written in code generator target language.
"/>
@@ -411,7 +411,7 @@
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CommunicationType">
@@ -424,7 +424,7 @@
<details key="documentation" value="<br>The super class of
<ul>
 <li>{@link ProtocolClass}</li>
 <li>{@link CompoundProtocolClass}</li>
</ul>
"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a list of protocol class annotations.
"/>
@@ -445,19 +445,19 @@
<details key="documentation" value="<br>The base class from which all messages are inherited.
The port classes and the semantics are not inherited.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
@@ -487,7 +487,7 @@
<details key="documentation" value="<br>This is the optional conjugate port class specification.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="semantics" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="semantics" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is the optional semantics specification for this protocol.
"/>
@@ -541,9 +541,9 @@
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -554,7 +554,7 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>A port class can be specified to customize the behavior of a {@link ProtocolClass}.
There can be one for regular ports and another one for conjugate ports independently.

<p>
Port classes can be used to define attributes and operations and message handlers
(or interceptors).
</p>
"/>
</eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="userCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="userCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/>
@@ -588,7 +588,7 @@
<details key="documentation" value="<br>This is the message that is handled.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is the handler code written in code generator target language.
"/>
@@ -605,7 +605,7 @@
<details key="documentation" value="<br>Is a handler (or interceptor) for outgoing messages. In the generated code the
message is available. It is derived from {@link MessageHandler}.
"/>
</eAnnotations>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActorClass" eSuperTypes="#//ActorContainerClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ModelComponent">
+ <eClassifiers xsi:type="ecore:EClass" name="ActorClass" eSuperTypes="#//ActorContainerClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ModelComponent">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>Together with {@link ProtocolClass} and {@link DataClass} one of
the main class types of the ROOM language.

<p>
The actor class in ROOM has three compartments which aren't represented as separate model objects.
To understand to which compartment an attribute or reference belongs to here is a list
<ul>
 <li>Interface: everything which is visible from the outside from a model point of view
 <ul>
 <li>{@link #getInterfacePorts}: a list of all interface {@link Port}s</li>
 <li>{@link ActorContainerClass#getServiceProvisionPoints()}: a list of all interface {@link SPP}s</li>
 </ul>
 <li>Structure: all internal structural aspects of an actor class</li>
 <ul>
 <li>{@link #getUserCode1}-3: user defined code with generator dependent meaning</li>
 <li>{@link #getInternalPorts}: a list of all internal end {@link Port}s</li>
 <li>{@link #getExternalPorts}: a list of all {@link ExternalPort}s (the interface ports that
 are end ports, not relay ports</li>
 <li>{@link #getServiceImplementations}: a list of all {@link ServiceImplementation}s</li>
 <li>{@link #getServiceAccessPoints}: a list of all {@link SAP}s used by this actor class</li>
 <li>{@link #getAttributes}: a list of all actor class {@link Attribute}s</li>
 <li>{@link #getActorRefs}: a list of all referenced actor classes (an {@link ActorRef}
 has the meaning of a composition)</li>
 <li>{@link #getBindings}: a list of all port {@link Binding}s of this actor class</li>
 <li>{@link #getConnections}: a list of all {@link LayerConnection}s</li>
 </ul>
 <li>Behavior: the behavioral aspects of an actor class</li>
 <ul>
 <li>{@link #getOperations}: a list of {@link Operation}s</li>
 <li>{@link #getStateMachine}: the {@link StateGraph state machine} definition</li>
 </ul>
</ul>
</p>
"/>
</eAnnotations>
@@ -634,12 +634,12 @@
<details key="body" value="return getName();
"/>
</eAnnotations>
</eOperations>
- <eOperations name="getAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//AbstractInterfaceItem">
+ <eOperations name="getAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getInterfaceItems(this));
"/>
</eAnnotations>
</eOperations>
- <eOperations name="getAllAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//AbstractInterfaceItem">
+ <eOperations name="getAllAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getAllInterfaceItems(this));
"/>
</eAnnotations>
@@ -650,7 +650,7 @@
<details key="documentation" value="<br>This is a list containing all ports of the actor interface.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="structureDocu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="structureDocu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation of the actor structure.
"/>
@@ -686,14 +686,14 @@
<details key="documentation" value="<br>This is a list containing all ports of the actor interface that are end ports.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorDocu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorDocu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation of the actor behavior.
"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="behaviorAnnotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a list of annotations to the actor behavior.
"/>
@@ -708,7 +708,7 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="structors" upperBound="-1"
eType="#//ClassStructor" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InterfaceItem" eSuperTypes="platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem">
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceItem" eSuperTypes="../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is a concrete sub class of an {@link AbstractInterfaceItem}.

It is the super class of
<ul>
 <li>{@link Port}</li>
 <li>{@link SAP}</li>
 <li>{@link SPP}</li>
</ul>
"/>
</eAnnotations>
@@ -717,7 +717,7 @@
<details key="body" value="if (this instanceof <%org.eclipse.etrice.core.room.Port%>)
	return ((Port) this).getProtocol();
else if (this instanceof <%org.eclipse.etrice.core.room.SAP%>)
	return ((SAP) this).getProtocol();
else if (this instanceof <%org.eclipse.etrice.core.room.SPP%>)
	return ((SPP) this).getProtocol();
return null;
"/>
</eAnnotations>
</eOperations>
- <eOperations name="getSemantics" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//ProtocolSemantics">
+ <eOperations name="getSemantics" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="body" value="if (getGeneralProtocol() instanceof <%org.eclipse.etrice.core.room.ProtocolClass%>)
	return ((ProtocolClass)getGeneralProtocol()).getSemantics();
else
	return null;
"/>
</eAnnotations>
@@ -737,7 +737,7 @@
<details key="body" value="if (getGeneralProtocol() instanceof ProtocolClass)
 return ((ProtocolClass) getGeneralProtocol()).getCommType() == <%org.eclipse.etrice.core.room.CommunicationType%>.EVENT_DRIVEN;
else
 return false;
"/>
</eAnnotations>
</eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
@@ -770,7 +770,7 @@
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1"
- eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
+ eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExternalPort">
@@ -838,7 +838,7 @@
<details key="documentation" value="<br>By this name the actor container reference is referred to in the model.
"/>
</eAnnotations>
</eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+ <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="<br>This is an optional documentation.
"/>
diff --git a/plugins/org.eclipse.etrice.dctools.fsm/src/org/eclipse/etrice/dctools/fsm/ast/nodes/DCAstBracketNode.xtend b/plugins/org.eclipse.etrice.dctools.fsm/src/org/eclipse/etrice/dctools/fsm/ast/nodes/DCAstBracketNode.xtend
index 19aa9ef..89cfdcf 100644
--- a/plugins/org.eclipse.etrice.dctools.fsm/src/org/eclipse/etrice/dctools/fsm/ast/nodes/DCAstBracketNode.xtend
+++ b/plugins/org.eclipse.etrice.dctools.fsm/src/org/eclipse/etrice/dctools/fsm/ast/nodes/DCAstBracketNode.xtend
@@ -73,5 +73,5 @@
println(indent + "DCAstBracketNode " + this.toString)
}
- override def String getText() { toString }
+ override String getText() { toString }
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.dctools/src/org/eclipse/etrice/dctools/GenModelAccess.xtend b/plugins/org.eclipse.etrice.dctools/src/org/eclipse/etrice/dctools/GenModelAccess.xtend
index 46f38af..4ecb95f 100644
--- a/plugins/org.eclipse.etrice.dctools/src/org/eclipse/etrice/dctools/GenModelAccess.xtend
+++ b/plugins/org.eclipse.etrice.dctools/src/org/eclipse/etrice/dctools/GenModelAccess.xtend
@@ -23,7 +23,7 @@
class GenModelAccess {
- private ExtendedFsmGenBuilderFactory fsmGenBuilderFactory
+ ExtendedFsmGenBuilderFactory fsmGenBuilderFactory
Map<ModelComponent, GraphContainer> cache = newHashMap
@@ -32,11 +32,11 @@
this.fsmGenBuilderFactory = fsmGenBuilderFactory
}
- def public clearCache() {
+ def clearCache() {
cache.clear
}
- def public GraphContainer get(ModelComponent mc) {
+ def GraphContainer get(ModelComponent mc) {
if(!cache.containsKey(mc)) {
val builder = fsmGenBuilderFactory.create(new NullDiagnostician)
val gc = builder.createTransformedModel(mc)
diff --git a/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
index bcd289f..68fc1dd 100644
--- a/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
@@ -12,3 +12,4 @@
Bundle-Activator: org.eclipse.etrice.doc.ETriceHelp
Export-Package: org.eclipse.etrice.doc
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.doc
diff --git a/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
index f4a5f32..bbee733 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
@@ -15,3 +15,4 @@
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.etunit.converter
diff --git a/plugins/org.eclipse.etrice.expressions.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.expressions.ui/META-INF/MANIFEST.MF
index 39990f5..39e95a4 100644
--- a/plugins/org.eclipse.etrice.expressions.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.expressions.ui/META-INF/MANIFEST.MF
@@ -16,4 +16,5 @@
org.eclipse.etrice.expressions.ui.contentassist,
org.eclipse.etrice.expressions.ui.highlight
Bundle-Vendor: Eclipse eTrice
+Automatic-Module-Name: org.eclipse.etrice.expressions.ui
diff --git a/plugins/org.eclipse.etrice.generator.base/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.base/META-INF/MANIFEST.MF
index 18d19c1..ab1a0da 100644
--- a/plugins/org.eclipse.etrice.generator.base/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.base/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@
org.eclipse.etrice.generator.base.setup,
org.eclipse.etrice.generator.base.validation
Bundle-Name: Base Generator
+Automatic-Module-Name: org.eclipse.etrice.generator.base
diff --git a/plugins/org.eclipse.etrice.generator.c/.project b/plugins/org.eclipse.etrice.generator.c/.project
index 0bbb721..1b71c22 100644
--- a/plugins/org.eclipse.etrice.generator.c/.project
+++ b/plugins/org.eclipse.etrice.generator.c/.project
@@ -40,6 +40,5 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
index 875e4a5..f339524 100644
--- a/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
@@ -22,3 +22,4 @@
Export-Package: org.eclipse.etrice.generator.c,
org.eclipse.etrice.generator.c.gen,
org.eclipse.etrice.generator.c.setup
+Automatic-Module-Name: org.eclipse.etrice.generator.c
diff --git a/plugins/org.eclipse.etrice.generator.c/build.gradle b/plugins/org.eclipse.etrice.generator.c/build.gradle
index 0f35e76..f2ade81 100644
--- a/plugins/org.eclipse.etrice.generator.c/build.gradle
+++ b/plugins/org.eclipse.etrice.generator.c/build.gradle
@@ -1,5 +1,9 @@
apply plugin: 'application'
+configurations {
+ archive
+}
+
dependencies {
compile project(':plugins:org.eclipse.etrice.core.room')
compile project(':plugins:org.eclipse.etrice.core.etphys')
@@ -15,6 +19,10 @@
compile "org.eclipse.xtext:org.eclipse.xtext:$versions.xtext"
}
+artifacts {
+ archive distZip
+}
+
mainClassName = 'org.eclipse.etrice.generator.c.Main'
distTar.enabled = false
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
index b1aa47f..43f1244 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
@@ -40,10 +40,10 @@
import org.eclipse.etrice.core.room.RoomClass
import org.eclipse.etrice.core.room.RoomModel
import org.eclipse.etrice.core.room.util.RoomHelpers
+import org.eclipse.etrice.generator.c.Main
+import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
import org.eclipse.etrice.generator.generic.ILanguageExtension
import org.eclipse.xtext.util.Pair
-import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
-import org.eclipse.etrice.generator.c.Main
@Singleton
class CExtensions implements ILanguageExtension {
@@ -54,7 +54,7 @@
override String getTypedDataDefinition(EObject msg) {
if (msg instanceof Message) {
- generateArglistAndTypedData((msg as Message).data).get(TypedDataKind.DECLARATION_AND_INITIALIZATION.ordinal)
+ generateArglistAndTypedData(msg.data).get(TypedDataKind.DECLARATION_AND_INITIALIZATION.ordinal)
}
else {
""
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/Initialization.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/Initialization.xtend
index ebb1976..cc3f0fd 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/Initialization.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/Initialization.xtend
@@ -68,7 +68,7 @@
DataClass:
'''
{
- «FOR subA : (aType as DataClass).allAttributes SEPARATOR ','»
+ «FOR subA :aType.allAttributes SEPARATOR ','»
«initAttributeArray(instance, path.union(subA))»
«ENDFOR»
}'''
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend
index 428b307..7bf1c88 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend
@@ -36,7 +36,7 @@
prepFS.prepare
for (e: resource.contents){
if (e instanceof Root) {
- doGenerate(e as Root)
+ doGenerate(e)
}
}
}
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
index a1aadf3..3edaff6 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
@@ -43,11 +43,11 @@
import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
import org.eclipse.etrice.generator.base.logging.ILogger
import org.eclipse.etrice.generator.c.Main
+import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
import org.eclipse.etrice.generator.fsm.base.IntelligentSeparator
import org.eclipse.etrice.generator.generic.ProcedureHelpers
import org.eclipse.etrice.generator.generic.RoomExtensions
import org.eclipse.etrice.generator.generic.TypeHelpers
-import org.eclipse.etrice.generator.c.setup.GeneratorOptionsHelper
@Singleton
class NodeGen {
@@ -388,7 +388,7 @@
/* nothing to do */
«ELSE»
«FOR pi:ai.orderedIfItemInstances»
- «IF pi.protocol.getPortClass(pi.conjugated)?.attributes?.size > 0»
+ «IF pi.portClassAttributesSize > 0»
static «pi.protocol.getPortClassName(pi.conjugated)»_var «pi.path.pathName»_var«IF pi.replicated»[«pi.peers.size»]«ENDIF»={
«FOR Integer i:1.. if(pi.peers.size==0)1 else pi.peers.size SEPARATOR ', '»
«attrInitGenAddon.generateAttributeInit(pi, pi.interfaceItem.portClass.attributes)»
@@ -410,6 +410,16 @@
'''
}
+
+ private def int getPortClassAttributesSize(InterfaceItemInstance pi) {
+ val attribs = pi.protocol.getPortClass(pi.conjugated)?.attributes
+ if (attribs===null) {
+ 0
+ }
+ else {
+ attribs.size
+ }
+ }
def private genActorInstanceInitializer(Root root, ActorInstance ai) {
val instName = ai.path.pathName
@@ -810,7 +820,7 @@
while (iter.hasNext) {
val obj = iter.next
if (obj instanceof PortInstance) {
- val pi = obj as PortInstance
+ val pi = obj
if (!pi.port.relay) {
// only data driven
if (pi.protocol.commType==CommunicationType::DATA_DRIVEN) {
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/StateMachineGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/StateMachineGen.xtend
index 1a1e470..901ccf7 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/StateMachineGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/StateMachineGen.xtend
@@ -69,7 +69,7 @@
/**
* @param generateImplementation NOT used
*/
- override public genExtra(GraphContainer gc, boolean generateImplementation) {
+ override genExtra(GraphContainer gc, boolean generateImplementation) {
val mc = gc.component
val allStates = gc.graph.allStateNodes.map[stateGraphNode].filter(typeof(State)).toList
val states = allStates.getLeafStatesLast
@@ -93,7 +93,7 @@
'''
}
- override public stateType() {
+ override stateType() {
"etInt16"
}
@@ -106,7 +106,7 @@
((void)trigger__et); /* avoids unused warning */
'''
}
- override public unreachableReturn() {
+ override unreachableReturn() {
"/* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */"
}
diff --git a/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
index ac386c6..e62e4d4 100644
--- a/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
@@ -17,4 +17,5 @@
com.google.guava;bundle-version="8.0.0",
org.eclipse.xtext.xbase.lib;bundle-version="2.6.0"
Export-Package: org.eclipse.etrice.generator.config
+Automatic-Module-Name: org.eclipse.etrice.generator.config
diff --git a/plugins/org.eclipse.etrice.generator.config/src/org/eclipse/etrice/generator/config/DataConfiguration.xtend b/plugins/org.eclipse.etrice.generator.config/src/org/eclipse/etrice/generator/config/DataConfiguration.xtend
index c9a5cef..01a36c9 100644
--- a/plugins/org.eclipse.etrice.generator.config/src/org/eclipse/etrice/generator/config/DataConfiguration.xtend
+++ b/plugins/org.eclipse.etrice.generator.config/src/org/eclipse/etrice/generator/config/DataConfiguration.xtend
@@ -100,7 +100,7 @@
// dynamic
override getPollingTimerUser(SubSystemInstance subsystem) {
val dynConf = subsystem.config?.dynConfig
- if (dynConf == null)
+ if (dynConf === null)
0
else
dynConf.polling
@@ -108,7 +108,7 @@
override getUserCode1(SubSystemInstance subsystem) {
var dynConfig = subsystem.config?.dynConfig
- return if (dynConfig?.filePath != null)
+ return if (dynConfig?.filePath !== null)
"import org.eclipse.etrice.runtime.java.config.ConfigSourceFile;" // TODO JH make lang independent
else
dynConfig?.userCode1
@@ -116,7 +116,7 @@
override getUserCode2(SubSystemInstance subsystem) {
var dynConfig = subsystem.config?.dynConfig
- return if (dynConfig?.filePath != null) '''new ConfigSourceFile("«dynConfig.filePath»")''' else
+ return if (dynConfig?.filePath !== null) '''new ConfigSourceFile("«dynConfig.filePath»")''' else
dynConfig?.userCode2
}
@@ -137,7 +137,7 @@
}
override hasVariableService(SubSystemInstance subsystem) {
- subsystem.config?.dynConfig != null
+ subsystem.config?.dynConfig !== null
}
def private toStringExpr(ConfigValueArray literal) {
diff --git a/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
index ef9eb9c..f25a857 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
@@ -21,3 +21,4 @@
Export-Package: org.eclipse.etrice.generator.cpp,
org.eclipse.etrice.generator.cpp.gen,
org.eclipse.etrice.generator.cpp.setup
+Automatic-Module-Name: org.eclipse.etrice.generator.cpp
diff --git a/plugins/org.eclipse.etrice.generator.cpp/build.gradle b/plugins/org.eclipse.etrice.generator.cpp/build.gradle
index 14b1fa3..f6ce27b 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/build.gradle
+++ b/plugins/org.eclipse.etrice.generator.cpp/build.gradle
@@ -1,5 +1,9 @@
apply plugin: 'application'
+configurations {
+ archive
+}
+
dependencies {
compile project(':plugins:org.eclipse.etrice.core.room')
compile project(':plugins:org.eclipse.etrice.core.etphys')
@@ -14,6 +18,10 @@
compile "org.eclipse.xtext:org.eclipse.xtext:$versions.xtext"
}
+artifacts {
+ archive distZip
+}
+
mainClassName = 'org.eclipse.etrice.generator.cpp.Main'
distTar.enabled = false
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
index 0319798..0991f4d 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.xtend
@@ -43,13 +43,13 @@
// For SubSystemClassGen
- def public genActorInstanceConfig(ActorInstance ai, String aiVariableName){'''
+ def genActorInstanceConfig(ActorInstance ai, String aiVariableName){'''
«FOR a : ai.actorClass.allAttributes»
«applyInstanceConfig(ai, aiVariableName, new ArrayList<Attribute>().union(a))»
«ENDFOR»
«FOR pi : ai.orderedIfItemInstances»
«var attribs = getPortClass(pi.interfaceItem)?.attributes»
- «IF attribs != null»
+ «IF attribs !== null»
«FOR a : attribs»
«applyInstanceConfig(pi, aiVariableName+"."+invokeGetter(pi.name, null), new ArrayList<Attribute>().union(a))»
«ENDFOR»
@@ -77,7 +77,7 @@
// TODO-Enum
if(aType.primitive){
var value = typeHelpers.getAttrInstanceConfigValue(path, instance)
- if(value == null)
+ if(value === null)
''''''
else if(a.size == 0 || aType.characterType)
'''«invokes».«a.name.invokeSetter(null, (aType as PrimitiveType).toValueLiteral(value))»;'''
@@ -100,7 +100,7 @@
// For ActorClassGen
- def public genDynConfigGetterSetter(ActorClass ac){'''
+ def genDynConfigGetterSetter(ActorClass ac){'''
«FOR a : dataConfigExt.getDynConfigReadAttributes(ac)»
public «a.type.type.typeName»«IF a.size>0»[]«ENDIF» get«a.name.toFirstUpper»(){
if(lock_«a.name» == null)
@@ -130,7 +130,7 @@
«ENDFOR»
'''}
- def public genMinMaxConstants(ActorClass ac){
+ def genMinMaxConstants(ActorClass ac){
var result = '''
«FOR a : ac.attributes»
«genMinMaxConstantsRec(ac, a.name, new ArrayList<Attribute>().union(a))»
@@ -159,10 +159,10 @@
{
var aType = (path.last.type.type as PrimitiveType)
'''
- «IF (temp = dataConfigExt.getAttrClassConfigMinValue(ac, path)) != null»
+ «IF (temp = dataConfigExt.getAttrClassConfigMinValue(ac, path)) !== null»
public static «aType.minMaxType» MIN_«varNamePath» = «aType.toValueLiteral(temp)»;
«ENDIF»
- «IF (temp = dataConfigExt.getAttrClassConfigMaxValue(ac, path)) != null»
+ «IF (temp = dataConfigExt.getAttrClassConfigMaxValue(ac, path)) !== null»
public static «aType.minMaxType» MAX_«varNamePath» = «aType.toValueLiteral(temp)»;
«ENDIF»
'''
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend
index d34e537..1cb3808 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend
@@ -56,7 +56,7 @@
«generateIncludeGuardBegin(dc, '')»
#include "common/etDatatypesCpp.hpp"
- «IF dc.base!=null»#include "«dc.base.path»«dc.base.name».h"«ENDIF»
+ «IF dc.base!==null»#include "«dc.base.path»«dc.base.name».h"«ENDIF»
«FOR classes : root.getReferencedDataClasses(dc)»
#include "«classes.path»«classes.name».h"
«ENDFOR»
@@ -72,7 +72,7 @@
«dc.generateNamespaceBegin»
- class «dc.name»«IF dc.base!=null» : public «dc.base.name»«ENDIF» {
+ class «dc.name»«IF dc.base!==null» : public «dc.base.name»«ENDIF» {
public:
«helpers.userCode(dc.userCode2)»
@@ -143,7 +143,7 @@
«dc.name»& «dc.name»::operator=(const «dc.name»& rhs)
{
if (this == &rhs) { return *this; };
- «IF dc.base!=null»«dc.base.name»::operator=(rhs);«ENDIF»
+ «IF dc.base!==null»«dc.base.name»::operator=(rhs);«ENDIF»
«FOR attr : dc.attributes»
this->«attr.name» = rhs.«attr.name»;
«ENDFOR»
@@ -160,7 +160,7 @@
val extension initHelper = initHelper
var initList = <CharSequence>newArrayList
- if(dataClass.base != null) initList += dataClass.base.name + '()'
+ if(dataClass.base !== null) initList += dataClass.base.name + '()'
initList += dataClass.attributes.map['''«name»(«initializerListValue»)''']
initList.generateCtorInitializerList
@@ -170,7 +170,7 @@
val extension initHelper = initHelper
var initList = <CharSequence>newArrayList
- if(dataClass.base != null) initList += dataClass.base.name + '(rhs)'
+ if(dataClass.base !== null) initList += dataClass.base.name + '(rhs)'
initList += dataClass.attributes.map['''«name»(rhs.«name»)''']
initList.generateCtorInitializerList
@@ -180,7 +180,7 @@
val extension initHelper = initHelper
var initList = <CharSequence>newArrayList
- if(dataClass.base != null)
+ if(dataClass.base !== null)
initList += '''«dataClass.base.name»(«dataClass.base.allAttributes.map[name].join(', ')»)'''
initList += dataClass.attributes.map['''«name»(«name»)''']
@@ -222,7 +222,7 @@
def deepCopy(DataClass _dc) {
var result = ""
var dc = _dc
- while (dc!=null) {
+ while (dc!==null) {
result = deepCopy(dc.attributes).toString + result
dc = dc.base
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/Initialization.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/Initialization.xtend
index 9131665..ded45f7 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/Initialization.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/Initialization.xtend
@@ -40,7 +40,7 @@
* Generate array and struct initialization
*/
def genExtraInitializers(Iterable<Attribute> attributes) {
- val extraInitAttrs = attributes.filter[initializerListValue == null && initValue != null && initValue.startsWith('{')]
+ val extraInitAttrs = attributes.filter[initializerListValue === null && initValue !== null && initValue.startsWith('{')]
if(extraInitAttrs.empty) return ''
'''
// extra initialization
@@ -57,12 +57,12 @@
def String getInitializerListValue(Attribute attribute) {
val initValue = attribute.initValue
- return if(initValue != null && initValue.startsWith('{')) null else initValue
+ return if(initValue !== null && initValue.startsWith('{')) null else initValue
}
def protected getInitValue(Attribute attribute) {
switch it : attribute {
- case defaultValueLiteral != null: defaultValueLiteral
+ case defaultValueLiteral !== null: defaultValueLiteral
case type.ref: languageExt.nullPointer
default: languageExt.defaultValue(type.type)
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend
index f5c5bcf..eda8112 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend
@@ -35,7 +35,7 @@
prepFS.prepare
for (e: resource.contents){
if (e instanceof Root) {
- doGenerate(e as Root)
+ doGenerate(e)
}
}
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
index bea5854..da7cbef 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
@@ -54,7 +54,7 @@
for (nr : ETMapUtil::getNodeRefs()) {
for (instpath : ETMapUtil::getSubSystemInstancePaths(nr)) {
val ssi = root.getInstance(instpath) as SubSystemInstance
- if (ssi!=null && ssi.subSystemClass.validGenerationLocation) {
+ if (ssi!==null && ssi.subSystemClass.validGenerationLocation) {
val wired = sscc2wired.get(ssi.subSystemClass)
val path = ssi.subSystemClass.getPath
@@ -71,7 +71,7 @@
def generateHeaderFile(Root root, SubSystemInstance comp, WiredSubSystemClass wired, Collection<PhysicalThread> usedThreads) {
val cc = comp.subSystemClass
- val models = root.getReferencedModels(cc)
+// val models = root.getReferencedModels(cc)
val nr = ETMapUtil::getNodeRef(comp)
val clsname = nr.getCppClassName(comp)
val threads = nr.type.threads.filter(t|usedThreads.contains(t))
@@ -170,7 +170,7 @@
def generateSourceFile(Root root, SubSystemInstance comp, WiredSubSystemClass wired, Collection<PhysicalThread> usedThreads) {
val cc = comp.subSystemClass
- val models = root.getReferencedModels(cc)
+// val models = root.getReferencedModels(cc)
val nr = ETMapUtil::getNodeRef(comp)
val clsname = nr.getCppClassName(comp)
val threads = nr.type.threads.filter(t|usedThreads.contains(t))
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.xtend
index 4ae9987..575cb51 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.xtend
@@ -39,7 +39,7 @@
for (nr : ETMapUtil::getNodeRefs()) {
for (instpath : ETMapUtil::getSubSystemInstancePaths(nr)) {
val ssi = root.getInstance(instpath) as SubSystemInstance
- if (ssi!=null && ssi.subSystemClass.validGenerationLocation) {
+ if (ssi!==null && ssi.subSystemClass.validGenerationLocation) {
val filepath = ssi.subSystemClass.getPath
fileIO.generateFile("generating SubSystemRunner declaration", filepath + nr.getCppClassName(ssi)+"Runner.h", root.generateHeaderFile(ssi))
fileIO.generateFile("generating SubSystemRunner implementation", filepath + nr.getCppClassName(ssi)+"Runner.cpp", root.generateSourceFile(ssi))
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
index 9cb81b5..815e4c1 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
@@ -529,17 +529,14 @@
override getMessageID(Message msg, InterfaceItem item) {
if (item instanceof Port) {
- var p = item as Port;
- var direction = if (p.isConjugated())"OUT_" else "IN_"
- return enumInUse(p.getProtocol().getName(), direction+msg.getName())
+ var direction = if (item.isConjugated())"OUT_" else "IN_"
+ return enumInUse(item.getProtocol().getName(), direction+msg.getName())
}
else if (item instanceof SAP) {
- var sap = item as SAP;
- return enumInUse(sap.getProtocol().getName(), "OUT_"+msg.getName())
+ return enumInUse(item.getProtocol().getName(), "OUT_"+msg.getName())
}
else if (item instanceof SPP) {
- var spp = item as SPP;
- return enumInUse(spp.getProtocol().getName(), "IN_"+msg.getName())
+ return enumInUse(item.getProtocol().getName(), "IN_"+msg.getName())
}
return "unknown interface item";
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.xtend
index 6cbb9d3..9d0344a 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.xtend
@@ -78,7 +78,7 @@
'''
}
- override public stateType() {
+ override stateType() {
"etInt16"
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/.project b/plugins/org.eclipse.etrice.generator.doc/.project
index 8c086ee..f606afe 100644
--- a/plugins/org.eclipse.etrice.generator.doc/.project
+++ b/plugins/org.eclipse.etrice.generator.doc/.project
@@ -30,6 +30,5 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
index fda0f2f..3437cb2 100644
--- a/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
@@ -24,3 +24,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.generator.doc;uses:="org.eclipse.etrice.generator.base",
org.eclipse.etrice.generator.doc.gen
+Automatic-Module-Name: org.eclipse.etrice.generator.doc
diff --git a/plugins/org.eclipse.etrice.generator.doc/build.gradle b/plugins/org.eclipse.etrice.generator.doc/build.gradle
index f9280e8..32bcd95 100644
--- a/plugins/org.eclipse.etrice.generator.doc/build.gradle
+++ b/plugins/org.eclipse.etrice.generator.doc/build.gradle
@@ -1,3 +1,9 @@
+apply plugin: 'application'
+
+configurations {
+ archive
+}
+
dependencies {
compile project(':plugins:org.eclipse.etrice.core.etmap')
compile project(':plugins:org.eclipse.etrice.core.genmodel')
@@ -6,4 +12,12 @@
compile project(':plugins:org.eclipse.etrice.generator.fsm')
compile "org.eclipse.xtend:org.eclipse.xtend.lib:$versions.xtext"
-}
\ No newline at end of file
+}
+
+artifacts {
+ archive distZip
+}
+
+mainClassName = 'org.eclipse.etrice.generator.doc.Main'
+
+distTar.enabled = false
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java
index fdeb850..ac103df 100644
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/Main.java
@@ -25,7 +25,6 @@
import org.eclipse.etrice.generator.doc.gen.InstanceDiagramGen;
import org.eclipse.etrice.generator.doc.gen.MainGen;
import org.eclipse.etrice.generator.doc.setup.GeneratorModule;
-import org.eclipse.etrice.generator.doc.setup.DocGeneratorOptions;
import com.google.inject.Inject;
@@ -47,24 +46,13 @@
protected InstanceDiagramGen instanceDiagramGenerator;
protected int runGenerator(List<Resource> resources, Arguments arguments, IGeneratorFileIO fileIO, ILogger logger) {
-
Root genModel = createGeneratorModel(resources, arguments, logger);
if (diagnostician.isFailed() || genModel==null) {
logger.logError("errors during build of generator model");
return GENERATOR_ERROR;
}
- logger.logInfo("-- starting code generation");
- mainGenerator.doGenerate(genModel.eResource());
-
- if (arguments.get(DocGeneratorOptions.GEN_INST_DIAG)) {
- instanceDiagramGenerator.doGenerate(genModel);
- }
-
- if (diagnostician.isFailed()) {
- logger.logError("errors during code generation");
- return GENERATOR_ERROR;
- }
+ mainGenerator.doGenerate(genModel, arguments, fileIO);
return GENERATOR_OK;
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/AsciiDocGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/AsciiDocGen.xtend
new file mode 100644
index 0000000..9348710
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/AsciiDocGen.xtend
@@ -0,0 +1,482 @@
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * CONTRIBUTORS:
+ * Thomas Jung, Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.generator.doc.gen
+
+import com.google.inject.Inject
+import com.google.inject.Singleton
+import java.util.List
+import org.eclipse.etrice.core.common.base.Documentation
+import org.eclipse.etrice.core.fsm.fSM.State
+import org.eclipse.etrice.core.genmodel.etricegen.Root
+import org.eclipse.etrice.core.room.ActorClass
+import org.eclipse.etrice.core.room.Attribute
+import org.eclipse.etrice.core.room.CompoundProtocolClass
+import org.eclipse.etrice.core.room.DataClass
+import org.eclipse.etrice.core.room.EnumerationType
+import org.eclipse.etrice.core.room.LogicalSystem
+import org.eclipse.etrice.core.room.Port
+import org.eclipse.etrice.core.room.ProtocolClass
+import org.eclipse.etrice.core.room.RoomClass
+import org.eclipse.etrice.core.room.RoomModel
+import org.eclipse.etrice.core.room.StandardOperation
+import org.eclipse.etrice.core.room.SubSystemClass
+import org.eclipse.etrice.core.room.util.RoomHelpers
+import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
+import org.eclipse.etrice.generator.fsm.base.CodegenHelpers
+import org.eclipse.etrice.core.room.GeneralProtocolClass
+import org.eclipse.emf.ecore.EObject
+import org.eclipse.xtext.documentation.IEObjectDocumentationProvider
+import org.eclipse.etrice.core.fsm.fSM.StateGraph
+
+@Singleton
+class AsciiDocGen {
+
+ @Inject extension RoomHelpers
+ @Inject extension CodegenHelpers
+ @Inject extension IEObjectDocumentationProvider
+
+ def doGenerate(Root root, IGeneratorFileIO fileIO, boolean includeImages) {
+ val packages = root.models.groupBy[name].entrySet.map[new RoomPackage(key, value)].sortBy[name]
+ fileIO.generateFile("doc.adoc", generateSingleDoc(packages, includeImages))
+ }
+
+ def generateSingleDoc(Iterable<RoomPackage> packages, boolean includeImages) '''
+ = Model Documentation
+ generated by eTrice
+ {docdatetime}
+ :toc: left
+ :toclevels: 2
+ :table-caption!:
+ «IF !packages.empty»
+
+ .Room Packages
+ «FOR pkg: packages»
+ * «crossReference(pkg.name)»
+ «ENDFOR»
+ «ENDIF»
+ «FOR pkg: packages»
+
+ «generatePackageDoc(pkg)»
+ «FOR en: pkg.enumerationTypes»
+
+ «en.generateEnumerationDoc»
+ «ENDFOR»
+ «FOR dc: pkg.dataClasses»
+
+ «dc.generateDataDoc»
+ «ENDFOR»
+ «FOR pc: pkg.protocolClasses»
+
+ «pc.generateProtocolDoc»
+ «ENDFOR»
+ «FOR sys: pkg.systems»
+
+ «sys.generateLogicalSystemDoc(includeImages)»
+ «ENDFOR»
+ «FOR subSys: pkg.subSystemClasses»
+
+ «subSys.generateSubSystemDoc(includeImages)»
+ «ENDFOR»
+ «FOR ac: pkg.actorClasses»
+
+ «ac.generateActorDoc(includeImages)»
+ «ENDFOR»
+ «ENDFOR»
+ '''
+
+ def private generatePackageDoc(RoomPackage pkg) {
+ '''
+ «defineAnchor(pkg.name)»
+ == «pkg.name»
+ «IF !pkg.systems.empty»
+
+ .Logical System Classes
+ |===
+ | Name | Description
+ «FOR s : pkg.systems»
+
+ | «crossReference(s)»
+ | «s.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pkg.subSystemClasses.empty»
+
+ .Subsystem Classes
+ |===
+ | Name | Description
+ «FOR s : pkg.subSystemClasses»
+
+ | «crossReference(s)»
+ | «s.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pkg.protocolClasses.empty»
+
+ .ProtocolClasses
+ |===
+ | Name | Description
+ «FOR c : pkg.protocolClasses»
+
+ | «crossReference(c)»
+ | «c.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pkg.enumerationTypes.empty»
+
+ .Enumeration Types
+ |===
+ | Name | Description
+ «FOR e : pkg.enumerationTypes»
+
+ | «crossReference(e)»
+ | «e.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pkg.dataClasses.empty»
+
+ .Data Classes
+ |===
+ | Name | Description
+ «FOR c : pkg.dataClasses»
+
+ | «crossReference(c)»
+ | «c.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pkg.actorClasses.empty»
+
+ .Actor Classes
+ |===
+ | Name | Description
+ «FOR c : pkg.actorClasses»
+
+ | «crossReference(c)»
+ | «c.shortDocText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ '''
+ }
+
+ def private generateLogicalSystemDoc(LogicalSystem system, boolean includeImages) {
+ '''
+ «defineAnchor(system)»
+ === «system.name»
+
+ «system.docText»
+ «IF includeImages»
+
+ «includeImage(system.name + "_instanceTree.jpg")»
+ «ENDIF»
+ '''
+ }
+
+ def private generateSubSystemDoc(SubSystemClass ssc, boolean includeImages) '''
+ «defineAnchor(ssc)»
+ === «ssc.name»
+
+ «ssc.docText»
+ «IF includeImages»
+
+ «includeImage(ssc.name + "_structure.jpg")»
+ «ENDIF»
+ '''
+
+ def private generateEnumerationDoc(EnumerationType en) '''
+ «defineAnchor(en)»
+ === «en.name»
+
+ «en.docText»
+
+ «IF en.primitiveType !== null»
+ The literals of this enumeration are based on PrimitiveType «en.primitiveType.name».
+ «ELSE»
+ The literals of this enumeration are of type int.
+ «ENDIF»
+
+ .Literals
+ |===
+ | Name | Value | Hex Value | Binary Value
+ «FOR lit: en.literals»
+
+ | «lit.name»
+ | «lit.literalValue»
+ | 0x«Long.toHexString(lit.literalValue)»
+ | «Long.toBinaryString(lit.literalValue)»
+ «ENDFOR»
+ |===
+ '''
+
+ def private generateDataDoc(DataClass dc) '''
+ «defineAnchor(dc)»
+ === «dc.name»
+
+ «dc.docText»
+
+ «dc.attributes.generateAttributesDoc»
+ «IF !dc.operations.empty»
+
+ «dc.operations.generateOperationsDoc»
+ «ENDIF»
+ '''
+
+ def private dispatch generateProtocolDoc(ProtocolClass pc) '''
+ «defineAnchor(pc)»
+ === «pc.name»
+
+ «pc.docText»
+ «IF !pc.allIncomingMessages.empty»
+
+ .Incoming Messages
+ |===
+ | Message | Type | Description
+ «FOR ims : pc.allIncomingMessages»
+
+ | «ims.name»
+ | «IF ims.data !== null»«ims.data.refType.type.name»«ELSE»void«ENDIF»
+ | «ims.docText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ «IF !pc.allOutgoingMessages.empty»
+
+ .Outgoing Messages
+ |===
+ | Message | Type | Description
+ «FOR oms : pc.allOutgoingMessages»
+
+ | «oms.name»
+ | «IF oms.data !== null»«oms.data.refType.type.name»«ELSE»void«ENDIF»
+ | «oms.docText»
+ «ENDFOR»
+ |===
+ «ENDIF»
+ '''
+
+ def private dispatch generateProtocolDoc(CompoundProtocolClass pc) '''
+ «defineAnchor(pc)»
+ === «pc.name»
+
+ «pc.docText»
+
+ .Sub Protocols
+ |===
+ | Name | Protocol
+ «FOR sub : pc.subProtocols»
+
+ | «sub.name»
+ | «sub.protocol.name»
+ «ENDFOR»
+ |===
+ '''
+
+ def private generateActorDoc(ActorClass ac, boolean includeImages) '''
+ «defineAnchor(ac)»
+ === «ac.name»
+
+ «ac.docText»
+
+ ==== Structure
+ «IF includeImages»
+
+ «includeImage(ac.name + "_structure.jpg")»
+ «ENDIF»
+ «IF !ac.allPorts.empty»
+
+ «generatePortDoc(ac)»
+ «ENDIF»
+ «IF !ac.attributes.empty»
+
+ «ac.attributes.generateAttributesDoc»
+ «ENDIF»
+ «IF ac.hasNonEmptyStateMachine || !ac.operations.empty || ac.isBehaviorAnnotationPresent("BehaviorManual")»
+
+ ==== Behavior
+ «IF !ac.operations.empty»
+
+ «ac.operations.generateOperationsDoc»
+ «ENDIF»
+ «IF ac.isBehaviorAnnotationPresent("BehaviorManual")»
+
+ The behavior for ActorClass «ac.name» is implemented manually.
+ «ELSEIF ac.hasNonEmptyStateMachine»
+
+ «generateFsmDoc(ac, includeImages)»
+ «ENDIF»
+ «ENDIF»
+ '''
+
+ def private generateFsmDoc(ActorClass ac, boolean includeImages) '''
+ .State Machine
+ Top Level State::
+ «generateStateGraphDoc(ac, ac.stateMachine, includeImages, 1)»
+ '''
+
+ def private CharSequence generateStateGraphDoc(ActorClass ac, StateGraph stateGraph, boolean includeImages, int depth) {
+ val statePath = if(stateGraph.eContainer instanceof State) "_" + (stateGraph.eContainer as State).genStatePathName else ""
+ '''
+ «IF includeImages»
+ «includeImage(ac.name + statePath + "_behavior.jpg")»
+ «ENDIF»
+ «FOR state: stateGraph.states»
+ «state.name»::«fill(':', depth)»
+ «state.docText»
+ «IF !state.leaf»
+ «generateStateGraphDoc(ac, state.subgraph, includeImages, depth + 1)»
+ «ENDIF»
+ «ENDFOR»
+ '''
+ }
+
+ def private String generatePortDoc(ActorClass ac) '''
+ .Ports
+ |===
+ | Name | Protocol | Type | Kind | Multiplicity | Description
+ «FOR at : ac.allPorts»
+
+ | «at.name»
+ | «at.protocol.name»
+ | «at.type»
+ | «at.kind»
+ | «at.multAsText»
+ | «at.docText»
+ «ENDFOR»
+ |===
+ '''
+
+ def private generateAttributesDoc(List<Attribute> attributes) '''
+ .Attributes
+ |===
+ | Name | Type | Description
+ «FOR at : attributes»
+
+ | «at.name»
+ | «at.type.type.name»
+ | «at.docText»
+ «ENDFOR»
+ |===
+ '''
+
+ def private generateOperationsDoc(List<StandardOperation> operations) '''
+ .Operations
+ |===
+ | Name | Return type | Arguments | Description
+ «FOR op : operations SEPARATOR '\n'»
+
+ |«op.name»
+ | «IF op.returnType !== null»«op.returnType.type.name»«ELSE»void«ENDIF»
+ | «FOR pa : op.arguments SEPARATOR ", "»«pa.name»: «pa.refType.type.name»«ENDFOR»
+ | «op.docText»
+ «ENDFOR»
+ |===
+ '''
+
+ def private getType(Port p) {
+ if (p.conjugated) "conjugated" else "regular"
+ }
+
+ def private getKind(Port p) {
+ if (p.internal) "internal"
+ else if (p.external) "external"
+ else if (p.relay) "relay"
+ else "?"
+ }
+
+ def private String getMultAsText(Port p) {
+ if(p.multiplicity == -1) "*"
+ else p.multiplicity.toString
+ }
+
+ def private getDocText(EObject object) {
+ val eClass = object.eClass;
+ val feature = eClass.getEStructuralFeature("docu")
+ if(feature !== null) {
+ val docu = object.eGet(feature) as Documentation
+ if(docu !== null) {
+ return String.join('\n', docu.lines)
+ }
+ }
+
+ val docu = object.documentation
+ if(docu !== null) docu else ""
+ }
+
+ def private getShortDocText(EObject object) {
+ val docText = object.docText
+ val index = docText.indexOf('\n')
+ if(index != -1) docText.subSequence(0, index) else docText
+ }
+
+ def private includeImage(String filename) {
+ '''image:«filename»[]'''
+ }
+
+ def private static crossReference(RoomClass rc) {
+ crossReference(rc.anchor)
+ }
+
+ def private static crossReference(CharSequence anchor) {
+ '''<<«anchor»>>'''
+ }
+
+ def private static defineAnchor(RoomClass rc) {
+ defineAnchor(rc.anchor)
+ }
+
+ def private static defineAnchor(CharSequence anchor) {
+ '''[[«anchor»]]'''
+ }
+
+ def private static getAnchor(RoomClass rc) {
+ '''«(rc.eContainer as RoomModel).name».«rc.name»'''
+ }
+
+ def private static String fill(char c, int length) {
+ val builder = new StringBuilder(length)
+ for(var i = 0; i < length; i++) {
+ builder.append(c)
+ }
+ builder.toString
+ }
+
+ private static class RoomPackage {
+
+ public final String name
+ public final Iterable<LogicalSystem> systems
+ public final Iterable<SubSystemClass> subSystemClasses
+ public final Iterable<GeneralProtocolClass> protocolClasses
+ public final Iterable<EnumerationType> enumerationTypes
+ public final Iterable<DataClass> dataClasses
+ public final Iterable<ActorClass> actorClasses
+
+ private new(String name, Iterable<RoomModel> models) {
+ this.name = name
+
+ systems = models.map[it.systems].flatten.sortBy[name]
+ subSystemClasses = models.map[it.subSystemClasses].flatten.sortBy[name]
+ protocolClasses = models.map[it.protocolClasses].flatten.sortBy[name]
+ enumerationTypes = models.map[it.enumerationTypes].flatten.sortBy[name]
+ dataClasses = models.map[it.dataClasses].flatten.sortBy[name]
+ actorClasses = models.map[it.actorClasses].flatten.sortBy[name]
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/DocGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/DocGen.xtend
deleted file mode 100644
index 989debf..0000000
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/DocGen.xtend
+++ /dev/null
@@ -1,614 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * CONTRIBUTORS:
- * Thomas Jung, Thomas Schuetz (initial contribution)
- *
- *******************************************************************************/
-
-package org.eclipse.etrice.generator.doc.gen
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import java.io.File
-import java.util.List
-import java.util.Set
-import org.eclipse.etrice.core.common.base.Documentation
-import org.eclipse.etrice.core.common.base.util.RelativePathHelpers
-import org.eclipse.etrice.core.fsm.fSM.State
-import org.eclipse.etrice.core.genmodel.etricegen.Root
-import org.eclipse.etrice.core.room.ActorClass
-import org.eclipse.etrice.core.room.Attribute
-import org.eclipse.etrice.core.room.CompoundProtocolClass
-import org.eclipse.etrice.core.room.DataClass
-import org.eclipse.etrice.core.room.EnumerationType
-import org.eclipse.etrice.core.room.LogicalSystem
-import org.eclipse.etrice.core.room.Port
-import org.eclipse.etrice.core.room.ProtocolClass
-import org.eclipse.etrice.core.room.RoomClass
-import org.eclipse.etrice.core.room.RoomModel
-import org.eclipse.etrice.core.room.StandardOperation
-import org.eclipse.etrice.core.room.SubSystemClass
-import org.eclipse.etrice.core.room.util.RoomHelpers
-import org.eclipse.etrice.generator.fsm.base.CodegenHelpers
-import org.eclipse.etrice.generator.base.logging.ILogger
-import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
-
-@Singleton
-class DocGen {
-
- @Inject extension RoomHelpers
- @Inject extension CodegenHelpers
- @Inject IGeneratorFileIO fileIO
- @Inject ILogger logger
-
- final val IMGDIR_DEFAULT = "./images"
- final val IMGWIDTH_DEFAULT = "1.0\\textwidth"
-
- static class DocGenContext {
- val Root root
- val RoomModel model
-
- new(Root r, RoomModel m) {
- root = r
- model = m
- }
-
- }
-
- def doGenerate(Root root) {
- for (model: root.models) {
- val ctx = new DocGen.DocGenContext(root,model)
- var file = model.name+".tex"
- val Set<RoomModel> referencedModels = newHashSet
- logger.logInfo("generating LaTeX documentation: '"+file+"'")
-
- // Save documentation fragments for RoomModel children
- model.systems.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.systems.forEach[referencedModels.addAll(root.getReferencedModels(it))]
- model.subSystemClasses.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.subSystemClasses.forEach[referencedModels.addAll(root.getReferencedModels(it))]
- model.protocolClasses.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.protocolClasses.forEach[referencedModels.addAll(root.getReferencedModels(it))]
- model.enumerationTypes.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.enumerationTypes.forEach[referencedModels.addAll(root.getReferencedModels(it))]
- model.dataClasses.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.dataClasses.forEach[referencedModels.addAll(root.getReferencedModels(it))]
- model.actorClasses.forEach[generateDoc(ctx).saveAs(model.name+docFragmentName)]
- model.actorClasses.forEach[referencedModels.addAll(root.getReferencedModels(it))]
-
- // Save top-level documentation for RoomModel
- generateModelDoc(ctx, referencedModels).saveAs(file)
-
-// logger.logInfo("main path "+model.docGenerationTargetPath)
-// referencedModels.forEach[logger.logInfo("ref path "+docGenerationTargetPath+" - "
-// +RelativePathHelpers.getRelativePath(
-// model.docGenerationTargetPath.removeLast, docGenerationTargetPath.removeLast, true)
-// )]
- }
- }
-
- def private removeLast(String str) {
- str.substring(0, str.length-1)
- }
-
- def private appendIfNotEmpty(String txt, String suffix) {
- if (txt.empty)
- txt
- else
- txt+suffix
- }
-
- def private generateModelDoc(DocGen.DocGenContext ctx, Set<RoomModel> referencedModels) {
- var model = ctx.model
- '''
- \documentclass[titlepage]{article}
- \usepackage{import}
- \usepackage{graphicx}
- \usepackage{xr}
- \usepackage{hyperref}
- \IfFileExists{../doc/userinputs.tex}{\subimport{../doc/}{userinputs.tex}}{} %hook for conditional user-specific inputs, includes, macros, ...
- \usepackage[a4paper,text={160mm,255mm},centering,headsep=5mm,footskip=10mm]{geometry}
- \usepackage{nonfloat}
- \parindent 0pt
- \makeatletter
- \newcommand\level[1]{%
- \ifcase#1\relax\expandafter\chapter\or
- \expandafter\section\or
- \expandafter\subsection\or
- \expandafter\subsubsection\else
- \def\next{\@level{#1}}\expandafter\next
- \fi}
-
- \newcommand{\@level}[1]{%
- \@startsection{level#1}
- {#1}
- {\z@}%
- {-3.25ex\@plus -1ex \@minus -.2ex}%
- {1.5ex \@plus .2ex}%
- {\normalfont\normalsize\bfseries}}
-
- \newdimen\@leveldim
- \newdimen\@dotsdim
- {\normalfont\normalsize
- \sbox\z@{0}\global\@leveldim=\wd\z@
- \sbox\z@{.}\global\@dotsdim=\wd\z@
- }
- \newcounter{level4}[subsubsection]
- \@namedef{thelevel4}{\thesubsubsection.\arabic{level4}}
- \@namedef{level4mark}#1{}
- \def\l@section{\@dottedtocline{1}{0pt}{\dimexpr\@leveldim*4+\@dotsdim*1+6pt\relax}}
- \def\l@subsection{\@dottedtocline{2}{0pt}{\dimexpr\@leveldim*5+\@dotsdim*2+6pt\relax}}
- \def\l@subsubsection{\@dottedtocline{3}{0pt}{\dimexpr\@leveldim*6+\@dotsdim*3+6pt\relax}}
- \@namedef{l@level4}{\@dottedtocline{4}{0pt}{\dimexpr\@leveldim*7+\@dotsdim*4+6pt\relax}}
-
- \count@=4
- \def\@ncp#1{\number\numexpr\count@+#1\relax}
- \loop\ifnum\count@<100
- \begingroup\edef\x{\endgroup
- \noexpand\newcounter{level\@ncp{1}}[level\number\count@]
- \noexpand\@namedef{thelevel\@ncp{1}}{%
- \noexpand\@nameuse{thelevel\@ncp{0}}.\noexpand\arabic{level\@ncp{0}}}
- \noexpand\@namedef{level\@ncp{1}mark}####1{}%
- \noexpand\@namedef{l@level\@ncp{1}}%
- {\noexpand\@dottedtocline{\@ncp{1}}{0pt}{\the\dimexpr\@leveldim*\@ncp{5}+\@dotsdim*\@ncp{0}\relax}}}%
- \x
- \advance\count@\@ne
- \repeat
- \makeatother
- \setcounter{secnumdepth}{100}
- \setcounter{tocdepth}{100}
-
-
- \title{«model.name.escapedString» Model Documentation}
- \date{\today}
- \author{generated by eTrice}
-
- \begin{document}
-
- \pagestyle{plain}
- \maketitle
- \tableofcontents
-
- \newpage
- \listoffigures
- \newpage
- \section{Model Description}
-
- «IF !referencedModels.empty»
- \section{Referenced Models}
-
- \begin{itemize}
- «FOR refModel : referencedModels.sortBy[name]»
-««« «val relPath = RelativePathHelpers.getRelativePath(
-««« model.generationTargetPath.removeLast, refModel.generationTargetPath.removeLast, true).appendIfNotEmpty("/")»
-««« \item \href{«(relPath.replace("\\", "/")+refModel.name).escapedString».pdf}{«refModel.name.escapedString»}
- \item «refModel.name.escapedString»
- «ENDFOR»
- \end{itemize}
- \newpage
- «ENDIF»
-
- «IF !model.systems.empty»
- \section{Logical System Classes}
- «FOR s : model.systems»
- «s.generateImport(model.name)»
- «ENDFOR»
- \newpage
- «ENDIF»
-
- «IF !model.subSystemClasses.empty»
- \section{Subsystem Classes}
- «FOR s : model.subSystemClasses»
- «s.generateImport(model.name)»
- «ENDFOR»
- \newpage
- «ENDIF»
-
- «IF !model.protocolClasses.empty»
- \section{Protocol Classes}
- «FOR c : model.protocolClasses»
- «c.generateImport(model.name)»
- «ENDFOR»
- \newpage
- «ENDIF»
-
- «IF !model.enumerationTypes.empty»
- \section{Enumeration Types}
- «FOR e : model.enumerationTypes»
- «e.generateImport(model.name)»
- «ENDFOR»
- \newpage
- «ENDIF»
-
- «IF !model.dataClasses.empty»
- \section{Data Classes}
- «FOR c : model.dataClasses»
- «c.generateImport(model.name)»
- «ENDFOR»
- \newpage
- «ENDIF»
-
- «IF !model.actorClasses.empty»
- \section{Actor Classes}
- «FOR c : model.actorClasses»
- «c.generateImport(model.name)»
- «ENDFOR»
- «ENDIF»
- \end{document}
- '''
- }
-
- def private dispatch generateDoc(LogicalSystem system, DocGen.DocGenContext ctx) {
- val filename = system.name + "_instanceTree.jpg"
- '''
- \level{2}{«system.name.escapedString»}
- «system.docu.generateDocText»
- \level{3}{Instance Tree}
- «IF ctx.model.fileExists(filename.imagePath).equals("true")»
- «includeGraphics(filename.imagePath,IMGWIDTH_DEFAULT,system.name + " Instance Tree")»
- «ENDIF»
- '''
- }
-
- def private dispatch generateDoc(SubSystemClass ssc, DocGen.DocGenContext ctx) {
- val filename = ssc.name.escapedString + "_structure.jpg"
-
- '''
- \level{2}{«ssc.name.escapedString»}
- «ssc.docu.generateDocText»
- \level{3}{Structure}
- «IF ctx.model.fileExists(filename.imagePath).equals("true")»
- «includeGraphics(filename.imagePath,IMGWIDTH_DEFAULT,ssc.name + " Structure")»
- «ENDIF»
- '''
- }
-
- def private dispatch generateDoc(EnumerationType dc, DocGen.DocGenContext ctx) {
- '''
- \level{2} {«dc.name.escapedString»}
- «dc.docu.generateDocText»
- «IF dc.primitiveType!==null»
- The literals of this enumeration are based on PrimitiveType «dc.primitiveType.name.escapedString».
- «ELSE»
- The literals of this enumeration are of type \texttt{int}.
- «ENDIF»
- \level{3}{Literals}
- \begin{tabular}[ht]{|l|r|r|r|}
- \hline
- \textbf{Name} & \textbf{Value} & \textbf{Hex Value} & \textbf{Binary Value}\\
- «FOR lit: dc.literals»
- \hline
- «lit.name.escapedString» & «lit.literalValue» & 0x«Long.toHexString(lit.literalValue)» & «Long.toBinaryString(lit.literalValue)»\\
- «ENDFOR»
- \hline
- \end{tabular}
- '''
- }
-
- def private dispatch generateDoc(DataClass dc, DocGen.DocGenContext ctx) {'''
- \level{2} {«dc.name.escapedString»}
- «dc.docu.generateDocText»
- \level{3}{Attributes}
- «dc.attributes.generateAttributesDoc»
-
- \level{3}{Operations}
- «dc.operations.generateOperationsDoc»
- '''
- }
-
- def private dispatch generateDoc(ProtocolClass pc, DocGen.DocGenContext ctx) {'''
- \level{2} {«pc.name.escapedString»}
- «pc.docu.generateDocText»
- «IF !pc.allIncomingMessages.empty»
- \level{3}{Incoming Messages}
-
- \begin{tabular}[ht]{|l|l|p{8cm}|}
- \hline
- Message & Type & Description\\
- «FOR ims : pc.allIncomingMessages»
- \hline
- «ims.name.escapedString» & «IF ims.data !== null» «ims.data.refType.type.name.escapedString» «ENDIF» & «ims.docu.generateDocText»\\
- «ENDFOR»
- \hline
- \end{tabular}
- «ENDIF»
- «IF !pc.allOutgoingMessages.empty»
- \level{3}{Outgoing Messages}
- \begin{tabular}[ht]{|l|l|p{8cm}|}
- \hline
- Message & Type & Description\\
- «FOR oms : pc.allOutgoingMessages»
- \hline
- «oms.name.escapedString» & «IF oms.data !== null» «oms.data.refType.type.name.escapedString» «ENDIF» & «oms.docu.generateDocText»\\
- «ENDFOR»
- \hline
- \end{tabular}
- «ENDIF»
- '''
- }
-
- def private dispatch generateDoc(CompoundProtocolClass pc, DocGen.DocGenContext ctx) {'''
- \level{2} {«pc.name.escapedString»}
- «pc.docu.generateDocText»
- \level{3}{Sub Protocols}
-
- \begin{tabular}[ht]{|l|l|}
- \hline
- \textbf{Name} & \textbf{Protocol}\\
- «FOR sub : pc.subProtocols»
- \hline
- «sub.name.escapedString» & «sub.protocol.name.escapedString»\\
- «ENDFOR»
- \hline
- \end{tabular}
- '''
- }
-
- def dispatch private generateDoc(ActorClass ac, DocGen.DocGenContext ctx) {
- val filename = ac.name + "_structure.jpg"
- '''
- \level{2}{«ac.name.escapedString»}
- «ac.docu.generateDocText»
-
- «IF ctx.model.fileExists(filename.imagePath).equals("true") && (!ac.allInterfaceItems.empty || !ac.actorRefs.empty)»
- \level{3}{Structure}
- «ac.structureDocu.generateDocText»
- «includeGraphics(filename.imagePath,IMGWIDTH_DEFAULT,ac.name + " Structure")»
- «ELSEIF ac.structureDocu !== null»
- \level{3}{Structure}
- «ac.structureDocu.generateDocText»
- «ENDIF»
-
- «IF !ac.allPorts.empty»
- \level{3}{Ports}
- «generatePortDoc(ac)»
- «ENDIF»
-
- «IF ac.isBehaviorAnnotationPresent("BehaviorManual")»
- \level{3}{Behavior}
- «ac.behaviorDocu.generateDocText»
- The behavior for ActorClass «ac.name» is implemented manually.
- «ELSEIF ac.hasNonEmptyStateMachine»
- \level{3}{Behavior}
- «ac.behaviorDocu.generateDocText»
- «generateFsmDoc(ctx.model, ac)»
- «ELSEIF ac.behaviorDocu !== null»
- \level{3}{Behavior}
- «ac.behaviorDocu.generateDocText»
- «ENDIF»
-
- «IF !ac.attributes.empty»
- \level{3}{Attributes}
- «ac.attributes.generateAttributesDoc»
- «ENDIF»
-
- «IF !ac.operations.empty»
- \level{3}{Operations}
- «ac.operations.generateOperationsDoc»
- «ENDIF»
- '''
- }
-
- def private generateFsmDoc(RoomModel model, ActorClass ac){
- val filename = ac.name + "_behavior.jpg"
- '''
- \level{4}{Top Level}
- «IF model.fileExists(filename.imagePath).equals("true")»
- «includeGraphics(filename.imagePath,IMGWIDTH_DEFAULT,ac.name + " Top State")»
- «ENDIF»
-
- \begin{par}
- «FOR s : ac.stateMachine.states»
- «IF s.docu !== null»
- \textbf{State description} \textit{«s.genStatePathName.replaceAll("_","\\\\_")»}:
- \newline
- «generateDocText(s.docu)»
- \newline\newline
- «ENDIF»
- «ENDFOR»
-
- «FOR c : ac.stateMachine.chPoints»
- «IF c.docu !== null»
- \textbf{Choicepoint description} \textit{«c.name.escapedString»}:
- \newline
- «generateDocText(c.docu)»
- \newline\newline
- «ENDIF»
- «ENDFOR»
- \end{par}
-
- «FOR s : ac.stateMachine.states»
- «IF !s.isLeaf»
- «generateStateDoc(model, ac, s)»
- «ENDIF»
- «ENDFOR»
- '''
- }
-
- def private getType(Port p) {
- if (p.conjugated) "conj." else "reg."
- }
-
- def private getKind(Port p) {
- if (p.internal)
- "internal"
- else if (p.external)
- "external"
- else if (p.relay)
- "relay"
- else
- "?"
- }
-
- def private String getMultAsText(Port p) {
- if (p.multiplicity==-1)
- "*"
- else
- p.multiplicity.toString
- }
-
- def private String generatePortDoc(ActorClass ac) {
- '''
- \begin{tabular}[ht]{|l|l|l|l|l|p{5cm}|}
- \hline
- \textbf{Name} & \textbf{Protocol} & \textbf{Type} & \textbf{Kind} & \textbf{Multiplicity} & \textbf{Description}\\
- «FOR at : ac.allPorts»
- \hline
- «at.name.escapedString» & «at.protocol.name.escapedString» & «at.type» & «at.kind» & «at.multAsText» & «generateDocText(at.docu)»\\
- «ENDFOR»
- \hline
- \end{tabular}
- '''
- }
-
- def private String generateStateDoc(RoomModel model, ActorClass ac, State state){
- val filename = ac.name + "_" + state.genStatePathName + "_behavior.jpg"
-
- logger.logInfo("Gen Filename: " + filename);
- '''
- \level{4}{Subgraph «state.genStatePathName.replaceAll("_","\\\\_")»}
- «IF model.fileExists(filename.imagePath).equals("true")»
- «includeGraphics(filename.imagePath,IMGWIDTH_DEFAULT,ac.name + "_" + state.genStatePathName)»
- «ENDIF»
-
- \begin{par}
- «FOR s : state.subgraph.states»
- «IF s.docu !== null»
- \textbf{State description} \textit{«s.genStatePathName.replaceAll("_","\\\\_")»}:
- \newline
- «generateDocText(s.docu)»
- \newline\newline
- «ENDIF»
- «ENDFOR»
-
- «FOR c : state.subgraph.chPoints»
- «IF c.docu !== null»
- \textbf{Choicepoint description} \textit{«c.name.escapedString»}:
- \newline
- «generateDocText(c.docu)»
- \newline\newline
- «ENDIF»
- «ENDFOR»
- \end{par}
-
- «FOR s : state.subgraph.states»
- «IF !s.isLeaf»
- «generateStateDoc(model, ac, s)»
- «ENDIF»
- «ENDFOR»
- '''
- }
-
- def private generateAttributesDoc(List<Attribute> attributes) {
- '''
- «IF !attributes.empty»
- \begin{tabular}[ht]{|l|l|p{8cm}|}
- \hline
- \textbf{Name} & \textbf{Type} & \textbf{Description}\\
- «FOR at : attributes»
- \hline
- «at.name.escapedString» & «at.type.type.name.escapedString» & «generateDocText(at.docu)»\\
- «ENDFOR»
- \hline
- \end{tabular}
- «ENDIF»
- '''
- }
-
- def private generateOperationsDoc(List<StandardOperation> operations) {
- '''
- «FOR op : operations»
- \begin{tabular}[ht]{|l|l|}
- \hline
- Name: & «op.name.escapedString»\\
- \hline
- ReturnType: & «IF op.returnType !== null»«op.returnType.type.name.escapedString»«ELSE»void«ENDIF»\\
- \hline
- Arguments: & «FOR pa : op.arguments SEPARATOR ", "»«pa.name.escapedString»:«pa.refType.type.name.escapedString»«ENDFOR»\\
- «IF op.docu !== null»
- \hline
- «IF op.docu.toString.length > 85»
- \multicolumn{2} {|p{13cm}|} {«generateDocText(op.docu)»}\\
- «ELSE»
- \multicolumn{2} {|l|} {«generateDocText(op.docu)»}\\
- «ENDIF»
- «ENDIF»
- \hline
- \end{tabular}
- \newline\newline\newline
- «ENDFOR»
- '''
- }
-
- def private generateDocText(Documentation doc){
- '''
- «IF doc!==null»
- % begin text from user Documentation
- «FOR line: doc.lines»
- «line.escapedString»
- «ENDFOR»
- % end text from user Documentation
- «ENDIF»
- '''
- }
-
- def private fileExists(RoomModel model, String f){
-// val absPath = model.generationTargetPath + f
-// val file = new File(absPath);
-// val exist = file.exists();
-// if (exist == true) {
-// // File or directory exists
-// logger.logInfo("File found ! " + f);
-// return "true"
-// } else {
-// // File or directory does not exist
-// logger.logInfo("File not found ! " + f);
-// return "false"
-// }
-
-
- return "false"
- }
-
- def private includeGraphics(String filename, String width, String caption){
- var latexCaption = caption.replaceAll("_","\\\\_");
- '''
- {
- \centering{}
- \includegraphics[width=«width»]{«filename»}
- \figcaption{«latexCaption»}
- }
- '''
- }
-
- def private escapedString(String text) {
- text.replace("_","\\_")
- }
-
- def private getImagePath(String filename) {
- var filenamei = IMGDIR_DEFAULT + "/" + filename
- filenamei = filenamei.replaceAll("\\\\","/")
- return filenamei
- }
-
- def private saveAs(CharSequence content, String filename) {
- fileIO.generateFile(filename, content)
- }
-
- def private docFragmentName(RoomClass rc) {
- rc.name + ".tex"
- }
-
- def private generateImport(RoomClass rc, String dir)
- '''«rc.docFragmentName.generateImport(dir)»'''
-
- def private generateImport(String name, String dir)
- '''\subimport*{«dir»/}{«name»}'''
-}
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend
index 3011ae5..603c4e8 100644
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.xtend
@@ -16,7 +16,6 @@
import com.google.inject.Inject
import com.google.inject.Singleton
-import java.io.File
import org.eclipse.etrice.core.genmodel.etricegen.AbstractInstance
import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance
import org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance
@@ -25,57 +24,36 @@
import org.eclipse.etrice.core.genmodel.etricegen.SystemInstance
import org.eclipse.etrice.generator.generic.RoomExtensions
-import static java.lang.Runtime.*
import org.eclipse.etrice.core.etmap.util.ETMapUtil
-import org.eclipse.etrice.generator.base.logging.ILogger
import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
@Singleton
class InstanceDiagramGen {
- @Inject extension IGeneratorFileIO fileIO
@Inject extension RoomExtensions roomExt
- @Inject ILogger logger
- def doGenerate(Root root) {
- for (model: root.models) {
- var path = "images/"
- var batchFile = "dot2jpg.bat"
- for (sys : root.systemInstances) {
- var file = sys.name+"_instanceTree.dot"
- fileIO.generateFile("generating instance tree diagram", path + file, root.generate(sys))
- }
- fileIO.generateFile(path + batchFile, root.generate2jpg())
- runDot2Jpg(path, batchFile)
+ def doGenerate(Root root, IGeneratorFileIO fileIO) {
+ var path = "images/"
+ for (sys : root.systemInstances) {
+ var file = sys.name+"_instanceTree.dot"
+ fileIO.generateFile("generating instance tree diagram", path + file, root.generate(sys))
}
}
- // generate batch file to convert .dot to .jpg
- // dot -Tjpg -oSS.jpg SS.dot
- def private generate2jpg(Root root){
- '''
- «FOR sys : root.systemInstances»
- dot -Tjpg -o «sys.name»_instanceTree.jpg «sys.name»_instanceTree.dot
- «ENDFOR»
- '''
- }
-
- def private generate(Root root, SystemInstance sys) {
- '''
- digraph «sys.name» {
- rankdir=LR;
- node [shape=box];
- «sys.path.getPathName()» [label="«sys.name»\n(«sys.name»)" style=filled color=red];
- «FOR ssi : sys.instances»
- «ssi.path.getPathName()» [label="«ssi.name»\n(«ssi.subSystemClass.name»)" style=filled color=yellow];
- «sys.path.getPathName()» -> «ssi.path.getPathName()»;
- «FOR ai : ssi.instances»
- «instance(ai)»
- «ENDFOR»
+ def private generate(Root root, SystemInstance sys) '''
+ digraph «sys.name» {
+ rankdir=LR;
+ node [shape=box];
+ «sys.path.getPathName()» [label="«sys.name»\n(«sys.name»)" style=filled color=red];
+ «FOR ssi : sys.instances»
+ «ssi.path.getPathName()» [label="«ssi.name»\n(«ssi.subSystemClass.name»)" style=filled color=yellow];
+ «sys.path.getPathName()» -> «ssi.path.getPathName()»;
+ «FOR ai : ssi.instances»
+ «instance(ai)»
«ENDFOR»
- }
- '''
- }
+ «ENDFOR»
+ }
+ '''
def private String instance(AbstractInstance ai) {
val parent = ai.eContainer as StructureInstance
@@ -97,17 +75,6 @@
«ENDIF»
'''
}
-
- def private runDot2Jpg(String path, String bat){
- var wdir = new File(path)
- try {
- val p = getRuntime.exec("cmd /C "+bat, null, wdir)
- logger.logInfo(bat+" finished with "+p.waitFor)
- }
- catch (Exception e) {
- e.printStackTrace();
- }
-
- }
+
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend
index 327be64..cfeff66 100644
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend
@@ -16,28 +16,22 @@
import com.google.inject.Inject
import com.google.inject.Singleton
-import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.etrice.core.genmodel.etricegen.Root
-import org.eclipse.etrice.generator.generic.PrepareFileSystem
+import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
+import org.eclipse.etrice.generator.base.args.Arguments
+
+import static org.eclipse.etrice.generator.doc.setup.DocGeneratorOptions.INCLUDE_IMAGES
@Singleton
class MainGen {
@Inject InstanceDiagramGen instanceDiagramGen
- @Inject PrepareFileSystem prepFS
- @Inject DocGen docGen
+ @Inject AsciiDocGen docGen
- def void doGenerate(Resource resource) {
- prepFS.prepare
- for (e: resource.contents){
- if (e instanceof Root) {
- doGenerate(e as Root)
- }
- }
- }
-
- def private void doGenerate(Root e) {
- instanceDiagramGen.doGenerate(e);
- docGen.doGenerate(e);
+ def void doGenerate(Root root, Arguments args, IGeneratorFileIO fileIO) {
+ val includeImages = args.get(INCLUDE_IMAGES)
+
+ instanceDiagramGen.doGenerate(root, fileIO);
+ docGen.doGenerate(root, fileIO, includeImages);
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptions.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptions.java
index 33a565f..941e33e 100644
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptions.java
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptions.java
@@ -25,17 +25,17 @@
public static final String GROUP_ETRICE_DOC = "eTrice Documentation";
- public static final BooleanOption GEN_INST_DIAG = new BooleanOption(
+ public static final BooleanOption INCLUDE_IMAGES = new BooleanOption(
GROUP_ETRICE_DOC,
- "genInstDiag",
- "generateInstanceDiagram",
- "if specified then an instance diagram is created for each subsystem",
+ "include_images",
+ "includeImages",
+ "If specified images are included in the generated documentation",
false);
@Override
public void configure(List<Option<?>> options) {
super.configure(options);
- options.add(GEN_INST_DIAG);
+ options.add(INCLUDE_IMAGES);
}
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptionsHelper.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptionsHelper.java
deleted file mode 100644
index 40c13c6..0000000
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/DocGeneratorOptionsHelper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2018 protos software gmbh (http://www.protos.de).
-* All rights reserved.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-*
-* CONTRIBUTORS:
-* Jan Belle (initial contribution)
-*
- *******************************************************************************/
-
-package org.eclipse.etrice.generator.doc.setup;
-
-import org.eclipse.etrice.generator.base.AbstractGeneratorOptionsHelper;
-import org.eclipse.etrice.generator.base.args.Arguments;
-
-public class DocGeneratorOptionsHelper extends AbstractGeneratorOptionsHelper {
-
- public boolean isGenerateInstanceDiagram(Arguments args) {
- return args.get(DocGeneratorOptions.GEN_INST_DIAG);
- }
-}
diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java
index c1d09a0..ae4e054 100644
--- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java
+++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/setup/GeneratorModule.java
@@ -17,17 +17,17 @@
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.etrice.core.genmodel.fsm.ICommonDataCalculator;
import org.eclipse.etrice.core.genmodel.fsm.IDiagnostician;
+import org.eclipse.etrice.core.room.util.CommonDataCalculator;
import org.eclipse.etrice.generator.base.EMFSetup;
import org.eclipse.etrice.generator.base.GenerationEMFDiagnostician;
import org.eclipse.etrice.generator.base.IGenerator;
import org.eclipse.etrice.generator.base.ITranslationProvider;
import org.eclipse.etrice.generator.base.ModelLoader;
import org.eclipse.etrice.generator.base.ModelValidator;
-import org.eclipse.etrice.generator.base.io.GeneratorFileIO;
import org.eclipse.etrice.generator.base.io.IGeneratorEMFSetup;
import org.eclipse.etrice.generator.base.io.IGeneratorResourceLoader;
-import org.eclipse.etrice.generator.base.logging.Logger;
import org.eclipse.etrice.generator.base.setup.GeneratorName;
import org.eclipse.etrice.generator.base.setup.GeneratorOptions;
import org.eclipse.etrice.generator.base.validation.IGeneratorResourceValidator;
@@ -53,11 +53,10 @@
binder.bind(IGenerator.class).to(Main.class);
binder.bind(ResourceSet.class).to(ResourceSetImpl.class);
- binder.bind(Logger.class).in(Singleton.class);
- binder.bind(GeneratorFileIO.class).in(Singleton.class);
binder.bind(IDiagnostician.class).to(Diagnostician.class);
binder.bind(Diagnostician.class).in(Singleton.class);
binder.bind(ITranslationProvider.class).to(DocTranslationProvider.class);
+ binder.bind(ICommonDataCalculator.class).to(CommonDataCalculator.class);
binder.bind(EValidator.Registry.class).toInstance(EValidator.Registry.INSTANCE);
binder.bind(org.eclipse.emf.ecore.util.Diagnostician.class).to(GenerationEMFDiagnostician.class).asEagerSingleton();
diff --git a/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
index b5c00bd..9dff0de 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
@@ -14,3 +14,4 @@
org.eclipse.xtend.lib;bundle-version="2.6.0",
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
Import-Package: org.eclipse.core.runtime
+Automatic-Module-Name: org.eclipse.etrice.generator.fsm
diff --git a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/base/Diagnostician.java b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/base/Diagnostician.java
index 7064c89..c8b2d5f 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/base/Diagnostician.java
+++ b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/base/Diagnostician.java
@@ -65,6 +65,10 @@
public boolean isFailed() {
return validationFailed;
}
+
+ public void setFailed(boolean failed) {
+ validationFailed = failed;
+ }
private String getMsgTxt(String msg, EObject source, EStructuralFeature feature, int idx) {
StringBuilder result = new StringBuilder(msg);
diff --git a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
index 6174396..2c09bd1 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
+++ b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
@@ -62,7 +62,7 @@
* @param gc the {@link GraphContainer}
* @return the generated code
*/
- def public String genTriggerConstants(GraphContainer gc) {
+ def String genTriggerConstants(GraphContainer gc) {
gc.genTriggerConstants(langExt.usesInheritance)
}
@@ -75,7 +75,7 @@
*
* @return the generated code
*/
- def public String genTriggerConstants(GraphContainer gc, boolean omitBase) {
+ def String genTriggerConstants(GraphContainer gc, boolean omitBase) {
val triggers = if (omitBase)
gc.component.ownMessagesFromInterfaces
else gc.component.allMessagesFromInterfaces
@@ -102,7 +102,7 @@
* @param gc the {@link GraphContainer}
* @return the generated code
*/
- def public genStateIdConstants(GraphContainer gc) {
+ def genStateIdConstants(GraphContainer gc) {
gc.genStateIdConstants(langExt.usesInheritance)
}
@@ -115,7 +115,7 @@
*
* @return the generated code
*/
- def public genStateIdConstants(GraphContainer gc, boolean omitBase) {
+ def genStateIdConstants(GraphContainer gc, boolean omitBase) {
// with inheritance we exclude inherited states
val allStateNodes = gc.graph.allStateNodes.toList // TODO: without toList this didn't work - why?
@@ -155,7 +155,7 @@
*
* @return the generated code
*/
- def public genTransitionChainConstants(GraphContainer gc) {
+ def genTransitionChainConstants(GraphContainer gc) {
gc.genTransitionChainConstants(false/*langExt.usesInheritance*/)
}
@@ -170,7 +170,7 @@
*
* @return the generated code
*/
- def public genTransitionChainConstants(GraphContainer gc, boolean omitBase) {
+ def genTransitionChainConstants(GraphContainer gc, boolean omitBase) {
val chains = (if (omitBase)
gc.graph.allLinks.filter[!inherited] else gc.graph.allLinks).map[transition].filter[isChainHead].filter(typeof(Transition)).toList
var offset = if (omitBase)
@@ -193,7 +193,7 @@
*
* @return the generated code
*/
- def public String genEntryAndExitCodes(GraphContainer gc, boolean generateImplementation) {
+ def String genEntryAndExitCodes(GraphContainer gc, boolean generateImplementation) {
gc.genEntryAndExitCodes(generateImplementation, langExt.usesInheritance)
}
@@ -206,7 +206,7 @@
*
* @return the generated code
*/
- def public String genEntryAndExitCodes(GraphContainer gc, boolean generateImplementation, boolean omitBase) {
+ def String genEntryAndExitCodes(GraphContainer gc, boolean generateImplementation, boolean omitBase) {
val states = gc.graph.allStateNodes.filter[!omitBase || !inherited].toList
'''
«FOR state : states»
@@ -223,7 +223,7 @@
*
* @return the generated code
*/
- def public String genActionCodes(GraphContainer gc, boolean generateImplementation) {
+ def String genActionCodes(GraphContainer gc, boolean generateImplementation) {
gc.genActionCodes(generateImplementation, langExt.usesInheritance)
}
@@ -236,7 +236,7 @@
*
* @return the generated code
*/
- def public String genActionCodes(GraphContainer gc, boolean generateImplementation, boolean omitBase) {
+ def String genActionCodes(GraphContainer gc, boolean generateImplementation, boolean omitBase) {
val transitions = gc.graph.allLinks.filter[!omitBase || !inherited].filter[transition.action.hasDetailCode].toList
'''
«FOR tr : transitions»
@@ -245,7 +245,7 @@
'''
}
- def public String genStateSwitchMethods(GraphContainer gc, boolean generateImplementation) {
+ def String genStateSwitchMethods(GraphContainer gc, boolean generateImplementation) {
val mc = gc.component
val async = mc.commType==ComponentCommunicationType::ASYNCHRONOUS
val eventDriven = mc.commType==ComponentCommunicationType::EVENT_DRIVEN
@@ -470,7 +470,7 @@
* @param state the {@link State}
* @return the generated code
*/
- def public String genDoCodes(State state) {'''
+ def String genDoCodes(State state) {'''
«IF state.hasDoCode(true)»
«state.doCodeOperationName»(«langExt.selfPointer(false)»);
«ENDIF»
@@ -488,7 +488,7 @@
* at all then unused variables can be avoided by passing <code>true</code>
* @return the generated code
*/
- def public genStateSwitch(GraphContainer gc, boolean usesHdlr) {
+ def genStateSwitch(GraphContainer gc, boolean usesHdlr) {
var async = gc.component.commType==ComponentCommunicationType::ASYNCHRONOUS
var eventDriven = gc.component.commType==ComponentCommunicationType::EVENT_DRIVEN
var dataDriven = gc.component.commType==ComponentCommunicationType::DATA_DRIVEN
@@ -537,7 +537,7 @@
* at all then unused variables can be avoided by passing <code>true</code>
* @return the generated code
*/
- def public genDataDrivenTriggers(GraphContainer gc, Node stateNode, boolean usesHdlr) {
+ def genDataDrivenTriggers(GraphContainer gc, Node stateNode, boolean usesHdlr) {
val chainIDScope = if (langExt.usesInheritance) gc.className+langExt.scopeSeparator else ""
val state = stateNode.stateGraphNode as State
'''
@@ -568,7 +568,7 @@
* at all then unused variables can be avoided by passing <code>true</code>
* @return the generated code
*/
- def public genEventDrivenTriggers(GraphContainer gc, Node stateNode, boolean usesHdlr) {
+ def genEventDrivenTriggers(GraphContainer gc, Node stateNode, boolean usesHdlr) {
val caughtTriggers = new ArrayList(stateNode.caughtTriggers).sortBy[triggerCodeName]
val chainIDScope = if (langExt.usesInheritance) gc.className+langExt.scopeSeparator else ""
'''
@@ -595,11 +595,11 @@
'''
}
- def public getClassName(GraphContainer gc) {
+ def getClassName(GraphContainer gc) {
gc.component.className
}
- def public getClassName(ModelComponent mc) {
+ def getClassName(ModelComponent mc) {
mc.componentName
}
@@ -614,7 +614,7 @@
* @param state the ID of the history state
* @return the generated code
*/
- def public getHistory(String state) {
+ def getHistory(String state) {
langExt.memberAccess+"history["+state+"]"
}
@@ -625,7 +625,7 @@
* @param historyState the ID of the state that should be assigned
* @return the generated code
*/
- def public setHistory(String state, String historyState) {
+ def setHistory(String state, String historyState) {
langExt.memberAccess+"history["+state+"] = "+historyState
}
@@ -633,7 +633,7 @@
* @return the type of (temporary) state variables (defaults to "int")
* and has to be signed
*/
- def public stateType() {
+ def stateType() {
"int"
}
@@ -642,7 +642,7 @@
* The default is just a comment.
* @return the generated code
*/
- def public unreachableReturn() {
+ def unreachableReturn() {
"/* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */"
}
@@ -650,21 +650,21 @@
* type of (temporary) boolean variables (defaults to "boolean")
* @return the generated code
*/
- def public boolType() {
+ def boolType() {
return "boolean"
}
/**
* empty, but may be overridden
*/
- def public finalAction() {
+ def finalAction() {
''''''
}
/**
* the type of the interface item passed into the receiveEvent() method
*/
- def public interfaceItemType() {
+ def interfaceItemType() {
"InterfaceItemBase"
}
@@ -682,12 +682,12 @@
* @param xpax the {@link GraphContainer}
* @return <code>true</code> if the state machine uses handler transition points
*/
- def public usesHandlerTrPoints(GraphContainer gc) {
+ def usesHandlerTrPoints(GraphContainer gc) {
!gc.graph.allTransitionPointNodes.filter(t|((t.stateGraphNode as TransitionPoint).handler)).empty
}
- def public String genTriggeredTransitionGuard(Link link, String trigger, GraphContainer mc)
- def public String genGuardedTransitionGuard(Link link, String trigger, GraphContainer mc)
- def public String genActionCodeMethod(GraphContainer gc, Link link, boolean generateImplementation)
- def public String genActionCodeMethods(GraphContainer gc, Node node, boolean generateImplementation)
+ def String genTriggeredTransitionGuard(Link link, String trigger, GraphContainer mc)
+ def String genGuardedTransitionGuard(Link link, String trigger, GraphContainer mc)
+ def String genActionCodeMethod(GraphContainer gc, Link link, boolean generateImplementation)
+ def String genActionCodeMethods(GraphContainer gc, Node node, boolean generateImplementation)
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
index e0c5275..f838064 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
@@ -22,3 +22,4 @@
org.eclipse.etrice.generator.ui.contentassist.antlr,
org.eclipse.etrice.generator.ui.internal
Bundle-Activator: org.eclipse.etrice.generator.ui.internal.FSMtestActivator
+Automatic-Module-Name: org.eclipse.etrice.generator.fsmtest.ui
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
index 29cf26a..6e5be66 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
@@ -32,4 +32,5 @@
org.eclipse.etrice.generator.scoping,
org.eclipse.etrice.generator.generator,
org.eclipse.etrice.generator.formatting
+Automatic-Module-Name: org.eclipse.etrice.generator.fsmtest
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml b/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml
index 3fc7462..99c9c5d 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml
@@ -4,10 +4,10 @@
<plugin>
<extension point="org.eclipse.emf.ecore.generated_package">
- <package
+ <package
uri = "http://www.eclipse.org/etrice/generator/FSMtest"
class = "org.eclipse.etrice.generator.fsmtest.FsmtestPackage"
- genModel = "org/eclipse/etrice/generator/FSMtest.genmodel" />
+ genModel = "src-gen/org/eclipse/etrice/generator/FSMtest.genmodel" />
</extension>
diff --git a/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
index ce8b6b2..9ce7816 100644
--- a/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
@@ -20,3 +20,4 @@
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.generator.gnuplot
diff --git a/plugins/org.eclipse.etrice.generator.gnuplot/src/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.xtend b/plugins/org.eclipse.etrice.generator.gnuplot/src/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.xtend
index a69ccac..f878b1c 100644
--- a/plugins/org.eclipse.etrice.generator.gnuplot/src/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.xtend
+++ b/plugins/org.eclipse.etrice.generator.gnuplot/src/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.xtend
@@ -90,22 +90,22 @@
def protected generatePlotScript(SubSystemInstance ssi) {
// TODO: warn if more than one GnuPlot annotation
- val plotAnnotation = ssi.subSystemClass.annotations.filter [ a |
- a.type.name == "Gnuplot"
- ].head
-
- val defaultFontsize = 10
+// val plotAnnotation = ssi.subSystemClass.annotations.filter [ a |
+// a.type.name == "Gnuplot"
+// ].head
+//
+// val defaultFontsize = 10
// TODO: error checking
- val format = plotAnnotation?.getAttribute("format")?.asString
- val outputfile = plotAnnotation?.getAttribute("outputfile")?.asString
- val width = plotAnnotation?.getAttribute("width")?.asInteger
- val height = plotAnnotation?.getAttribute("height")?.asInteger
- val fontsize = plotAnnotation?.getAttribute("fontsize")?.asInteger ?: defaultFontsize
-
- val graphAnnotations = ssi.subSystemClass.annotations.filter [ a |
- a.type.name == "GnuplotGraph"
- ].toList
+// val format = plotAnnotation?.getAttribute("format")?.asString
+// val outputfile = plotAnnotation?.getAttribute("outputfile")?.asString
+// val width = plotAnnotation?.getAttribute("width")?.asInteger
+// val height = plotAnnotation?.getAttribute("height")?.asInteger
+// val fontsize = plotAnnotation?.getAttribute("fontsize")?.asInteger ?: defaultFontsize
+//
+// val graphAnnotations = ssi.subSystemClass.annotations.filter [ a |
+// a.type.name == "GnuplotGraph"
+// ].toList
'''
#!/gnuplot
@@ -120,18 +120,18 @@
cd 'log'
set datafile separator comma
- set terminal «format» size «width»,«height» font ",«fontsize»" background "white"
- set output '«outputfile»'
+ set terminal �format� size �width�,�height� font ",�fontsize�" background "white"
+ set output '�outputfile�'
set size 1,1
- set multiplot layout «graphAnnotations.size»,1
+ set multiplot layout �graphAnnotations.size�,1
set grid
show grid
set format y "% 5.3f"
- «var i = 0»
- «FOR a : graphAnnotations»
+ �var i = 0�
+ �FOR a : graphAnnotations�
- «ssi.generateGraph(a, i++, graphAnnotations.size)»
- «ENDFOR»
+ �ssi.generateGraph(a, i++, graphAnnotations.size)�
+ �ENDFOR�
unset multiplot
unset output
@@ -142,28 +142,28 @@
def protected generateGraph(SubSystemInstance ssi, Annotation graph, int index, int total) {
// TODO: handle multiple paths in the same graph
- val paths = graph.getAttribute("paths")?.asString
+// val paths = graph.getAttribute("paths")?.asString
// TODO: take interval from physical thread associated with actor instance instead of annotation attribute
- val interval = graph.getAttribute("interval")?.asInteger ?: 20
- val xtics = graph.getAttribute("xtics")?.asReal ?: 100
- val mxtics = graph.getAttribute("mxtics")?.asInteger ?: 4
- val ymin = graph.getAttribute("ymin")?.asReal
- val ymax = graph.getAttribute("ymax")?.asReal
-
- val vertOrigin = ((total - (index + 1)) as double) / total
- val vertSize = 1.0F / total
+// val interval = graph.getAttribute("interval")?.asInteger ?: 20
+// val xtics = graph.getAttribute("xtics")?.asReal ?: 100
+// val mxtics = graph.getAttribute("mxtics")?.asInteger ?: 4
+// val ymin = graph.getAttribute("ymin")?.asReal
+// val ymax = graph.getAttribute("ymax")?.asReal
+//
+// val vertOrigin = ((total - (index + 1)) as double) / total
+// val vertSize = 1.0F / total
'''
- set yrange [«ymin ?: "*"» : «ymax ?: "*"»]
- set xtics rotate «xtics»
- set mxtics «mxtics»
+ set yrange [�ymin ?: "*"� : �ymax ?: "*"�]
+ set xtics rotate �xtics�
+ set mxtics �mxtics�
set ylabel
set xlabel "time (ms)"
- timeInMs(x) = «interval» * x
- set origin 0,«vertOrigin»
- set size 1,«vertSize»
- plot 'main.data.csv' using (timeInMs(column(1))):(column("«paths»")) with lines
+ timeInMs(x) = �interval� * x
+ set origin 0,�vertOrigin�
+ set size 1,�vertSize�
+ plot 'main.data.csv' using (timeInMs(column(1))):(column("�paths�")) with lines
'''
}
}
diff --git a/plugins/org.eclipse.etrice.generator.java/.project b/plugins/org.eclipse.etrice.generator.java/.project
index b88e23b..606dd4f 100644
--- a/plugins/org.eclipse.etrice.generator.java/.project
+++ b/plugins/org.eclipse.etrice.generator.java/.project
@@ -46,6 +46,5 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
index 1a3a725..ab79871 100644
--- a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
@@ -20,3 +20,4 @@
Export-Package: org.eclipse.etrice.generator.java,
org.eclipse.etrice.generator.java.gen,
org.eclipse.etrice.generator.java.setup
+Automatic-Module-Name: org.eclipse.etrice.generator.java
diff --git a/plugins/org.eclipse.etrice.generator.java/build.gradle b/plugins/org.eclipse.etrice.generator.java/build.gradle
index d33e68f..3427182 100644
--- a/plugins/org.eclipse.etrice.generator.java/build.gradle
+++ b/plugins/org.eclipse.etrice.generator.java/build.gradle
@@ -1,5 +1,9 @@
apply plugin: 'application'
+configurations {
+ archive
+}
+
dependencies {
compile project(':plugins:org.eclipse.etrice.core.room')
compile project(':plugins:org.eclipse.etrice.core.etphys')
@@ -14,6 +18,10 @@
compile "org.eclipse.xtext:org.eclipse.xtext:$versions.xtext"
}
+artifacts {
+ archive distZip
+}
+
mainClassName = 'org.eclipse.etrice.generator.java.Main'
distTar.enabled = false
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.xtend
index 3c0dfbc..7f6b2fa 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.xtend
@@ -42,7 +42,7 @@
// For SubSystemClassGen
- def public genActorInstanceConfig(ActorInstance ai, String aiVariableName){'''
+ def genActorInstanceConfig(ActorInstance ai, String aiVariableName){'''
«FOR a : ai.actorClass.allAttributes»
«applyInstanceConfig(ai, aiVariableName, new ArrayList<Attribute>().union(a))»
«ENDFOR»
@@ -73,7 +73,7 @@
}
DataClass:
'''
- «FOR e : (aType as DataClass).allAttributes»
+ «FOR e : aType.allAttributes»
«applyInstanceConfig(instance, invokes+"."+a.name.invokeGetter(null), path.union(e))»
«ENDFOR»
'''
@@ -82,7 +82,7 @@
// For ActorClassGen
- def public genDynConfigGetterSetter(ActorClass ac){'''
+ def genDynConfigGetterSetter(ActorClass ac){'''
«FOR a : dataConfigExt.getDynConfigReadAttributes(ac)»
public «a.type.type.typeName»«IF a.size>0»[]«ENDIF» get«a.name.toFirstUpper»(){
if(lock_«a.name» == null)
@@ -112,7 +112,7 @@
«ENDFOR»
'''}
- def public genMinMaxConstants(ActorClass ac){
+ def genMinMaxConstants(ActorClass ac){
var result = '''
«FOR a : ac.allAttributes»
«genMinMaxConstantsRec(ac, a.name, new ArrayList<Attribute>().union(a))»
@@ -128,7 +128,7 @@
switch aType {
DataClass:
'''
- «FOR e : (aType as DataClass).allAttributes»
+ «FOR e : aType.allAttributes»
«genMinMaxConstantsRec(ac, varNamePath+"_"+e.name, path.union(e))»
«ENDFOR»
'''
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
index b58c0af..a3f9096 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend
@@ -22,8 +22,8 @@
import org.eclipse.etrice.core.room.ComplexType
import org.eclipse.etrice.core.room.DataClass
import org.eclipse.etrice.core.room.util.RoomHelpers
-import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers
import org.eclipse.etrice.generator.base.io.IGeneratorFileIO
+import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers
import org.eclipse.etrice.generator.generic.ProcedureHelpers
import org.eclipse.etrice.generator.generic.RoomExtensions
@@ -52,6 +52,7 @@
import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
import java.io.Serializable;
+ import java.util.Objects;
«var models = root.getReferencedModels(dc)»
«FOR model : models»
@@ -103,6 +104,12 @@
«deepCopy(dc)»
return copy;
}
+
+ // deep equals
+ «dc.deepEquals»
+
+ // deep hashCode
+ «dc.deepHashCode»
};
'''
}
@@ -164,4 +171,26 @@
«ENDFOR»
'''
}
+
+ def protected deepEquals(DataClass it) '''
+ @Override
+ public boolean equals(Object other) {
+ if (this == other) {
+ return true;
+ }
+ if(other == null || this.getClass() != other.getClass()) {
+ return false;
+ }
+
+ «name» casted = («name») other;
+ return «roomHelpers.getAllAttributes(it).map[ attr | '''Objects.deepEquals(this.«attr.name», casted.«attr.name»)'''].join(' && ')»;
+ }
+ '''
+
+ def protected deepHashCode(DataClass it) '''
+ @Override
+ public int hashCode() {
+ return Objects.hash(«roomHelpers.getAllAttributes(it).map[ attr | '''this.«attr.name»'''].join(', ')»);
+ }
+ '''
}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Initialization.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Initialization.xtend
index 539fe87..98abc87 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Initialization.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/Initialization.xtend
@@ -81,7 +81,7 @@
switch (aType) {
DataClass:
return '''
- «FOR e : (aType as DataClass).allAttributes»
+ «FOR e : aType.allAttributes»
«attributeInitPrimitiveRec(path.union(e), roomClass)»
«ENDFOR»
'''
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
index 5f2a5e6..6848cc1 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
@@ -37,9 +37,9 @@
import org.eclipse.etrice.core.room.RoomClass
import org.eclipse.etrice.generator.generic.ILanguageExtension
import org.eclipse.etrice.generator.generic.TypeHelpers
-import org.eclipse.xtext.util.Pair
import org.eclipse.etrice.generator.java.Main
import org.eclipse.etrice.generator.java.setup.GeneratorOptionsHelper
+import org.eclipse.xtext.util.Pair
@Singleton
class JavaExtensions implements ILanguageExtension {
@@ -49,7 +49,7 @@
override String getTypedDataDefinition(EObject msg) {
if (msg instanceof Message) {
- generateArglistAndTypedData((msg as Message).data).get(TypedDataKind.DECLARATION_AND_INITIALIZATION.ordinal)
+ generateArglistAndTypedData(msg.data).get(TypedDataKind.DECLARATION_AND_INITIALIZATION.ordinal)
}
else {
""
@@ -215,9 +215,9 @@
EnumerationType:
dt.defaultValue
ExternalType:
- "new "+(dt as ExternalType).targetName+"()"
+ "new "+ dt.targetName+"()"
default:
- "new "+dt.name+"()"
+ "new "+ dt.name+"()"
}
}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend
index f6c41ea..a8f7f03 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend
@@ -42,7 +42,7 @@
prepFS.prepare
for (e: resource.contents){
if (e instanceof Root) {
- doGenerate(e as Root)
+ doGenerate(e)
}
}
}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend
index 7ac34c3..eefc984 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/NodeGen.xtend
@@ -90,7 +90,7 @@
*/
def private HashSet<ActorClass> getOptionalActorClasses(Root root, StructureInstance si) {
val aifs = Lists::newArrayList(si.eAllContents.filter(i|i instanceof ActorInterfaceInstance).map[aii|aii as ActorInterfaceInstance])
- val result = Sets::newHashSet(aifs.map[aii|(aii as ActorInterfaceInstance).actorClass])
+ val result = Sets::newHashSet(aifs.map[aii|aii.actorClass])
for (ai : aifs) {
for (oi : ai.optionalInstances) {
result.addAll(root.getOptionalActorClasses(oi))
diff --git a/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
index 27fb917..822ebd8 100644
--- a/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
@@ -23,3 +23,4 @@
org.eclipse.ui.dialogs
Bundle-Vendor: Eclipse eTrice
Export-Package: org.eclipse.etrice.generator.launch.c
+Automatic-Module-Name: org.eclipse.etrice.generator.launch.c
diff --git a/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
index 6bd837f..83d4fc1 100644
--- a/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
@@ -23,3 +23,4 @@
org.eclipse.ui.dialogs
Bundle-Vendor: Eclipse eTrice
Export-Package: org.eclipse.etrice.generator.launch.cpp
+Automatic-Module-Name: org.eclipse.etrice.generator.launch.cpp
diff --git a/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
index 56e5979..18ca421 100644
--- a/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
@@ -23,3 +23,4 @@
org.eclipse.ui.dialogs
Bundle-Vendor: Eclipse eTrice
Export-Package: org.eclipse.etrice.generator.launch.java
+Automatic-Module-Name: org.eclipse.etrice.generator.launch.java
diff --git a/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
index 059c8ad..2daa273 100644
--- a/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
@@ -25,3 +25,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Eclipse eTrice
Export-Package: org.eclipse.etrice.generator.launch
+Automatic-Module-Name: org.eclipse.etrice.generator.launch
diff --git a/plugins/org.eclipse.etrice.generator.launch/src/org/eclipse/etrice/generator/launch/GeneratorLaunchConfigurationDelegate.java b/plugins/org.eclipse.etrice.generator.launch/src/org/eclipse/etrice/generator/launch/GeneratorLaunchConfigurationDelegate.java
index c5a5a99..0fe8edf 100644
--- a/plugins/org.eclipse.etrice.generator.launch/src/org/eclipse/etrice/generator/launch/GeneratorLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.etrice.generator.launch/src/org/eclipse/etrice/generator/launch/GeneratorLaunchConfigurationDelegate.java
@@ -14,13 +14,16 @@
package org.eclipse.etrice.generator.launch;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
@@ -187,7 +190,21 @@
}
if (configuration.getAttribute(GeneratorConfigTab.SAVE_GEN_MODEL, false)) {
argString.append(" -"+AbstractGeneratorOptions.SAVE_GEN_MODEL.getName());
- argString.append(" "+configuration.getAttribute(GeneratorConfigTab.GEN_MODEL_PATH, "?"));
+
+ // HOWTO: resolve path variables and convert to workspace relative path
+ String genModelPath = configuration.getAttribute(GeneratorConfigTab.GEN_MODEL_PATH, "?");
+ IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
+ String path = manager.performStringSubstitution(genModelPath);
+ java.nio.file.Path p = Paths.get(path);
+ IContainer[] containers = ResourcesPlugin.getWorkspace().getRoot().findContainersForLocationURI(p.toUri());
+ if (containers.length>0) {
+ String folder = containers[0].toString().substring(2); // cut off leading P/
+ argString.append(" "+folder);
+ }
+ else {
+ // fall back to verbatim value
+ argString.append(" "+genModelPath);
+ }
}
if (!configuration.getAttribute(GeneratorConfigTab.MAIN_METHOD_NAME, AbstractGeneratorOptions.MAIN_NAME.getDefaultValue()).equals(AbstractGeneratorOptions.MAIN_NAME.getDefaultValue())) {
argString.append(" -"+AbstractGeneratorOptions.MAIN_NAME.getName());
diff --git a/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
index 0e5a383..7bf9f1a 100644
--- a/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
@@ -20,3 +20,4 @@
org.eclipse.core.runtime.jobs
Bundle-Activator: org.eclipse.etrice.generator.ui.cdt.Activator
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.generator.ui.cdt
diff --git a/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
index 7b4b956..f00b1a2 100644
--- a/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
@@ -32,3 +32,4 @@
Export-Package: org.eclipse.etrice.generator.ui.configurator,
org.eclipse.etrice.generator.ui.preferences,
org.eclipse.etrice.generator.ui.wizard
+Automatic-Module-Name: org.eclipse.etrice.generator.ui
diff --git a/plugins/org.eclipse.etrice.generator/.project b/plugins/org.eclipse.etrice.generator/.project
index b81cd7c..6d8182e 100644
--- a/plugins/org.eclipse.etrice.generator/.project
+++ b/plugins/org.eclipse.etrice.generator/.project
@@ -40,7 +40,6 @@
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
index 9ab994a..30060d7 100644
--- a/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
@@ -25,3 +25,4 @@
org.eclipse.etrice.core.config
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.etrice.generator.generic
+Automatic-Module-Name: org.eclipse.etrice.generator
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java
index 486c0f8..fcd73ea 100644
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java
@@ -33,7 +33,6 @@
import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass;
import org.eclipse.etrice.core.genmodel.etricegen.Root;
import org.eclipse.etrice.core.genmodel.fsm.FsmGenExtensions;
-import org.eclipse.etrice.core.genmodel.fsm.IDiagnostician;
import org.eclipse.etrice.core.room.DataClass;
import org.eclipse.etrice.core.room.ProtocolClass;
import org.eclipse.etrice.core.room.RoomModel;
@@ -42,6 +41,7 @@
import org.eclipse.etrice.generator.base.io.ILineOutput;
import org.eclipse.etrice.generator.base.io.LineOutput;
import org.eclipse.etrice.generator.base.logging.ILogger;
+import org.eclipse.etrice.generator.fsm.base.Diagnostician;
import org.eclipse.etrice.generator.fsm.generic.IDetailCodeTranslator;
import org.eclipse.etrice.generator.generic.TestInstanceCreator;
@@ -123,7 +123,7 @@
* The injected diagnostician
*/
@Inject
- protected IDiagnostician diagnostician;
+ protected Diagnostician diagnostician;
/**
* The injected translation provider
@@ -140,6 +140,7 @@
@Override
public void generate(List<Resource> resources, Arguments arguments, IGeneratorFileIO fileIO, ILogger logger) {
AbstractGenerator.settings = arguments;
+ diagnostician.setFailed(false);
if(resources.isEmpty()) {
logger.logError("no input files");
@@ -236,7 +237,7 @@
translateDetailCodes(gmRoot, doTranslate);
- URI genModelURI = !genModelPath.isEmpty() ? URI.createFileURI(genModelPath) : URI.createFileURI("tmp.rim");
+ URI genModelURI = !genModelPath.isEmpty() ? URI.createPlatformResourceURI(genModelPath, true) : URI.createFileURI("tmp.rim");
Resource genResource = getResourceSet().createResource(genModelURI);
genResource.getContents().add(gmRoot);
if (!genModelPath.isEmpty()) {
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.xtend
index 9d5223f..40ae6f7 100644
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.xtend
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.xtend
@@ -213,5 +213,5 @@
* @param generateImplementation or declaration only
* @return the generated code
*/
- def public genExtra(GraphContainer gc, boolean generateImplementation) {''''''}
+ def genExtra(GraphContainer gc, boolean generateImplementation) {''''''}
}
diff --git a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
index f85df07..efc993c 100644
--- a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
@@ -6,3 +6,4 @@
Bundle-Vendor: Eclipse eTrice
Fragment-Host: org.apache.log4j;bundle-version="1.2.15"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.etrice.logging
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
index 9d0d29e..789b6cd 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
@@ -28,4 +28,5 @@
Export-Package: org.eclipse.etrice.ui.behavior.actioneditor,
org.eclipse.etrice.ui.behavior.actioneditor.sourceviewer
Bundle-Vendor: eTrice
+Automatic-Module-Name: org.eclipse.etrice.ui.behavior.actioneditor
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/SourceViewerActionCodeEditor.java b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/SourceViewerActionCodeEditor.java
index 82b87a9..e2689e8 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/SourceViewerActionCodeEditor.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/src/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/SourceViewerActionCodeEditor.java
@@ -363,7 +363,7 @@
* commands.
*/
protected void activateContext() {
- IContextService contextService = (IContextService) PlatformUI
+ IContextService contextService = PlatformUI
.getWorkbench().getService(IContextService.class);
if (contextService != null)
fActivation = contextService
@@ -379,12 +379,12 @@
* Deactivate editors context and command handlers.
*/
protected void deactivateContext() {
- IContextService contextService = (IContextService) PlatformUI
+ IContextService contextService = PlatformUI
.getWorkbench().getService(IContextService.class);
if (contextService != null)
contextService.deactivateContext(fActivation);
- IHandlerService handlerService = (IHandlerService) PlatformUI
+ IHandlerService handlerService = PlatformUI
.getWorkbench().getService(IHandlerService.class);
if (handlerService != null && activatedHandlers != null) {
handlerService.deactivateHandlers(activatedHandlers.values());
@@ -402,7 +402,7 @@
* the operation code for the required operation to be performed
*/
protected void activateHandler(String commandId, int operation) {
- IHandlerService handlerService = (IHandlerService) PlatformUI
+ IHandlerService handlerService = PlatformUI
.getWorkbench().getService(IHandlerService.class);
if (handlerService != null) {
IHandlerActivation contentAssistHandlerActivation = handlerService
@@ -421,7 +421,7 @@
* the Id of the command.
*/
protected void deactivateHandler(String commandId) {
- IHandlerService handlerService = (IHandlerService) PlatformUI
+ IHandlerService handlerService = PlatformUI
.getWorkbench().getService(IHandlerService.class);
if (handlerService != null && activatedHandlers != null) {
handlerService.deactivateHandler(activatedHandlers.get(commandId));
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
index 8c5c567..75ca697 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
@@ -32,3 +32,4 @@
org.eclipse.etrice.ui.behavior.fsm.provider,
org.eclipse.etrice.ui.behavior.fsm.support,
org.eclipse.etrice.ui.behavior.fsm.support.util
+Automatic-Module-Name: org.eclipse.etrice.ui.behavior.fsm
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/ActionCodeEditorRegistry.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/ActionCodeEditorRegistry.java
index bfc1a81..4fcfe4f 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/ActionCodeEditorRegistry.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/ActionCodeEditorRegistry.java
@@ -210,7 +210,7 @@
found.add(entry);
}
- return (ActionCodeEditorRegistryEntry[]) found
+ return found
.toArray(new ActionCodeEditorRegistryEntry[found.size()]);
}
@@ -241,7 +241,7 @@
}
}
- cachedEditorEntries = (ActionCodeEditorRegistryEntry[]) found
+ cachedEditorEntries = found
.toArray(new ActionCodeEditorRegistryEntry[found.size()]);
return cachedEditorEntries;
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/preferences/ActionEditorPreferencePage.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/preferences/ActionEditorPreferencePage.java
index d3854f7..4cda15d 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/preferences/ActionEditorPreferencePage.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/actioneditor/preferences/ActionEditorPreferencePage.java
@@ -83,7 +83,7 @@
editorChoices.add(choice);
}
- return (String[][]) editorChoices.toArray(new String[editorChoices
+ return editorChoices.toArray(new String[editorChoices
.size()][]);
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
index 735ad57..e1ed454 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
@@ -603,7 +603,7 @@
i++;
}
- return (IDecorator[]) decorators
+ return decorators
.toArray(new IDecorator[decorators.size()]);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateGraphSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateGraphSupport.java
index 5db32c4..b9c0868 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateGraphSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateGraphSupport.java
@@ -114,7 +114,7 @@
@Override
public PictogramElement add(IAddContext context) {
StateGraph sg = (StateGraph) context.getNewObject();
- ContainerShape targetContainer = (ContainerShape) context.getTargetContainer();
+ ContainerShape targetContainer = context.getTargetContainer();
// CONTAINER SHAPE WITH RECTANGLE
IPeCreateService peCreateService = Graphiti.getPeCreateService();
@@ -674,7 +674,7 @@
i++;
}
- return (IDecorator[]) decorators
+ return decorators
.toArray(new IDecorator[decorators.size()]);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
index 83a64b2..3134f88 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
@@ -685,7 +685,7 @@
GraphicsAlgorithm invisibleRect = containerShape.getGraphicsAlgorithm();
if (!invisibleRect.getGraphicsAlgorithmChildren().isEmpty()) {
GraphicsAlgorithm borderRect = invisibleRect.getGraphicsAlgorithmChildren().get(0);
- updateHints(s, (RoundedRectangle) borderRect);
+ updateHints(s, borderRect);
}
}
@@ -1108,7 +1108,7 @@
i++;
}
- return (IDecorator[]) decorators
+ return decorators
.toArray(new IDecorator[decorators.size()]);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
index 8917ec3..24fb6ea 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
@@ -1030,7 +1030,7 @@
i++;
}
- return (IDecorator[]) decorators
+ return decorators
.toArray(new IDecorator[decorators.size()]);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TransitionSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TransitionSupport.java
index f8a95ab..7bb3615 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TransitionSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TransitionSupport.java
@@ -1052,7 +1052,7 @@
i++;
}
- return (IDecorator[]) decorators
+ return decorators
.toArray(new IDecorator[decorators.size()]);
}
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/util/ModelEditingUtil.xtend b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/util/ModelEditingUtil.xtend
index 3bd5500..449ac78 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/util/ModelEditingUtil.xtend
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/util/ModelEditingUtil.xtend
@@ -28,11 +28,11 @@
*/
class ModelEditingUtil {
- def static public RefinedState getOrCreateRefinedStateFor(State s, ModelComponent mc) {
+ def static RefinedState getOrCreateRefinedStateFor(State s, ModelComponent mc) {
val target2rs = new HashMap<State, RefinedState>();
for (State st : mc.getStateMachine().getStates()) {
if (st instanceof RefinedState)
- target2rs.put((st as RefinedState).getTarget(), st as RefinedState);
+ target2rs.put(st.getTarget(), st);
}
var RefinedState rs = null;
@@ -69,7 +69,7 @@
- def static public StateGraph getOrCreateSubGraphOfRefinedStateFor(State s, ModelComponent mc) {
+ def static StateGraph getOrCreateSubGraphOfRefinedStateFor(State s, ModelComponent mc) {
val rs = getOrCreateRefinedStateFor(s, mc);
if (rs.getSubgraph()===null)
@@ -78,7 +78,7 @@
return rs.getSubgraph();
}
- def static public StateGraph insertRefinedState(StateGraph sg, ModelComponent mc, ContainerShape targetContainer, IFeatureProvider fp) {
+ def static StateGraph insertRefinedState(StateGraph sg, ModelComponent mc, ContainerShape targetContainer, IFeatureProvider fp) {
val sg2 = getOrCreateSubGraphOfRefinedStateFor(sg.eContainer() as State, mc);
fp.link(targetContainer, sg2);
return sg2;
diff --git a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
index 8bf5158..f104a6f 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
@@ -29,3 +29,4 @@
Export-Package: org.eclipse.etrice.ui.behavior,
org.eclipse.etrice.ui.behavior.editor,
org.eclipse.etrice.ui.behavior.support
+Automatic-Module-Name: org.eclipse.etrice.ui.behavior
diff --git a/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
index e9fceb0..e0adbf3 100644
--- a/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
@@ -21,3 +21,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.etrice.ui.commands
+Automatic-Module-Name: org.eclipse.etrice.ui.commands
diff --git a/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
index fec558a..54d7451 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
@@ -40,3 +40,4 @@
org.eclipse.etrice.ui.common.base.refactoring,
org.eclipse.etrice.ui.common.base.resource,
org.eclipse.etrice.ui.common.base.support
+Automatic-Module-Name: org.eclipse.etrice.ui.common.base
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
index 8b5007b..f25be7e 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
@@ -74,6 +74,7 @@
// note: the FormDialog of org.eclipse.ui.forms.source_3.7.0 requires JavaSE-1.8
// therefore we need to set the BREE of this plug-in also to Java 8
+@SuppressWarnings({"rawtypes", "unchecked"})
public abstract class AbstractPropertyDialog extends FormDialog {
private class GlobalStatus extends ComputedValue {
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/MultiValidator2.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/MultiValidator2.java
index b6f938f..17f91d4 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/MultiValidator2.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/MultiValidator2.java
@@ -36,6 +36,7 @@
* But is aware of converters and pre-validators and treats a last valid state of any value as failure.
*
*/
+@SuppressWarnings({"rawtypes", "unchecked"})
public abstract class MultiValidator2 extends MultiValidator {
private int targetCount;
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/preferences/UIBasePreferenceConstants.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/preferences/UIBasePreferenceConstants.java
index e93ed36..afc8f7b 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/preferences/UIBasePreferenceConstants.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/preferences/UIBasePreferenceConstants.java
@@ -32,7 +32,7 @@
public static final String MAX_LABEL_LINE_LENGTH = "MaxLabelLineLength";
public static final String MAX_LABEL_LINES = "MaxLabelLines";
- public static final int MAX_LINE_LENGTH_DEFAULT = 20;
+ public static final int MAX_LINE_LENGTH_DEFAULT = 30;
public static final int MAX_LINES_DEFAULT = 1;
// possible values for EXPORT_DIAGRAM_PATH_RELATIVE_TO
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/refactoring/DiagramReferenceUpdater.xtend b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/refactoring/DiagramReferenceUpdater.xtend
index 5d78aab..e371b65 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/refactoring/DiagramReferenceUpdater.xtend
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/refactoring/DiagramReferenceUpdater.xtend
@@ -29,7 +29,6 @@
import org.eclipse.xtext.resource.IReferenceDescription
import org.eclipse.xtext.ui.refactoring.ElementRenameArguments
import org.eclipse.xtext.ui.refactoring.IRefactoringUpdateAcceptor
-import org.eclipse.xtext.ui.refactoring.impl.EmfResourceChangeUtil
import org.eclipse.xtext.ui.refactoring.impl.EmfResourceReferenceUpdater
/**
@@ -38,7 +37,6 @@
class DiagramReferenceUpdater extends EmfResourceReferenceUpdater {
@Inject DiagramAccessBase diagramAccess
- @Inject EmfResourceChangeUtil changeUtil
override protected createReferenceUpdates(ElementRenameArguments elementRenameArguments, Multimap<URI, IReferenceDescription> resource2references, ResourceSet resourceSet, IRefactoringUpdateAcceptor updateAcceptor, IProgressMonitor monitor) {
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/HelpFeature.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/HelpFeature.java
index 606e380..deef77c 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/HelpFeature.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/support/HelpFeature.java
@@ -41,10 +41,9 @@
}
public String getFeatureId(ICustomContext context) {
- if (context instanceof ICustomContext) {
- ICustomContext peContext = (ICustomContext) context;
- if (peContext.getPictogramElements() != null && peContext.getPictogramElements().length == 1){
- PictogramElement pe = peContext.getPictogramElements()[0];
+ if (context != null) {
+ if (context.getPictogramElements() != null && context.getPictogramElements().length == 1){
+ PictogramElement pe = context.getPictogramElements()[0];
// don't show help for diagram input
if(getBusinessObjectForPictogramElement(pe) == getBusinessObjectForPictogramElement(getDiagram()))
return null;
@@ -70,7 +69,7 @@
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
- ContextHelpProvider.showHelp(getBoClassName(((ICustomContext) context).getPictogramElements()[0]));
+ ContextHelpProvider.showHelp(getBoClassName(context.getPictogramElements()[0]));
return Status.OK_STATUS;
}
diff --git a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
index f678dcc..681aa5a 100644
--- a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
@@ -29,3 +29,4 @@
Bundle-Activator: org.eclipse.etrice.ui.common.Activator
Bundle-ActivationPolicy: lazy
Import-Package: org.apache.log4j
+Automatic-Module-Name: org.eclipse.etrice.ui.common
diff --git a/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
index a8476a5..2fa41ee 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
@@ -13,3 +13,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.etrice.ui.runtime
+Automatic-Module-Name: org.eclipse.etrice.ui.runtime
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
index c92e987..130fa59 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
index 5453baf..9e60947 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
index 2a8e43c..75e82ab 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
index a26558e..143b51a 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
index 43062a4..5f7e2b6 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
index 24c9009..7f91657 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
index fe13fef..7a89fee 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
index 4fa2a03..b65e659 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
index 47920b3..74011ea 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
index 25431c5..73aa8f6 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
index 448d9b1..8b4fbf8 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
index db5f72e..d634b7a 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
index 06af784..d040fc4 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/plugin.xml b/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
index e745dfa..e3fe8fa 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
+++ b/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
@@ -24,17 +24,17 @@
<category
id="org.eclipse.etrice.core.ui.libraryCCategory"
name="Libraries"
- parentCategory="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardCCategory">
+ parentCategory="org.eclipse.etrice.core.ui.wizardCCategory">
</category>
<category
id="org.eclipse.etrice.core.ui.libraryCppCategory"
name="Libraries"
- parentCategory="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardCppCategory">
+ parentCategory="org.eclipse.etrice.core.ui.wizardCppCategory">
</category>
<category
id="org.eclipse.etrice.core.ui.libraryJavaCategory"
name="Libraries"
- parentCategory="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardJavaCategory">
+ parentCategory="org.eclipse.etrice.core.ui.wizardJavaCategory">
</category>
</extension>
diff --git a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
index c5f562e..629073a 100644
--- a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
@@ -26,3 +26,4 @@
org.eclipse.etrice.ui.structure.editor,
org.eclipse.etrice.ui.structure.support
Import-Package: org.eclipse.etrice.ui.commands
+Automatic-Module-Name: org.eclipse.etrice.ui.structure
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
index 9ae72f8..0d892dd 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
@@ -476,6 +476,7 @@
return featureSwitch.getCreateConnectionFeatures();
}
+ @SafeVarargs
private static <T> T[] concatAll(T[] first, T[]... rest) {
int totalLength = first.length;
for (T[] array : rest) {
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
index 87f1ecf..3193aa4 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
@@ -51,6 +51,7 @@
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
+@SuppressWarnings("rawtypes")
public class ActorContainerRefPropertyDialog extends AbstractPropertyDialog {
class NameValidator implements IValidator {
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
index 3704822..476d443 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
@@ -58,6 +58,7 @@
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
+@SuppressWarnings({"rawtypes", "unchecked", "deprecation"})
public class PortPropertyDialog extends AbstractPropertyDialog {
class NameValidator implements IValidator {
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
index e89d15b..fb31b87 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
@@ -43,6 +43,7 @@
public class SPPPropertyDialog extends AbstractPropertyDialog {
+ @SuppressWarnings("rawtypes")
class NameValidator implements IValidator {
@Override
@@ -60,6 +61,7 @@
}
}
+ @SuppressWarnings("rawtypes")
class ProtocolValidator implements IValidator {
@Override
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
index 9975419..4cb906c 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
@@ -359,7 +359,7 @@
GeneralProtocolClass srcGPC = src.getProtocol();
GeneralProtocolClass dstGPC = dst.getProtocol();
- if (srcGPC instanceof GeneralProtocolClass || dstGPC instanceof GeneralProtocolClass) {
+ if (srcGPC != null || dstGPC != null) {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
SubProtocolSelectionDialog dlg = new SubProtocolSelectionDialog(shell, src, ar1, dst, ar2, bind, sc);
if (dlg.open()!=Window.OK)
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
index 4558f9e..a2eef0e 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
@@ -192,7 +192,7 @@
parent.inner = acInner;
// refs & interface items
- for (Shape shape : ((ContainerShape) acShape).getChildren()) {
+ for (Shape shape : acShape.getChildren()) {
EObject obj = linkService.getBusinessObjectForLinkedPictogramElement(shape);
// positions
diff --git a/releng/org.eclipse.etrice.parent/pom.xml b/releng/org.eclipse.etrice.parent/pom.xml
index 105bd74..ebd4060 100644
--- a/releng/org.eclipse.etrice.parent/pom.xml
+++ b/releng/org.eclipse.etrice.parent/pom.xml
@@ -33,7 +33,6 @@
<cbi.url>https://repo.eclipse.org/content/repositories/cbi-releases</cbi.url>
<etrice.url>http://download.eclipse.org/etrice/updates/nightly</etrice.url>
- <build.alias></build.alias>
<build.type>N</build.type>
</properties>
@@ -111,7 +110,7 @@
</dependency>
</dependencies>
<configuration>
- <format>'${build.alias}${build.type}'yyyyMMddHHmm</format>
+ <format>'${build.type}'yyyyMMddHHmm</format>
<timestampProvider>jgit</timestampProvider>
<jgit.dirtyWorkingTree>warning</jgit.dirtyWorkingTree>
</configuration>
diff --git a/releng/org.eclipse.etrice.parent/pom_old.xml b/releng/org.eclipse.etrice.parent/pom_old.xml
deleted file mode 100644
index 1eb8253..0000000
--- a/releng/org.eclipse.etrice.parent/pom_old.xml
+++ /dev/null
@@ -1,344 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
- xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.eclipse.etrice</groupId>
- <artifactId>java-generator</artifactId>
- <version>1.1.1-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <name>eTrice Java generator</name>
-
- <description>code generator from ROOM (Real-Time Object Oriented Modeling)
- models to the Java target language</description>
- <url>http://eclipse.org/etrice</url>
- <inceptionYear>2010</inceptionYear>
-
- <properties>
- <project.build.sourceEncoding>Cp1252</project.build.sourceEncoding>
-
- <etrice.version>${project.version}</etrice.version>
-
- <tycho.version>0.19.0</tycho.version>
- <tycho-extras.version>${tycho.version}</tycho-extras.version>
-
- <!-- eclipse version etrice is built against -->
- <eclipse-repo.url>http://download.eclipse.org/releases/luna</eclipse-repo.url>
-
- <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository</orbit-site>
- </properties>
-
- <organization>
- <name>Protos Software GmbH</name>
- <url>http://www.protos.de</url>
- </organization>
-
- <licenses>
- <license>
- <name>Eclipse Public License - v 1.0</name>
- <url>http://www.eclipse.org/legal/epl-v10.html</url>
- </license>
- </licenses>
-
- <issueManagement>
- <system>Bugzilla</system>
- <url>https://bugs.eclipse.org/bugs/enter_bug.cgi?product=eTrice</url>
- </issueManagement>
-
- <ciManagement>
- <system>Hudson</system>
- <url>https://hudson.eclipse.org/etrice/job/etrice-maven3/</url>
- </ciManagement>
-
- <scm>
- <url>http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/</url>
- <connection>http://git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git</connection>
- <developerConnection>ssh://userid@git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git</developerConnection>
- </scm>
-
- <developers>
- <developer>
- <name>Thomas Schuetz</name>
- </developer>
- <developer>
- <name>Henrik Rentz-Reichert</name>
- </developer>
- <developer>
- <name>Thomas Jung</name>
- </developer>
- <developer>
- <name>Juergen Haug</name>
- </developer>
- <developer>
- <name>Eyrak Paen</name>
- </developer>
- <developer>
- <name>Peter Karlitschek</name>
- </developer>
- </developers>
-
- <repositories>
- <repository>
- <id>eclipse</id>
- <layout>p2</layout>
- <url>${eclipse-repo.url}</url>
- </repository>
- <repository>
- <id>orbit</id>
- <layout>p2</layout>
- <url>${orbit-site}</url>
- </repository>
- <repository>
- <id>repository.jboss.org-public</id>
- <name>JBoss.org Maven repository</name>
- <url>https://repository.jboss.org/nexus/content/groups/public</url>
- </repository>
- </repositories>
-
- <pluginRepositories>
- <pluginRepository>
- <id>repo.eclipse.org.cbi-releases</id>
- <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
- </pluginRepository>
- </pluginRepositories>
-
- <modules>
- <module>../../plugins/org.eclipse.etrice.core.common</module>
- <module>../../plugins/org.eclipse.etrice.core.fsm</module>
- <module>../../plugins/org.eclipse.etrice.core.room</module>
- <module>../../plugins/org.eclipse.etrice.core.config</module>
- <module>../../plugins/org.eclipse.etrice.core.etphys</module>
- <module>../../plugins/org.eclipse.etrice.core.etmap</module>
- <module>../../plugins/org.eclipse.etrice.core.genmodel.fsm</module>
- <module>../../plugins/org.eclipse.etrice.core.genmodel</module>
- <module>../../plugins/org.eclipse.etrice.generator.fsm</module>
- <module>../../plugins/org.eclipse.etrice.generator</module>
- <module>../../plugins/org.eclipse.etrice.generator.config</module>
- <module>../../plugins/org.eclipse.etrice.generator.doc</module>
- <module>../../plugins/org.eclipse.etrice.generator.java</module>
- <module>../../plugins/org.eclipse.etrice.generator.java.mvn</module>
- <module>../../runtime/org.eclipse.etrice.modellib.java</module>
- <module>../../runtime/org.eclipse.etrice.runtime.java</module>
- </modules>
-
- <profiles>
- <profile>
- <id>fast</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>full</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <configuration>
- <tags>
- <tag>
- <name>generated</name>
- <placement>a</placement>
- <head>Generated:</head>
- </tag>
- <tag>
- <name>ordered</name>
- <placement>X</placement>
- <head>Ordered:</head>
- </tag>
- <tag>
- <name>model</name>
- <placement>X</placement>
- <head>Model:</head>
- </tag>
- <tag>
- <name>parameter</name>
- <placement>X</placement>
- <head>Parameter:</head>
- </tag>
- </tags>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho.version}</version>
- <extensions>true</extensions>
- </plugin>
- </plugins>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho.version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <excludeResources>
- <!-- avoid error markers in the target folder by excluding ecore models -->
- <excludeResource>**/*.ecore</excludeResource>
- </excludeResources>
- <compilerArguments>
- <enableJavadoc />
- <encoding>ISO-8859-1</encoding>
- </compilerArguments>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-packaging-plugin</artifactId>
- <version>${tycho.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-buildtimestamp-jgit</artifactId>
- <version>${tycho-extras.version}</version>
- </dependency>
- </dependencies>
- <configuration>
- <strictBinIncludes>false</strictBinIncludes>
- <format>'v'yyyyMMdd-HHmm</format>
- <timestampProvider>jgit</timestampProvider>
- <jgit.ignore>
- </jgit.ignore>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-director-plugin</artifactId>
- <version>${tycho.version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-repository-plugin</artifactId>
- <version>${tycho.version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho.version}</version>
- <configuration>
- <baselineMode>warn</baselineMode>
- <baselineReplace>none</baselineReplace>
- <baselineRepositories>
- <repository>
- <url>http://download.eclipse.org/eclipse/updates/4.2</url>
- </repository>
- </baselineRepositories>
- </configuration>
- </plugin>
- <!--This plugin's configuration is used to store Eclipse m2e settings
- only. It has no influence on the Maven build itself. -->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.eclipse.tycho
- </groupId>
- <artifactId>
- tycho-packaging-plugin
- </artifactId>
- <versionRange>
- [0.19.0,)
- </versionRange>
- <goals>
- <goal>validate-id</goal>
- <goal>validate-version</goal>
- <goal>build-qualifier</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>
- org.eclipse.tycho
- </groupId>
- <artifactId>
- tycho-compiler-plugin
- </artifactId>
- <versionRange>
- [0.19.0,)
- </versionRange>
- <goals>
- <goal>compile</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <distributionManagement>
- <repository>
- <id>repo.eclipse.org</id>
- <name>eTrice Repository - Releases</name>
- <url>https://repo.eclipse.org/content/repositories/etrice-releases/</url>
- </repository>
- <snapshotRepository>
- <id>repo.eclipse.org</id>
- <name>eTrice Repository - Snapshots</name>
- <url>https://repo.eclipse.org/content/repositories/etrice-snapshots/</url>
- <uniqueVersion>true</uniqueVersion>
- </snapshotRepository>
- </distributionManagement>
-</project>
diff --git a/releng/org.eclipse.etrice.releng/ETriceC.setup b/releng/org.eclipse.etrice.releng/ETriceC.setup
new file mode 100644
index 0000000..6c14ace
--- /dev/null
+++ b/releng/org.eclipse.etrice.releng/ETriceC.setup
@@ -0,0 +1,636 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Product
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+ xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
+ name="etrice.c.product"
+ label="eTrice C/C++ package">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="imageURI">
+ <value>https://www.eclipse.org/etrice/images/eTRICE-logo.png</value>
+ </detail>
+ </annotation>
+ <version name="latest"
+ label="Latest (2018-12)"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/2018-12/m1/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for C/C++ Developers (2018-12)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.arduino.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.cmake.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.docker.launcher.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.meson.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.qt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.epp.mpc.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/2018-12"/>
+ <repository
+ url="http://download.eclipse.org/releases/2018-12"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <version name="latest.released"
+ label="Latest Release (2018-09)"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/2018-09/r/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for C/C++ Developers (2018-09)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.arduino.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.cmake.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.docker.launcher.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.meson.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.qt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.epp.mpc.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/2018-09"/>
+ <repository
+ url="http://download.eclipse.org/releases/2018-09/201809191002"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <version name="2018-12"
+ label="2018-12"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/2018-12/m1/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for C/C++ Developers (2018-12)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.10.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.arduino.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.cmake.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.docker.launcher.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.meson.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.qt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.epp.mpc.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/2018-12"/>
+ <repository
+ url="http://download.eclipse.org/releases/2018-12"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <version name="2018-09"
+ label="2018-09"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/2018-09/r/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for eTrice C/C++ Developers (2018-09)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.9.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.arduino.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.cmake.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.docker.launcher.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.meson.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.qt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.epp.mpc.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/2018-09"/>
+ <repository
+ url="http://download.eclipse.org/releases/2018-09/201809191002"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <version name="photon"
+ label="Photon"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/photon/r/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for C/C++ Developers (Photon)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.8.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.8.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.8.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.arduino.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.cmake.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.docker.launcher.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.meson.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.qt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/photon"/>
+ <repository
+ url="http://download.eclipse.org/releases/photon/201806271001"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <version name="oxygen"
+ label="Oxygen"
+ requiredJavaVersion="1.8">
+ <annotation
+ source="http://www.eclipse.org/oomph/setup/BrandingInfo">
+ <detail
+ key="siteURI">
+ <value>https://www.eclipse.org/downloads/packages/release/oxygen/3a/eclipse-ide-cc-developers</value>
+ </detail>
+ </annotation>
+ <setupTask
+ xsi:type="setup.p2:P2Task"
+ label="Eclipse IDE for C/C++ Developers (Oxygen)">
+ <requirement
+ name="epp.package.cpp"
+ versionRange="[4.7.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.platform.feature.group"
+ versionRange="[4.7.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.rcp.feature.group"
+ versionRange="[4.7.0,5.0.0)"/>
+ <requirement
+ name="org.eclipse.cdt.autotools.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.build.crossgcc.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.standalone.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.launch.remote.feature.group"/>
+ <requirement
+ name="org.eclipse.cdt.mylyn.feature.group"/>
+ <requirement
+ name="org.eclipse.egit.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.cdt.libhover.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.changelog.c.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gcov.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.gprof.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.rpm.feature.group"/>
+ <requirement
+ name="org.eclipse.linuxtools.valgrind.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.bugzilla_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.context_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.ide_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.team_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn.wikitext_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.mylyn_feature.feature.group"/>
+ <requirement
+ name="org.eclipse.rse.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tm.terminal.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.gdbtrace.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.control.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.kernel.feature.group"/>
+ <requirement
+ name="org.eclipse.tracecompass.lttng2.ust.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.feature.feature.group"/>
+ <requirement
+ name="org.eclipse.etrice.cdt_integration.feature.feature.group"/>
+ <repository
+ url="http://download.eclipse.org/technology/epp/packages/oxygen"/>
+ <repository
+ url="http://download.eclipse.org/releases/oxygen/201804111000"/>
+ <repository
+ url="http://download.eclipse.org/etrice/updates/releases/2.0.0-RC6"/>
+ </setupTask>
+ </version>
+ <description>An IDE for C/C++ developers with the eTrice modeling tool.</description>
+</setup:Product>
diff --git a/releng/org.eclipse.etrice.releng/build.gradle b/releng/org.eclipse.etrice.releng/build.gradle
new file mode 100644
index 0000000..3e75a36
--- /dev/null
+++ b/releng/org.eclipse.etrice.releng/build.gradle
@@ -0,0 +1,32 @@
+configurations {
+ archives
+ updates
+}
+
+dependencies {
+ archives project(path: ':plugins:org.eclipse.etrice.generator.c', configuration: 'archive')
+ archives project(path: ':plugins:org.eclipse.etrice.generator.cpp', configuration: 'archive')
+ archives project(path: ':plugins:org.eclipse.etrice.generator.java', configuration: 'archive')
+ archives project(path: ':plugins:org.eclipse.etrice.generator.doc', configuration: 'archive')
+
+ updates project(path: ':releng:org.eclipse.etrice.site', configuration: 'archive')
+}
+
+
+def downloadDir = '/home/data/httpd/download.eclipse.org/etrice'
+// downloadDir = "$buildDir/download"
+def versionDir = version
+if(version.endsWith('SNAPSHOT')) {
+ versionDir = 'nightly'
+}
+def promoteDir = "$downloadDir/$versionDir"
+
+task promote(type: Sync) {
+ from([configurations.archives, configurations.updates]) {
+ into 'archives'
+ }
+ from(zipTree(configurations.updates.singleFile)) {
+ into 'updates'
+ }
+ into promoteDir
+}
\ No newline at end of file
diff --git a/releng/org.eclipse.etrice.site/build.gradle b/releng/org.eclipse.etrice.site/build.gradle
new file mode 100644
index 0000000..cbec1e2
--- /dev/null
+++ b/releng/org.eclipse.etrice.site/build.gradle
@@ -0,0 +1,8 @@
+configurations {
+ archive
+}
+
+artifacts {
+ archive fileTree(dir: 'target', include: 'org.eclipse.etrice.site-*.zip').singleFile
+}
+
diff --git a/releng/org.eclipse.etrice.site/category.xml b/releng/org.eclipse.etrice.site/category.xml
index 7958f4e..8819870 100644
--- a/releng/org.eclipse.etrice.site/category.xml
+++ b/releng/org.eclipse.etrice.site/category.xml
@@ -3,7 +3,7 @@
<feature id="org.eclipse.etrice.feature" version="2.0.0.qualifier">
<category name="org.eclipse.etrice"/>
</feature>
- <feature id="org.eclipse.etrice.cdt-integration.feature" version="2.0.0.qualifier">
+ <feature id="org.eclipse.etrice.cdt_integration.feature" version="2.0.0.qualifier">
<category name="org.eclipse.etrice"/>
</feature>
<category-def name="org.eclipse.etrice" label="eTrice">
diff --git a/runtime/org.eclipse.etrice.modellib.java/.classpath b/runtime/org.eclipse.etrice.modellib.java/.classpath
index 13453a6..0e7dd07 100644
--- a/runtime/org.eclipse.etrice.modellib.java/.classpath
+++ b/runtime/org.eclipse.etrice.modellib.java/.classpath
@@ -9,7 +9,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.runtime.java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
diff --git a/runtime/org.eclipse.etrice.modellib.java/.settings/org.eclipse.jdt.core.prefs b/runtime/org.eclipse.etrice.modellib.java/.settings/org.eclipse.jdt.core.prefs
index 3c082d5..5d6e034 100644
--- a/runtime/org.eclipse.etrice.modellib.java/.settings/org.eclipse.jdt.core.prefs
+++ b/runtime/org.eclipse.etrice.modellib.java/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,7 @@
-#Mon Sep 19 09:34:05 CEST 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -74,4 +73,4 @@
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
index 8b772fd..325a9e5 100644
--- a/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
@@ -4,4 +4,5 @@
Bundle-SymbolicName: org.eclipse.etrice.modellib.java
Bundle-Version: 2.0.0.qualifier
Bundle-Vendor: Eclipse eTrice
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.etrice.modellib.java
diff --git a/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
index 54c38e5..5c8c997 100644
--- a/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
@@ -5,3 +5,4 @@
Bundle-Version: 2.0.0.qualifier
Export-Package: org.eclipse.etrice.runtime.java.aspects
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.etrice.runtime.java.aspects
diff --git a/runtime/org.eclipse.etrice.runtime.java/.classpath b/runtime/org.eclipse.etrice.runtime.java/.classpath
index 695d89b..94f9810 100644
--- a/runtime/org.eclipse.etrice.runtime.java/.classpath
+++ b/runtime/org.eclipse.etrice.runtime.java/.classpath
@@ -11,7 +11,7 @@
<attribute name="ignore_optional_problems" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
diff --git a/runtime/org.eclipse.etrice.runtime.java/.settings/org.eclipse.jdt.core.prefs b/runtime/org.eclipse.etrice.runtime.java/.settings/org.eclipse.jdt.core.prefs
index 107056a..91ca62e 100644
--- a/runtime/org.eclipse.etrice.runtime.java/.settings/org.eclipse.jdt.core.prefs
+++ b/runtime/org.eclipse.etrice.runtime.java/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
index 64aa804..3127632 100644
--- a/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
@@ -9,4 +9,5 @@
org.eclipse.etrice.runtime.java.messaging,
org.eclipse.etrice.runtime.java.modelbase
Bundle-Vendor: Eclipse eTrice
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.etrice.runtime.java
diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/config/AbstractVariableService.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/config/AbstractVariableService.java
index 040f2fd..c9006f5 100644
--- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/config/AbstractVariableService.java
+++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/config/AbstractVariableService.java
@@ -560,7 +560,7 @@
+ ((id != null) ? " (" + id + ")" : ""));
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({ "rawtypes" })
private static final Set<Class> PRIMITIVE_TYPES = new HashSet<Class>(
Arrays.asList(Boolean.class, Character.class, String.class,
Byte.class, Short.class, Integer.class, Long.class,
diff --git a/settings.gradle b/settings.gradle
index 91bd36c..ea23dae 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -32,4 +32,7 @@
'tests:org.eclipse.etrice.generator.common.tests',
'tests:org.eclipse.etrice.generator.c.tests',
'tests:org.eclipse.etrice.generator.cpp.tests',
- 'tests:org.eclipse.etrice.generator.java.tests'
\ No newline at end of file
+ 'tests:org.eclipse.etrice.generator.java.tests',
+
+ 'releng:org.eclipse.etrice.releng',
+ 'releng:org.eclipse.etrice.site'
\ No newline at end of file
diff --git a/team/ETrice.setup b/team/ETrice.setup
index be1e63a..7506513 100644
--- a/team/ETrice.setup
+++ b/team/ETrice.setup
@@ -306,7 +306,7 @@
name="remote "gerrit ssh"">
<properties
key="pushurl"
- value="ssh://${git.user.id}@git.eclipse.org:29418/www.eclipse.org/etrice.git "/>
+ value="ssh://${git.user.id}@git.eclipse.org:29418/www.eclipse.org/etrice.git"/>
<properties
key="push"
value="HEAD:refs/heads/master"/>
@@ -315,7 +315,7 @@
name="remote "gerrit bypass ssh"">
<properties
key="pushurl"
- value="ssh://${git.user.id}@git.eclipse.org:29418/www.eclipse.org/etrice.git "/>
+ value="ssh://${git.user.id}@git.eclipse.org:29418/www.eclipse.org/etrice.git"/>
<properties
key="push"
value="HEAD:refs/heads/master"/>
diff --git a/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
index 41a3584..052ce01 100644
--- a/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
@@ -16,3 +16,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.etrice.abstractexec.behavior
+Automatic-Module-Name: org.eclipse.etrice.abstractexec.behavior.tests
diff --git a/tests/org.eclipse.etrice.core.common.tests/.classpath b/tests/org.eclipse.etrice.core.common.tests/.classpath
index 1cf555d..d4fb90f 100644
--- a/tests/org.eclipse.etrice.core.common.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.common.tests/.classpath
@@ -2,7 +2,11 @@
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="src" path="models"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="xtend-gen"/>
diff --git a/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
index 6c21fd1..32790e7 100644
--- a/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
@@ -7,10 +7,11 @@
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.etrice.core.common,
org.eclipse.core.runtime,
- org.eclipse.xtext.junit4;bundle-version="2.6.0",
org.eclipse.xtext.xbase.lib,
org.eclipse.etrice.core.common.ui,
- org.eclipse.ui.workbench;resolution:=optional
+ org.eclipse.ui.workbench;resolution:=optional,
+ org.eclipse.xtext.testing;bundle-version="2.12.0",
+ org.eclipse.xtext.junit4;bundle-version="2.12.0"
Import-Package: org.apache.log4j,
org.junit;version="4.5.0",
org.junit.runner;version="4.5.0",
@@ -22,3 +23,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.core.common.tests,
org.eclipse.etrice.core.common
+Automatic-Module-Name: org.eclipse.etrice.core.common.tests
diff --git a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestInjectorProvider.java b/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestInjectorProvider.java
index ffea490..64862ce 100644
--- a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestInjectorProvider.java
+++ b/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestInjectorProvider.java
@@ -5,10 +5,10 @@
import com.google.inject.Guice;
import com.google.inject.Injector;
-import org.eclipse.xtext.junit4.GlobalRegistries;
-import org.eclipse.xtext.junit4.GlobalRegistries.GlobalStateMemento;
-import org.eclipse.xtext.junit4.IInjectorProvider;
-import org.eclipse.xtext.junit4.IRegistryConfigurator;
+import org.eclipse.xtext.testing.GlobalRegistries;
+import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
+import org.eclipse.xtext.testing.IInjectorProvider;
+import org.eclipse.xtext.testing.IRegistryConfigurator;
public class BaseTestInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
diff --git a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java b/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java
index b22656d..799fce1 100644
--- a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java
+++ b/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java
@@ -3,7 +3,7 @@
*/
package org.eclipse.etrice.core.common;
-import org.eclipse.xtext.junit4.IInjectorProvider;
+import org.eclipse.xtext.testing.IInjectorProvider;
import com.google.inject.Injector;
diff --git a/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/CCStringTest.xtend b/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/CCStringTest.xtend
index a625172..a050a4d 100644
--- a/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/CCStringTest.xtend
+++ b/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/CCStringTest.xtend
@@ -18,8 +18,10 @@
import org.eclipse.etrice.core.common.BaseTestInjectorProvider
import org.eclipse.etrice.core.common.converter.BaseConverterService
import org.eclipse.etrice.core.common.converter.CCStringIndentation
-import org.eclipse.xtext.junit4.InjectWith
-import org.eclipse.xtext.junit4.XtextRunner
+import org.eclipse.xtext.testing.InjectWith
+import org.eclipse.xtext.testing.XtextRunner
+//import org.eclipse.xtext.junit4.InjectWith
+//import org.eclipse.xtext.junit4.XtextRunner
import org.eclipse.xtext.util.Strings
import org.junit.Test
import org.junit.runner.RunWith
@@ -220,7 +222,7 @@
assertEquals('''
-
+
text
'''.toString, toValue(text))
assertFalse(new CCStringIndentation(text).hasConsistentIndentation)
diff --git a/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/RelativeFileURITest.xtend b/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/RelativeFileURITest.xtend
index 61c46a4..5a8553f 100644
--- a/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/RelativeFileURITest.xtend
+++ b/tests/org.eclipse.etrice.core.common.tests/src/org/eclipse/etrice/core/common/tests/RelativeFileURITest.xtend
@@ -62,7 +62,7 @@
]
// require ResourcePlugin and actual files to test
- val static ENCODED_PLATFORM_PATH_URIS = #[
+ package val static ENCODED_PLATFORM_PATH_URIS = #[
"platform:/resource/project/myfile.txt",
"platform:/resource/My%20Project%20%231/My%20File.txt",
"platform:/resource/are%20you%20there%3F",
diff --git a/tests/org.eclipse.etrice.core.config.tests/.classpath b/tests/org.eclipse.etrice.core.config.tests/.classpath
index d2fd5c8..1c48e50 100644
--- a/tests/org.eclipse.etrice.core.config.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.config.tests/.classpath
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
index 2071d39..5c0588b 100644
--- a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
@@ -23,3 +23,4 @@
org.hamcrest.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.core
+Automatic-Module-Name: org.eclipse.etrice.core.config.tests
diff --git a/tests/org.eclipse.etrice.core.etmap.tests/.classpath b/tests/org.eclipse.etrice.core.etmap.tests/.classpath
index fe30bcb..a3a110f 100644
--- a/tests/org.eclipse.etrice.core.etmap.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.etmap.tests/.classpath
@@ -3,6 +3,10 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
index 50c8a75..f11c38e 100644
--- a/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
@@ -21,3 +21,4 @@
org.hamcrest.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.core.etmap
+Automatic-Module-Name: org.eclipse.etrice.core.etmap.tests
diff --git a/tests/org.eclipse.etrice.core.etphys.tests/.classpath b/tests/org.eclipse.etrice.core.etphys.tests/.classpath
index fe30bcb..a3a110f 100644
--- a/tests/org.eclipse.etrice.core.etphys.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.etphys.tests/.classpath
@@ -3,6 +3,10 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
index ad0ea5d..fb4f870 100644
--- a/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
@@ -21,3 +21,4 @@
org.hamcrest.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.core.etphys
+Automatic-Module-Name: org.eclipse.etrice.core.etphys.tests
diff --git a/tests/org.eclipse.etrice.core.fsm.tests/.classpath b/tests/org.eclipse.etrice.core.fsm.tests/.classpath
index 8e001f7..a5d9f4e 100644
--- a/tests/org.eclipse.etrice.core.fsm.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.fsm.tests/.classpath
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
index 40bae65..7ad3102 100644
--- a/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
org.eclipse.core.runtime,
org.eclipse.xtext.junit4;bundle-version="2.6.0",
org.eclipse.ui.workbench;resolution:=optional,
- org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
+ org.objectweb.asm;bundle-version="[5.0.1,7.0.0)";resolution:=optional,
org.eclipse.xtext.xbase.lib
Import-Package: org.apache.log4j,
org.junit;version="4.5.0",
@@ -23,3 +23,4 @@
org.hamcrest.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.core.fsm
+Automatic-Module-Name: org.eclipse.etrice.core.fsm.tests
diff --git a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.classpath b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.classpath
index 325150d..ef58158 100644
--- a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.classpath
+++ b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.classpath
@@ -1,8 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="src" path="src">
+ <attributes>
+ <attribute name="test" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" path="xtend-gen">
+ <attributes>
+ <attribute name="test" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.settings/org.eclipse.jdt.core.prefs
index f42de36..0c68a61 100644
--- a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/META-INF/MANIFEST.MF
index 1222539..e50e943 100644
--- a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@
Bundle-SymbolicName: org.eclipse.etrice.core.genmodel.fsm.tests
Bundle-Version: 2.0.0.qualifier
Bundle-Vendor: Eclipse eTrice
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit;bundle-version="4.12.0",
org.eclipse.osgi;bundle-version="3.11.2",
org.eclipse.core.runtime;bundle-version="3.12.0",
@@ -14,3 +14,4 @@
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
Bundle-Activator: org.eclipse.etrice.core.genmodel.fsm.tests.FSMGenModelTestsActivator
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.core.genmodel.fsm.tests
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
index ddfe2f9..2d3c9c7 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
@@ -13,3 +13,4 @@
org.eclipse.etrice.generator.base;bundle-version="2.0.0"
Bundle-Activator: org.eclipse.etrice.core.genmodel.GenmodelTestsActivator
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.core.genmodel.tests
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestLayers.java b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestLayers.java
index 27d3aa1..fc17cba 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestLayers.java
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestLayers.java
@@ -57,7 +57,7 @@
SAPInstance sap = (SAPInstance) getInstance(saps, "/CMain/app/subsysA/userX/sap");
assertNotNull("sap expected", sap);
- InterfaceItemInstance peer = ((SAPInstance)sap).getPeers().get(0);
+ InterfaceItemInstance peer = sap.getPeers().get(0);
assertTrue("peer is a service", (peer instanceof ServiceImplInstance));
ServiceImplInstance svc = (ServiceImplInstance) peer;
assertEquals("number of serviceA peers", 3, svc.getPeers().size());
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestOptionalActors.java b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestOptionalActors.java
index 30b5c85..803c926 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestOptionalActors.java
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestOptionalActors.java
@@ -64,7 +64,7 @@
SAPInstance sap = (SAPInstance) getInstance(saps, "/OptionalForSvcOK/ref0/sap1");
assertNotNull("sap expected", sap);
assertEquals("SAP has one peer", 1, sap.getPeers().size());
- InterfaceItemInstance peer = ((SAPInstance)sap).getPeers().get(0);
+ InterfaceItemInstance peer = sap.getPeers().get(0);
assertTrue("peer is a service", (peer instanceof ServiceImplInstance));
ServiceImplInstance svc = (ServiceImplInstance) peer;
assertEquals("number of service peers", 1, svc.getPeers().size());
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestStructureInheritance.java b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestStructureInheritance.java
index 23cfcd4..c3a11bb 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestStructureInheritance.java
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestStructureInheritance.java
@@ -85,7 +85,7 @@
SAPInstance sap = (SAPInstance) getInstance(saps, "/CMain/application/fcta/sub2/timeout");
assertNotNull("sap expected", sap);
- InterfaceItemInstance peer = ((SAPInstance)sap).getPeers().get(0);
+ InterfaceItemInstance peer = sap.getPeers().get(0);
assertTrue("peer is a service", (peer instanceof ServiceImplInstance));
ServiceImplInstance svc = (ServiceImplInstance) peer;
assertEquals("number of serviceA peers", 8, svc.getPeers().size());
diff --git a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
index 1aa9aa9..7272165 100644
--- a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@
Bundle-Activator: org.eclipse.etrice.core.CoreTestsActivator
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.etrice.core
+Automatic-Module-Name: org.eclipse.etrice.core.room.tests
diff --git a/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
index 8b85497..2d87b0b 100644
--- a/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
@@ -12,3 +12,4 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: com.google.common.io
+Automatic-Module-Name: org.eclipse.etrice.etunit.converter.tests
diff --git a/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath b/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
index d2fd5c8..1c48e50 100644
--- a/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
+++ b/tests/org.eclipse.etrice.generator.fsmtest.tests/.classpath
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src-gen">
+ <attributes>
+ <attribute name="ignore_optional_problems" value="true"/>
+ </attributes>
+ </classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
index af4c807..68fa8e9 100644
--- a/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
@@ -20,3 +20,4 @@
org.hamcrest.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.generator
+Automatic-Module-Name: org.eclipse.etrice.generator.fsmtest.tests
diff --git a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
index be6f444..2e098df 100644
--- a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
@@ -16,3 +16,4 @@
org.eclipse.core.runtime;bundle-version="3.6.0"
Bundle-Activator: org.eclipse.etrice.generator.InstanceTestsActivator
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.generator.tests
diff --git a/tests/org.eclipse.etrice.runtime.java.tests/.classpath b/tests/org.eclipse.etrice.runtime.java.tests/.classpath
index 707c20f..4283641 100644
--- a/tests/org.eclipse.etrice.runtime.java.tests/.classpath
+++ b/tests/org.eclipse.etrice.runtime.java.tests/.classpath
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.etrice.runtime.java"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.etrice.ui.base.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.base.tests/META-INF/MANIFEST.MF
index 8476b89..02a5bb8 100644
--- a/tests/org.eclipse.etrice.ui.base.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.base.tests/META-INF/MANIFEST.MF
@@ -17,4 +17,5 @@
Bundle-Vendor: Eclipse eTrice
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.etrice.tests.base
+Automatic-Module-Name: org.eclipse.etrice.ui.base.tests
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
index 00cd137..02c3759 100644
--- a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
@@ -24,3 +24,4 @@
Import-Package: org.eclipse.xtext.xbase.lib
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.etrice.ui.behavior.tests
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
index fc10f1a..484601a 100644
--- a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
@@ -18,3 +18,4 @@
Bundle-Vendor: Eclipse eTrice
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.eclipse.etrice.ui.structure.StructureTestActivator
+Automatic-Module-Name: org.eclipse.etrice.ui.structure.tests
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithBindings.java b/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithBindings.java
index b4f93da..2df1f85 100644
--- a/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithBindings.java
+++ b/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithBindings.java
@@ -112,7 +112,7 @@
// the second ref is represented once in the diagram
assertNotNull("second ref", b.getEndpoint2().getActorRef());
- pes = Graphiti.getLinkService().getPictogramElements(diagram, ((ActorRef)b.getEndpoint2().getActorRef()));
+ pes = Graphiti.getLinkService().getPictogramElements(diagram, b.getEndpoint2().getActorRef());
assertEquals("instances of second ref", 1, pes.size());
}
}
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithInheritance.java b/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithInheritance.java
index 2bff6a7..2e80ae3 100644
--- a/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithInheritance.java
+++ b/tests/org.eclipse.etrice.ui.structure.tests/src/org/eclipse/etrice/ui/structure/commands/TestActorClassWithInheritance.java
@@ -171,7 +171,7 @@
// the second ref is represented once in the diagram
assertNotNull("second ref", b.getEndpoint2().getActorRef());
- pes = Graphiti.getLinkService().getPictogramElements(diagram, ((ActorRef)b.getEndpoint2().getActorRef()));
+ pes = Graphiti.getLinkService().getPictogramElements(diagram, b.getEndpoint2().getActorRef());
assertEquals("instances of second ref", 1, pes.size());
}
}