Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/labeling/BaseLabelProvider.xtend60
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/AsciiDocGen.xtend10
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/DiagramAccess.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java6
-rw-r--r--plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/ModificationTrackingEnabler.java13
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java2
-rw-r--r--releng/org.eclipse.etrice.parent/pom.xml2
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c3
-rw-r--r--team/ETrice.setup43
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c6
10 files changed, 97 insertions, 50 deletions
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/labeling/BaseLabelProvider.xtend b/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/labeling/BaseLabelProvider.xtend
index 030e1fc72..ef34fef58 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/labeling/BaseLabelProvider.xtend
+++ b/plugins/org.eclipse.etrice.core.common.ui/src/org/eclipse/etrice/core/common/ui/labeling/BaseLabelProvider.xtend
@@ -4,7 +4,7 @@
* 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:
@@ -14,40 +14,55 @@
package org.eclipse.etrice.core.common.ui.labeling
import com.google.inject.Inject
-import org.eclipse.jface.viewers.StyledString
-import org.eclipse.jface.viewers.StyledString.Styler;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
import org.eclipse.etrice.core.common.base.Import
-import org.eclipse.xtext.ui.label.StylerFactory
import org.eclipse.jface.resource.JFaceResources
-import org.eclipse.swt.SWT
+import org.eclipse.jface.viewers.StyledString
+import org.eclipse.jface.viewers.StyledString.Styler
import org.eclipse.swt.graphics.RGB
+import org.eclipse.swt.graphics.TextStyle
+import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
/**
* Provides labels for a EObjects.
*
* see http://www.eclipse.org/Xtext/documentation.html#labelProvider
*/
-class BaseLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider {
+class BaseLabelProvider extends DefaultEObjectLabelProvider {
protected static final String KEYWORD_COLOR = "KEYWORD_COLOR";
+ protected val fontRegistry = JFaceResources.fontRegistry // Bug 576866
+ protected val colorRegistry = JFaceResources.getColorRegistry
+
+ val keyWordStyler = new Styler() {
+
+ override applyStyles(TextStyle textStyle) {
+ textStyle.font = fontRegistry.getBold(JFaceResources.TEXT_FONT)
+ textStyle.foreground = colorRegistry.get(KEYWORD_COLOR)
+ }
+
+ }
+
+ val typeStyler = new Styler() {
+
+ override applyStyles(TextStyle textStyle) {
+ textStyle.font = fontRegistry.getItalic(JFaceResources.TEXT_FONT)
+ }
+
+ }
+
@Inject
- protected StylerFactory stylerFactory;
-
- protected Styler keywordStyler = null;
- protected Styler typeStyler = null;
-
- @Inject
- new(org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider delegate) {
+ new(AdapterFactoryLabelProvider delegate) {
super(delegate);
-
- JFaceResources.getColorRegistry().put(KEYWORD_COLOR, new RGB(50, 50, 50));
+
+ colorRegistry.put(KEYWORD_COLOR, new RGB(50, 50, 50));
}
def String image(Import mdl) {
return null;
}
-
+
def StyledString text(Import im) {
if (im.getImportedNamespace() === null) {
var txt = new StyledString("import model " + im.getImportURI())
@@ -61,20 +76,11 @@ class BaseLabelProvider extends org.eclipse.xtext.ui.label.DefaultEObjectLabelPr
}
def protected Styler getKeywordStyler() {
- if (keywordStyler===null) {
- var font = JFaceResources.getFontDescriptor(JFaceResources.TEXT_FONT)
- var boldFont = font.setStyle(SWT.BOLD)
- keywordStyler = stylerFactory.createStyler(boldFont, KEYWORD_COLOR, null)
- }
- return keywordStyler
+ return keyWordStyler
}
def protected Styler getTypeStyler() {
- if (typeStyler===null) {
- var font = JFaceResources.getFontDescriptor(JFaceResources.TEXT_FONT)
- var italicFont = font.setStyle(SWT.ITALIC)
- typeStyler = stylerFactory.createStyler(italicFont, null, null)
- }
return typeStyler
}
+
}
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
index 7540343b1..9fb911f43 100644
--- 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
@@ -57,11 +57,12 @@ class AsciiDocGen {
def generateSingleDoc(Iterable<RoomPackage> packages, boolean includeImages) '''
= Model Documentation
- generated by eTrice
- {docdatetime}
:toc: left
:toclevels: 2
:table-caption!:
+ «tagStart("all")»
+ generated by eTrice
+ {docdatetime}
«IF !packages.empty»
.Room Packages
@@ -97,6 +98,7 @@ class AsciiDocGen {
«ac.generateActorDoc(includeImages)»
«ENDFOR»
«ENDFOR»
+ «tagEnd("all")»
'''
def private generatePackageDoc(RoomPackage pkg) {
@@ -494,7 +496,11 @@ class AsciiDocGen {
def private static tagStart(RoomClass rc) '''// tag::«rc.FQN»[]'''
def private static tagEnd(RoomClass rc) '''// end::«rc.FQN»[]'''
+
+ def private static tagStart(String name) '''// tag::.«name»[]'''
+ def private static tagEnd(String name) '''// end::.«name»[]'''
+
def private static String fill(char c, int length) {
val builder = new StringBuilder(length)
for(var i = 0; i < length; i++) {
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/DiagramAccess.java b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/DiagramAccess.java
index 5f9183f0a..342ee2c50 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/DiagramAccess.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/DiagramAccess.java
@@ -51,7 +51,7 @@ public class DiagramAccess extends DiagramAccessBase {
public String getDiagramName(EObject rootObject) {
if (rootObject instanceof ActorClass) {
ActorClass ac = (ActorClass) rootObject;
- return "Behavior of "+ac.getName();
+ return ac.getName() + " Behavior";
}
return "unknown";
}
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
index c9dae7be0..0ab11f26f 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomPersistencyBehavior.java
@@ -77,6 +77,12 @@ public class CustomPersistencyBehavior extends DefaultPersistencyBehavior {
}
}
+ @Override
+ protected boolean shouldSave(Resource resource) {
+ // assume all resources we want to save have tracking modification enabled, see ModificationTrackingEnabler
+ return resource.isTrackingModification() && super.shouldSave(resource);
+ }
+
protected boolean validateResourcesBeforeSave(final IProgressMonitor monitor){
final RunnableWithResult<Boolean> runnable = new RunnableWithResult.Impl<Boolean>() {
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/ModificationTrackingEnabler.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/ModificationTrackingEnabler.java
index f738ef7c2..35cd4fe21 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/ModificationTrackingEnabler.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/ModificationTrackingEnabler.java
@@ -10,12 +10,16 @@
package org.eclipse.etrice.ui.common.base.editor;
+import java.util.Set;
+
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.transaction.ResourceSetChangeEvent;
import org.eclipse.emf.transaction.ResourceSetListenerImpl;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import com.google.common.collect.Sets;
+
/**
* description
*
@@ -24,6 +28,8 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain;
*/
public class ModificationTrackingEnabler extends ResourceSetListenerImpl {
+ private final Set<String> fileExtensions = Sets.newHashSet("structure", "behavior", "room");
+
/* (non-Javadoc)
* @see org.eclipse.emf.transaction.ResourceSetListenerImpl#setTarget(org.eclipse.emf.transaction.TransactionalEditingDomain)
*/
@@ -47,8 +53,13 @@ public class ModificationTrackingEnabler extends ResourceSetListenerImpl {
protected void setTrackingModification() {
ResourceSet rs = getTarget().getResourceSet();
for (Resource r : rs.getResources()) {
- if (!r.isTrackingModification())
+ if (shouldTrack(r) && !r.isTrackingModification())
r.setTrackingModification(true);
}
}
+
+ protected boolean shouldTrack(Resource resource) {
+ String fileExt = resource.getURI().fileExtension();
+ return fileExtensions.contains(fileExt.toLowerCase());
+ }
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
index 1a82ae9e4..03fb269ee 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
@@ -42,7 +42,7 @@ public class DiagramAccess extends DiagramAccessBase {
public String getDiagramName(EObject rootObject) {
if (rootObject instanceof StructureClass) {
StructureClass sc = (StructureClass) rootObject;
- return "Structure of "+sc.getName();
+ return sc.getName() + " Structure";
}
return "unknown";
}
diff --git a/releng/org.eclipse.etrice.parent/pom.xml b/releng/org.eclipse.etrice.parent/pom.xml
index 5ca356e8b..3749dc958 100644
--- a/releng/org.eclipse.etrice.parent/pom.xml
+++ b/releng/org.eclipse.etrice.parent/pom.xml
@@ -24,7 +24,7 @@
<eclipse.version>2021-03</eclipse.version>
<xtext.version>2.25.0</xtext.version>
<tycho.version>2.3.0</tycho.version>
- <cbi.version>1.1.5</cbi.version>
+ <cbi.version>1.3.2</cbi.version>
<eclipse.url>http://download.eclipse.org/releases/${eclipse.version}</eclipse.url>
<xtext.url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/${xtext.version}</xtext.url>
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c b/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c
index 303d6acda..297ae59ea 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c
@@ -238,6 +238,9 @@ void etUnit_closeTestCase(etInt16 id) {
void etUnit_skipTestCase(etInt16 id, const char* msg) {
etInt16 caseId = getOpenTestCaseId(id);
+ etInt16 parallelId = getParallelIndex(caseId);
+ etUnit_testcaseOpen[parallelId] = ET_FALSE;
+
if (etUnit_reportfile != NULL) {
etLogger_fprintf(etUnit_reportfile, "tc skip %d: %s\n", caseId, msg);
}
diff --git a/team/ETrice.setup b/team/ETrice.setup
index 5c0fbe3b1..c55e2bed0 100644
--- a/team/ETrice.setup
+++ b/team/ETrice.setup
@@ -29,10 +29,22 @@
<setupTask
xsi:type="setup:ResourceCreationTask"
excludedTriggers="STARTUP MANUAL"
- content="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;section name=&quot;Workbench&quot;>&#xD;&#xA;&#x9;&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>&#xD;&#xA;&#x9;&lt;/section>&#xD;&#xA;&lt;/section>&#xD;&#xA;"
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml"
encoding="UTF-8">
<description>Initialize JDT's package explorer to show working sets as its root objects</description>
+ <content>
+ &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
+ &lt;section name=&quot;Workbench&quot;>
+ &lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>
+ &lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>
+ &lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>
+ &lt;item value=&quot;2&quot; key=&quot;layout&quot;/>
+ &lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>
+ &lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>
+ &lt;/section>
+ &lt;/section>
+
+ </content>
</setupTask>
<setupTask
xsi:type="setup.p2:P2Task">
@@ -162,15 +174,15 @@
<setupTask
xsi:type="setup:PreferenceTask"
key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform"
- value="1.8"/>
+ value="11"/>
<setupTask
xsi:type="setup:PreferenceTask"
key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance"
- value="1.8"/>
+ value="11"/>
<setupTask
xsi:type="setup:PreferenceTask"
key="/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source"
- value="1.8"/>
+ value="11"/>
</setupTask>
<setupTask
xsi:type="setup:CompoundTask"
@@ -325,7 +337,16 @@
<setupTask
xsi:type="projects:ProjectsImportTask">
<sourceLocator
- rootFolder="${git.clone.location}"/>
+ rootFolder="${git.clone.location}">
+ <excludedPath>examples</excludedPath>
+ <excludedPath>runtime</excludedPath>
+ <predicate
+ xsi:type="predicates:NotPredicate">
+ <operand
+ xsi:type="predicates:NaturePredicate"
+ nature="org.eclipse.cdt.core.cnature"/>
+ </predicate>
+ </sourceLocator>
<sourceLocator
rootFolder="${git.clone.website.location}"/>
</setupTask>
@@ -339,18 +360,6 @@
project="org.eclipse.etrice.core.common"/>
</workingSet>
<workingSet
- name="${scope.project.label} C/C++">
- <predicate
- xsi:type="predicates:AndPredicate">
- <operand
- xsi:type="predicates:NaturePredicate"
- nature="org.eclipse.cdt.core.cnature"/>
- <operand
- xsi:type="predicates:RepositoryPredicate"
- project="org.eclipse.etrice.core.common"/>
- </predicate>
- </workingSet>
- <workingSet
name="${scope.project.label} Features">
<predicate
xsi:type="predicates:AndPredicate">
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c
index c1abf810a..6b29ea805 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c
@@ -93,12 +93,18 @@ void TestEtUnit_Singleton_TestCase(){
etUnit_closeTestCase(0);
}
+void TestEtUnit_Skip_TestCase(){
+ etInt16 id = etUnit_openTestCase("SkipTestcase");
+ assert(id == 0);
+ etUnit_skipTestCase(0, "skip msg");
+}
void TestEtUnit_runSuite(void){
etUnit_openTestSuite("org.eclipse.etrice.runtime.c.tests.TestEtUnit");
// test parallel first due test case number restriction
TestEtUnit_Parallel_TestCase();
TestEtUnit_Singleton_TestCase();
+ TestEtUnit_Skip_TestCase();
ADD_TESTCASE(TestEtUnit_Expect_Order);
ADD_TESTCASE(TestEtUnit_Expect);
etUnit_closeTestSuite();

Back to the top