escet merge requestshttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests2024-02-20T10:00:34Zhttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/811#716 Updated release notes for v3.0-M1.2024-02-20T10:00:34ZDennis Hendriks#716 Updated release notes for v3.0-M1.Addresses #716Addresses #716v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/810#437 Various bugfixes for website version switching2024-02-19T20:56:58ZDennis Hendriks#437 Various bugfixes for website version switching* Best to review per commit.
* Changes:
* Fix `getVersions` function in `eclipse-escet.js`:
* No more empty items, solving crash on sorting.
* Prevent empty item in list on versions page.
* Fix JS import on Chi, CIF and ToolD...* Best to review per commit.
* Changes:
* Fix `getVersions` function in `eclipse-escet.js`:
* No more empty items, solving crash on sorting.
* Prevent empty item in list on versions page.
* Fix JS import on Chi, CIF and ToolDef pages, for version selection.
* Include `nightly` as preview version, also on `nightly` website.
* Fix regression in styling of Chi, CIF and ToolDef websites:
* Accidentally copied over too much when introducing version selection.
* Also made it consistent now on the about pages.
Addresses #437v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/809#437 Website deployment: fix updating the '.versions' file.2024-02-16T07:52:31ZDennis Hendriks#437 Website deployment: fix updating the '.versions' file.Addresses #437Addresses #437v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/808#757 Test models produced by CIF tools in integration tests for being valid (...2024-02-15T10:46:57ZDennis Hendriks#757 Test models produced by CIF tools in integration tests for being valid (2nd part)* Best to review per commit.
* This is the 2nd round. More to follow later, see #757.
Addresses #757* Best to review per commit.
* This is the 2nd round. More to follow later, see #757.
Addresses #757v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/807#437 Allow easy switching between website versions2024-02-15T10:49:06ZDennis Hendriks#437 Allow easy switching between website versions* Best to review per commit.
* Changes:
* Adds version switcher to the top-right of the 12 fixed website pages. Separated the version number and release notes links to make this possible. Only some versions are shown in the dropdown me...* Best to review per commit.
* Changes:
* Adds version switcher to the top-right of the 12 fixed website pages. Separated the version number and release notes links to make this possible. Only some versions are shown in the dropdown menu, to prevent a very long list.
* The list of versions is obtained through JavaScript, from a `.versions` file on the website. This file does not exist yet. It will be added once this merge request is approved, and before it is merged. After that, the file will be automatically updated when a new website version is added or removed.
* Improved styling of dropdown menus, also for existing ones.
* Added a `versions.html` fixed website page that lists all website versions.
* Added link from `download.html` to `versions.html`.
* Testing this is somewhat difficult. I'll explain that in a separate comment, with examples of what it looks like now.
Addresses #437v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/806#679 PLCgen: Avoid getting double underscore characters in generated names.2024-02-16T06:40:33ZAlbert Hofkamp#679 PLCgen: Avoid getting double underscore characters in generated names.Rewrote sanitizing names in the name generator, as doing things one character at a time is difficult to understand.
Name generator kept the same kind of generated names, except that `_[0-9]` now cannot happen while sanitizing a name, wh...Rewrote sanitizing names in the name generator, as doing things one character at a time is difficult to understand.
Name generator kept the same kind of generated names, except that `_[0-9]` now cannot happen while sanitizing a name, which means the `_[0-9]+` suffix for making names unique still works.
Cleaned up the keyword list, and extended it with functions and function blocks. Reading that by individual commits is recommended.
Addresses #679v3.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/805#679 PLCgen: Introduce edge selection variables by automaton in event transit...2024-02-19T06:07:32ZAlbert Hofkamp#679 PLCgen: Introduce edge selection variables by automaton in event transition codeIn transition code, the selected edge is remembered between edge selection and taking the edge.
Currently, each event creates new variables to remember the selected edge. Besides using many variables, mapping selected edges back to an a...In transition code, the selected edge is remembered between edge selection and taking the edge.
Currently, each event creates new variables to remember the selected edge. Besides using many variables, mapping selected edges back to an automaton can be complicated.
This patch creates one edge variable for each automaton that need to have the edge remembered, and uses that variable for all events.
This reduces the number of created variables, and keeps a 1-1 mapping between edge variable and the associated automaton, simplifying mapping selected edges back to an automaton.
Addresses #679v3.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/804#757 Test models produced by CIF to CIF integration tests are checked for bei...2024-02-13T15:12:47ZDennis Hendriks#757 Test models produced by CIF to CIF integration tests are checked for being valid* Best to review per commit.
* I started with only CIF to CIF tests. If we agree this is good, I'll do the other ones as well, in the same way.
* Changes are inspired by CIF data-based synthesis tests, which already are multi-step tests....* Best to review per commit.
* I started with only CIF to CIF tests. If we agree this is good, I'll do the other ones as well, in the same way.
* Changes are inspired by CIF data-based synthesis tests, which already are multi-step tests.
Addresses #757v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/803#759 Improve clean_build_output.py script.2024-02-13T17:07:56ZDennis Hendriks#759 Improve clean_build_output.py script.- Improved detection of workspace name (in case of long branch names).
- Handle also 'nightly' versions.
- Hide differences in version postfixes.
- Handle modules being built in a different order.
- Handle non-sorted 'copy' plugin output...- Improved detection of workspace name (in case of long branch names).
- Handle also 'nightly' versions.
- Hide differences in version postfixes.
- Handle modules being built in a different order.
- Handle non-sorted 'copy' plugin output lines.
Closes #759v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/802#364 Add 'mri_event' and 'mri_state' CIF benchmarks.2024-02-14T11:48:46ZDennis Hendriks#364 Add 'mri_event' and 'mri_state' CIF benchmarks.* I used two separate commits.
Addresses #364* I used two separate commits.
Addresses #364v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/801#772 #773 CIF examples: fix indentation and execution of 'button_lamp_timer_g...2024-02-09T13:09:39ZDennis Hendriks#772 #773 CIF examples: fix indentation and execution of 'button_lamp_timer_genplc.tooldef'* I used two commits, one for #772 and one for #773:
* #772 CIF examples: fix button_lamp_timer_genplc.tooldef.
* #773 CIF examples: fix indentation in button_lamp_timer_genplc.tooldef.
* Also added commas after last arguments.
...* I used two commits, one for #772 and one for #773:
* #772 CIF examples: fix button_lamp_timer_genplc.tooldef.
* #773 CIF examples: fix indentation in button_lamp_timer_genplc.tooldef.
* Also added commas after last arguments.
* Make it easier to adapt the script if extra options are needed.
Closes #772, #773v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/800#765 Upgrade to eclipse dash version 1.1.1.2024-02-09T10:52:58ZFerdie Reijnen#765 Upgrade to eclipse dash version 1.1.1.Addresses #760
Closes #765Addresses #760
Closes #765v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/799#768 CIF pretty printer produces comment if specification is empty.2024-02-07T11:02:54ZDennis Hendriks#768 CIF pretty printer produces comment if specification is empty.Closes #768Closes #768v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/798#681 PLCgen: Improve prechecking error reports.2024-03-11T10:25:57ZAlbert Hofkamp#681 PLCgen: Improve prechecking error reports.This patch has more precise error messages if possible, rather than the very generic "you didn't do one of the following 4 things".
Also, it's better at indicating the point of the error (at the operator rather than the non-continuous si...This patch has more precise error messages if possible, rather than the very generic "you didn't do one of the following 4 things".
Also, it's better at indicating the point of the error (at the operator rather than the non-continuous side of the binary expression).
Other changes:
- Only one 'tau' event violation.
- Have both `cont OP value` and `value OP cont` comparisons, since now the error message is matching the code pattern.
It looks much less confusing to me now.
Closes #681v3.0Albert HofkampAlbert Hofkamphttps://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/796#767 Product cell benchmark model comment fix: it has a 'feed belt'.2024-02-05T18:41:44ZDennis Hendriks#767 Product cell benchmark model comment fix: it has a 'feed belt'.Closes #767Closes #767v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/795#764 Adhere to new requirements for developer info.2024-02-05T18:42:02ZDennis Hendriks#764 Adhere to new requirements for developer info.* Best to review per commit.
* Changes:
* Account for multiple source code repositories.
* Update way of working: just create issue, no dev-list needed.
* Adhere to new requirements:
* Indicate how to build the repo already in ...* Best to review per commit.
* Changes:
* Account for multiple source code repositories.
* Update way of working: just create issue, no dev-list needed.
* Adhere to new requirements:
* Indicate how to build the repo already in the CONTRIBUTING file.
* Indicate branches to use already in the CONTRIBUTING file.
* Link from NOTICE file to CONTRIBUTING file.
* Add mandatory files to the website repo, through the deployment of the website. This makes it easier to keep the updated. And it keeps the website repo a deployment-only repo.
Fixes #764v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/794#38 Website: generated JS file now has a license header2024-02-06T19:16:11ZDennis Hendriks#38 Website: generated JS file now has a license header* Best to review per commit.
* Also switched to a resource file for the JS file content, rather than a multiline Java string.
Addresses #38* Best to review per commit.
* Also switched to a resource file for the JS file content, rather than a multiline Java string.
Addresses #38v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/793#766 CIF website: made the 'learn more' statement complete.2024-02-05T18:41:40ZDennis Hendriks#766 CIF website: made the 'learn more' statement complete.Closes #766Closes #766v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/792#424 Migrate CIF code generator precondition checks to the CIF checker framework2024-02-05T18:45:04ZDennis Hendriks#424 Migrate CIF code generator precondition checks to the CIF checker framework* Best to review per commit. There are quite a few commits, as I tried to take very small steps, one check at a time.
* Changes to existing common CIF checks:
* `FuncNoSpecificStdLibCheck` re-implemented, to be more like the unary/bina...* Best to review per commit. There are quite a few commits, as I tried to take very small steps, one check at a time.
* Changes to existing common CIF checks:
* `FuncNoSpecificStdLibCheck` re-implemented, to be more like the unary/binary/expression checks, and to disallow standard library functions on specific arguments.
* `FuncNoSpecificStdLibCheck` extended with disallows for standard library functions on specific arguments.
* New CIF checks:
* `LocOnlyStaticEvalInitPredsCheck`. Turns out I didn't need it, but seems useful to have anyway. Is similar to `LocOnlyStaticEvalMarkerPredsCheck`.
* `PrintNoSpecificPrintDeclsCheck`.
* `VarInputOnlySimulinkCompatibleTypesCheck` (CIF code generator Simulink-specific check).
* Other changes:
* Some refactoring for functionality related to Simulink types. Also some small renaming, JavaDoc improvements, etc.
* A single precondition checker for all languages, with one Simulink-specific check that is target-language specific.
* Warnings are now checking the Simulink code generator, rather than in the Simulink precondition checker. This fixes a bug where warnings were shown for function arguments and local variables of functions, that should only be reported for discrete variables.
* Added tests for Simulink-specific preconditions and warnings.
* Some fixes for typos and other small issues in the Simulink code generation documentation.
* The CIF code generation documentation now states that targets may indicate additional preconditions. The Simulink code generation documentation already did so, but this was not explicitly stated with the list of general restrictions.
* Notes:
* Can't use constructor arguments for the checks as one of them is now conditionally added, so made a static method that returns the checks.
Addresses #424v3.0https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/791#760 Build will have plugin validation issues with Maven 3.9.2+.2024-02-08T19:47:51ZFerdie Reijnen#760 Build will have plugin validation issues with Maven 3.9.2+.Addresses #760
The remaining warnings, using Maven 3.9.6:
```
[WARNING]
[WARNING] Plugin [INTERNAL, EXTERNAL] validation issues were detected in following plugin(s)
[WARNING]
[WARNING] * org.apache.maven.plugins:maven-checkstyle-pl...Addresses #760
The remaining warnings, using Maven 3.9.6:
```
[WARNING]
[WARNING] Plugin [INTERNAL, EXTERNAL] validation issues were detected in following plugin(s)
[WARNING]
[WARNING] * org.apache.maven.plugins:maven-checkstyle-plugin:3.3.1
[WARNING] Plugin EXTERNAL issue(s):
[WARNING] * Plugin depends on plexus-container-default, which is EOL
[WARNING]
[WARNING] * org.apache.maven.plugins:maven-site-plugin:3.12.1
[WARNING] Plugin EXTERNAL issue(s):
[WARNING] * Plugin depends on the deprecated Maven 2.x compatibility layer, which will be not supported in Maven 4.x
[WARNING]
[WARNING] * ch.mfrey.maven.plugin:copy-maven-plugin:1.0.0
[WARNING] Plugin EXTERNAL issue(s):
[WARNING] * Plugin is a Maven 2.x plugin, which will be not supported in Maven 4.x
[WARNING] * Plugin mixes multiple Maven versions: [3.2.1, 2.2.1]
[WARNING]
[WARNING] * org.eclipse.tycho:tycho-surefire-plugin:4.0.5
[WARNING] Declared at location(s):
[WARNING] * org.eclipse.escet:org.eclipse.escet.releng.configuration:3.0.0-SNAPSHOT (releng\org.eclipse.escet.releng.configuration\pom.xml) @ line 400
[WARNING] Mojo EXTERNAL issue(s):
[WARNING] * Mojo tycho-surefire:plugin-test (org.eclipse.tycho.surefire.TychoIntegrationTestMojo)
[WARNING] - Parameter 'localRepository' uses deprecated parameter expression '${localRepository}': ArtifactRepository type is deprecated and its use in Mojos should be avoided.
[WARNING]
[WARNING] * com.google.code.maven-replacer-plugin:replacer:1.5.3
[WARNING] Plugin EXTERNAL issue(s):
[WARNING] * Plugin should declare Maven artifacts in `provided` scope. If the plugin already declares them in `provided` scope, update the maven-plugin-plugin to latest version. Artifacts found with wrong scope: [org.apache.maven:maven-plugin-api:3.0.3]
[WARNING]
[WARNING]
[WARNING] Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [NONE, INLINE, SUMMARY, BRIEF, VERBOSE]
[WARNING]
```
Left:
- maven-checkstyle-plugin, we use the latest version: https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-checkstyle-plugin
- maven-site-plugin. Don't know where we use/import it and how its version is determined.
- copy-maven-plugin, seems to be the latest version: https://mvnrepository.com/artifact/ch.mfrey.maven.plugin/copy-maven-plugin
- tycho-surefire-plugin, this was fixed, we discussed it before here: https://gitlab.eclipse.org/eclipse/escet/escet/-/merge_requests/606#note_1158465, but now it is back again.
- replacer can't find a new version 1.5.3 released on April 16th, 2014: https://code.google.com/archive/p/maven-replacer-plugin/v3.0