Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

executionframework.engine.commons.DslHelper should not refer to sequential engine #132

Closed
dvojtise opened this issue Nov 7, 2019 · 2 comments · Fixed by #133
Closed

Comments

@dvojtise
Copy link
Contributor

dvojtise commented Nov 7, 2019

the class https://github.com/eclipse/gemoc-studio-modeldebugging/blob/master/framework/execution_framework/plugins/org.eclipse.gemoc.executionframework.engine/src/org/eclipse/gemoc/executionframework/engine/commons/DslHelper.java explicitly refers to the org.eclipse.gemoc.gemoc_language_workbench.sequential.xdsml extension point which is specific to sequential engine (and more precisely to the java engine as it is defined there)

As this class is part of common, it should not refer to any specific engine. (it is used for example in several launchers)

proposition:
use a specific generic extension point in order to reference dsl files in the system (related to eclipse-gemoc/gemoc-studio#90 and eclipse-gemoc/gemoc-studio#58 ) is would be associated to a base builder+nature (or engines may just extend this base builder)

@dvojtise
Copy link
Contributor Author

(see also discussion in eclipse-gemoc/gemoc-studio-execution-moccml#20)

Currently, the strategy to get the list of dsl files was to duplicate extension points so each engine would be able to refine it and add new features. However this leads to difficulties to retrieve all these dsl since they are scattered into multiple extension points
Additionally, these EP have to duplicate java code (in some case the behavior is inherited)

I suggest introducing a generic extension point at the framework level which contains all the general informations required by all engines. then if a given engine requires additional information it can declare its own extension point for the engine specific information (for example in the case of the moccml engine)

@dvojtise dvojtise self-assigned this Nov 15, 2019
@dvojtise
Copy link
Contributor Author

this is quite a high priority since this is a prerequisite to other refactorings

dvojtise added a commit that referenced this issue Nov 15, 2019
contributes to
#132

Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
dvojtise added a commit that referenced this issue Nov 22, 2019
* re-enable o.e.g.gemoc_language_workbench.xdsml extension point
* use general language extension point instead of sequential
contributes to #132
* replace use of sequential extension point by the general one
* remove org.eclipse.gemoc.execution.sequential.javaxdsml.api
     this plugin is now useless since all its content is covered by the general  org.eclipse.geomc.xdsmlframework.api
* rename getLanguageDefinition into getLanguageDefinitionExtension
* improved plugin.xml manipulation helper (+ documentation)
* move split sequential nature and builder to xdsmlframework.ide.ui
  - split the nature and the builder that was in sequential.javaxdsml.ide.ui
and create a more generic nature and builder in xdsmlframework.ide.ui
  - simplified method for configure/deconfigure/toggle nature : it now uses a single place to do the configuration
  - configure of sequential nature also enforces the general nature
* group configure action related to gemoc language projects
* move some generic popup action to xdsmlframework.ide.ui
  the following popup actions on project is now moved from sequential.javaxdsml.ide.ui to xdsmlframework.ide.ui:
* add the "Generate Multidimensional Trace Addon" on any GEMOC project
  - make sure to add the popup action on the generic nature
* move K3 DSA project creation classes to a dedicated commons plugin
  - These classes from sequential engine can now be reused by other engines such as the moccml engine
  - As this introduce dependency to k3, this plugin is in a dedicated k3 feature and not in the general common
* framework commons is now pomless
* ignore .polyglot.build.properties
* rename wizard GEMOC Sequential xDSML Project to GEMOC Java xDSML Project

Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
dvojtise added a commit to eclipse-gemoc/gemoc-studio-execution-java that referenced this issue Jan 14, 2020
…-gemoc/gemoc-studio-modeldebugging#133)

* re-enable o.e.g.gemoc_language_workbench.xdsml extension point
* use general language extension point instead of sequential
contributes to eclipse-gemoc/gemoc-studio-modeldebugging#132
* replace use of sequential extension point by the general one
* remove org.eclipse.gemoc.execution.sequential.javaxdsml.api
     this plugin is now useless since all its content is covered by the general  org.eclipse.geomc.xdsmlframework.api
* rename getLanguageDefinition into getLanguageDefinitionExtension
* improved plugin.xml manipulation helper (+ documentation)
* move split sequential nature and builder to xdsmlframework.ide.ui
  - split the nature and the builder that was in sequential.javaxdsml.ide.ui
and create a more generic nature and builder in xdsmlframework.ide.ui
  - simplified method for configure/deconfigure/toggle nature : it now uses a single place to do the configuration
  - configure of sequential nature also enforces the general nature
* group configure action related to gemoc language projects
* move some generic popup action to xdsmlframework.ide.ui
  the following popup actions on project is now moved from sequential.javaxdsml.ide.ui to xdsmlframework.ide.ui:
* add the "Generate Multidimensional Trace Addon" on any GEMOC project
  - make sure to add the popup action on the generic nature
* move K3 DSA project creation classes to a dedicated commons plugin
  - These classes from sequential engine can now be reused by other engines such as the moccml engine
  - As this introduce dependency to k3, this plugin is in a dedicated k3 feature and not in the general common
* framework commons is now pomless
* ignore .polyglot.build.properties
* rename wizard GEMOC Sequential xDSML Project to GEMOC Java xDSML Project

Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant