Skip to content

Commit

Permalink
[all] Update the guideline for SARL developers.
Browse files Browse the repository at this point in the history
Signed-off-by: Stéphane Galland <galland@arakhne.org>
  • Loading branch information
gallandarakhneorg committed May 20, 2019
1 parent 6f9d523 commit 9dc4e3b
Show file tree
Hide file tree
Showing 5 changed files with 363 additions and 119 deletions.
35 changes: 30 additions & 5 deletions dev-tools/README.adoc
Expand Up @@ -5,13 +5,38 @@

toc::[]

== 1) Install the working sets
== 1. Eclipse IDE

* You must import the SARL projects into your workspace. All the projects should be in the "Other" working set.
* The working set definition of the worknig set is in the file `eclipse_workingsets.xml`.
* Copy the file `eclipse_workingsets.xml` into `${workspace_loc}/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml`.
All the configuration files related to the Eclipse IDE are stored into the "eclipse" folder of this module.

=== 1.1. Install the Eclipse preferences

The SARL developers use a specific set of preferences into the Eclipse IDE in order to have the same level of quality of the implementation.
You could import into your own Eclipse IDE the preferences that are considered as standard by the SARL developers.

The preferences' definition is in the file `201903_preferences.epf`, where `201903` denotes the supported version of the Eclipse IDE.

For importing the preferences, follow the points below:
* Open your Eclipse DSL environment
* Open the menu `File > Import...`
* Open the folder `General`, select `Preferences`, and click on `Next`.
* Browse to the preference file that is mentionned above, and click on `Finish`.

CAUTION: The provided preferences cover all the modules of the Eclipse IDE, including code style formating, import order, warnings' levels, etc. If you are interested only by the order of the imports, please import the file `eclipse.importorder`.


=== 1.2. Install the working sets

By default, when you import the SARL project's modules into your workspace, all the projects are located into the "Other" working set into the "Package Explorer".
This is not a convinient view of the SARL project's modules. In order to solve this issue, you could use the working set defining that will dispatch the
SARL project's modules into different working sets.

The predefined working set definition is in the file `workingsets.xml`.

Copy the file `workingsets.xml` into `${workspace_loc}/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml`, where `${workspace_loc}` is the path to
the workspace in which you have imported the SARL project.

CAUTION: Copy the working set definition must be done without a running Eclipse.

CAUTION: The exisiting definition of the working sets will be replaced by the content of the copied file.
CAUTION: The existing definition of the working sets will be replaced by the content of the copied file.

261 changes: 261 additions & 0 deletions dev-tools/eclipse/201903_preferences.epf

Large diffs are not rendered by default.

File renamed without changes.
Expand Up @@ -20,8 +20,6 @@
<item elementID="=io.sarl.tests.testdata" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.core.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.tests.api" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.lang.ui.tests" type="4"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.tests.api.ui" type="4"/>
<item elementID="=io.sarl.util.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.core.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.tests" type="4"/>
Expand All @@ -47,36 +45,106 @@
<item elementID="=sarl-maven-plugin" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.maven.external" type="4"/>
<item elementID="=io.sarl.maven.baselib" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.maven.bootiqueapp" type="4"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1480017536048_7" label="Contributions" name="Contributions">
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.pythongenerator" type="4"/>
<item elementID="=io.sarl.pythongenerator.plugin" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.examples.feature" type="4"/>
<item elementID="=io.sarl.experienceindex.plugin" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.pythongenerator.feature" type="4"/>
<item elementID="=io.sarl.pythongenerator.generator" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.examples" type="4"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.experienceindex" type="4"/>
<item elementID="=io.sarl.pythongenerator.ui" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.examples.plugin" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.experienceindex.feature" type="4"/>
<item elementID="=io.sarl.examples.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.products.contribs" type="4"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1480017551937_8" label="Product Engineering" name="Product Engineering">
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.sarldoc" type="4"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.lang.targetplatform" type="4"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.lang.updatesite" type="4"/>
<item elementID="=io.sarl.lang.sarlc" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.products" type="4"/>
<item elementID="=io.sarl.sarlsh" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1480017558193_9" label="Documentation" name="Documentation">
<item elementID="=io.sarl.docs.doclet" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.docs" type="4"/>
<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/io.sarl.docs.markdown" type="4"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1520763203126_12" label="API Plugins" name="API Plugins">
<item elementID="=io.sarl.core" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.javafx" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.core" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.util" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1540978128484_12" label="Java Main Sources" name="Java Main Sources">
<item elementID="=build-tools/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.janusproject.eclipse/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.janusproject.plugin/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.core/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.core/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.doclet/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.doclet/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.markdown/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.markdown/src\/main\/documentation" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.markdown/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.eclipse/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.examples.plugin/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.experienceindex.plugin/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.experienceindex.plugin/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.javafx/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.javafx/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.core/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.core/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.mwe2/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.sarlc/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.sarlc/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.tests/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.ui/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.ui/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.m2e/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.bootiqueapp/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.bootiqueapp/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.generator/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.generator/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.testing/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.testing/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.sre/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.sre/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.pythongenerator.generator/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.pythongenerator.ui/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.tests.api/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.tests.api/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.util/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.util/src-gen" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=sarl-maven-plugin/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=sarl-maven-plugin/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.sarlsh/src\/main\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.sarlsh/src\/main\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
</workingSet>
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1540978128500_13" label="Java Test Sources" name="Java Test Sources">
<item elementID="=io.janusproject.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.janusproject.tests/src\/test\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.core.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.doclet/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.markdown/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.docs.markdown/target\/generated-documentation-sources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.examples.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.core.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.core.tests/src\/test\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.lang.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.generator.tests/src\/test\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.docs.generator.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.maven.sre/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.tests.testdata/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=io.sarl.util.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=sarl-maven-plugin.tests/src\/test\/java" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=sarl-maven-plugin.tests/src\/test\/resources" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
</workingSet>
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1480001462136_0" label="Window Working Set" name="Aggregate for window 1480001462135"/>
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1480017876201_10" label="Multiple Working Sets" name="Aggregate:Contributions:Documentation:Features:Maven:Plugins:Product Engineering:SRE:Tests:">
<workingSet IMemento.internal.id="Contributions"/>
Expand Down

0 comments on commit 9dc4e3b

Please sign in to comment.