Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ETrice/Development/GettingStartedWithEtrice"

(Oomph eTrice Setup)
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Prepare Eclipse and build eTrice =
+
= Oomph eTrice Setup =
# get the sources ([[ETrice/Development/Repository |see how]])
+
# download the latest release of Eclipse Modeling Tools (cf. http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/junosr2)
+
# start eclipse
+
# Install additional Plugins (if not already installed)
+
## Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
+
## select
+
### Graphiti 0.9.2
+
## Help -> Install New Software ->  Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
+
## select
+
### XText 2.4.0
+
### Xtend 2.4.0
+
## you might also need to get org.apache.commons.io (2.0.1) from [http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ Orbit] (the link is a p2 update site)
+
# import all projects from your local GIT clone to your Workspace (with EGit plugin)
+
## Git Repositories View
+
## Add Repository (local GIT clone)
+
## Context Menu of Working Directory -> Import Projects
+
## Import all Projects
+
# make sure you are using a JDK (in Eclipse: Window->Preferences->Java->Installed JREs->e.g. jdk1.6.0_24), <b>attention</b>: do not use jdk1.6.0_18 or jdk1.6.0_22!
+
  
= Getting Started with eTrice =
+
Prerequisites: Java 17 (for developers preferably a JDK).
== Setting up Runtime Workspace ==
+
* start the runtime workspace: org.eclipse.etrice.core.room.ui -> eTrice-rt.launch (contextmenu -> Run As)
+
* check out the runtime projects from your local GIT clone
+
** org.eclipse.etrice.tutorials
+
** org.eclipse.etrice.modellib
+
** org.eclipse.etrice.runtime.java
+
  
== Editing the Model ==
+
1. Download and run [https://wiki.eclipse.org/Eclipse_Installer Oomph installer] in ''Advanced Mode''
* the first model you find in org.eclipse.etrice.doc.tutorials/model/scratch/PingPong.room (doubleclick for editor)
+
[[File:eTrice_oomph_advancedMode.png|thumbnail|upright|center]]
* if the room editor has the focus, you can see all your model elements in the outline view
+
* with a right click on an actor (e.g. MrPingActor) you can
+
** Edit Structure
+
** Edit Behavior
+
* Important: You have to save every "dirty" editor before opening another editor
+
  
== Code Generator ==
 
* org.eclipse.etrice.doc.tutorials -> genAllTutorials.mwe2.launch -> (contextmenu)Run As -> genAllModels.mwe2
 
* you will find the generated code in org.eclipse.etrice.doc.tutorials/src-gen
 
* you can see the generated instance tree of your actor  org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPong.jpg
 
** Precondition: install the current version of graphviz and add the path to dot.exe to you system or user PATH variable
 
  
== Run ==
+
2. Select desired Eclipse product + version, e.g. product ''Eclipse IDE for Eclipse Committer'' and version from build config in git: [http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/releng/org.eclipse.etrice.parent/pom.xml Tycho/Maven pom.xml]
* start generated application: org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPongRunner.java -> Run As -> Java Application
+
* in the View Console you can see the debugging output of the running model
+
* enter "quit" and <enter> in the Console to stop the running application (you should see ***  T H E  E N D  *** )
+
  
== Debug ==
+
3. Optional for commiters: set your git ssh key
* in org.eclipse.etrice.doc.tutorials/tmp/log you will find the generated Message Sequence Chart of your application: SubSystem_PingPong_Async.seq (MSC)
+
[[File:eTrice_oomph_etrice_ssh.png|thumbnail|upright|center]]
** You can view the MSC with the Open Source tool Trace2UML:
+
*** Project home: http://trace2uml.tigris.org/
+
*** Download for Windows: http://trace2uml.tigris.org/files/documents/2995/47472/Trace2UML-setup-1.1.0.exe
+
*** Download for Linux: http://apt.astade.de
+
* you can debug the generated code like any other Java Project. The main function is located in SubSystem_PingPongRunner.java
+
* be aware that all actors communication via message queue, so the regular sourcecode debugging is sometimes not sufficient
+
  
= Deriving from an Existing Generator =
 
  
There is a minimal example that shows how a generator can be derived from the existing eTrice Java generator.
+
4. Download the eTrice setup file [http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/team/ETrice.setup ETrice.setup] and add & select it in the oomph catalog
The example shows how the derived DetailCodeTranslator handles an additional tag.
+
[[File:eTrice_oomph_eTriceSetup.png|thumbnail|upright|center]]
  
The example consist of two plugins:
 
* examples/my.etrice.generator
 
* examples/my.etrice.generator.launch
 
You will find the examples in the eTrice GIT repository: http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/examples
 
  
The first one overrides the Java generator, the second one overrides the Java launch configuration to launch the derived generator.
+
6. Configure your personal installation
Please have a look at the comments marked with ''EXAMPLE:'' (you can add that as a Java task tag in the preferences and use the Tasks View to locate these comments).
+
[[File:eTrice_oomph_etriceConfig.png|thumbnail|upright|center]]
 +
 
 +
 
 +
TODO: add eTrice to official Eclipse catalog
 +
 
 +
= Local Build and Tests =
 +
 
 +
Once you performed the above steps and have checked 'Build Automatically' Eclipse PDE will do the build for you and you will be able to launch a runtime workbench containing the eTrice plug-ins.
 +
 
 +
Junit based tests can be launched directly from Eclipse as usual.
 +
 
 +
However, there are also end-to-end tests for the generators which have to be executed using Gradle. In order to do so you can e.g. execute Gradle from a command shell. On windows it is recommended to substitute the root directory of the eTrice sources with a drive letter (<code>subst X: C:/path/to/etrice/sources</code>).
 +
 
 +
Then execute
 +
 
 +
<code>
 +
gradle --rerun-tasks clean build
 +
</code>
 +
 
 +
To execute a single test, e.g. for runtime.c, excute
 +
 
 +
<code>
 +
gradlew.bat tests:org.eclipse.etrice.runtime.c.tests:build
 +
</code>
 +
 
 +
This will compile, link and execute the tests and finally convert the etu result into an xUnit xml file.
 +
 
 +
= Linux =
 +
 
 +
After cloning in Linux you will need to make gradlew executable
 +
 
 +
<code>
 +
chmod u+x gradlew
 +
</code>
 +
 
 +
and convert the line endings from DOS to Unix style
 +
 
 +
<code>
 +
sed -i.bak 's/\r$//' gradlew
 +
</code>
 +
 
 +
[[Category:eTrice]]

Latest revision as of 09:01, 24 August 2023

Oomph eTrice Setup

Prerequisites: Java 17 (for developers preferably a JDK).

1. Download and run Oomph installer in Advanced Mode

ETrice oomph advancedMode.png


2. Select desired Eclipse product + version, e.g. product Eclipse IDE for Eclipse Committer and version from build config in git: Tycho/Maven pom.xml

3. Optional for commiters: set your git ssh key

ETrice oomph etrice ssh.png


4. Download the eTrice setup file ETrice.setup and add & select it in the oomph catalog

ETrice oomph eTriceSetup.png


6. Configure your personal installation

ETrice oomph etriceConfig.png


TODO: add eTrice to official Eclipse catalog

Local Build and Tests

Once you performed the above steps and have checked 'Build Automatically' Eclipse PDE will do the build for you and you will be able to launch a runtime workbench containing the eTrice plug-ins.

Junit based tests can be launched directly from Eclipse as usual.

However, there are also end-to-end tests for the generators which have to be executed using Gradle. In order to do so you can e.g. execute Gradle from a command shell. On windows it is recommended to substitute the root directory of the eTrice sources with a drive letter (subst X: C:/path/to/etrice/sources).

Then execute

gradle --rerun-tasks clean build

To execute a single test, e.g. for runtime.c, excute

gradlew.bat tests:org.eclipse.etrice.runtime.c.tests:build

This will compile, link and execute the tests and finally convert the etu result into an xUnit xml file.

Linux

After cloning in Linux you will need to make gradlew executable

chmod u+x gradlew

and convert the line endings from DOS to Unix style

sed -i.bak 's/\r$//' gradlew

Back to the top