ST6RI-916 org.omg.sysml.model module#750
Open
AxelRICHARD wants to merge 5 commits intomasterfrom
Open
Conversation
- new org.omg.sysml.model plain java module (not an Eclipse plug-in) - the generated Java model code - org.omg.sysml.model/src/main/resources/model/SysML.ecore - org.omg.sysml.model/src/main/resources/model/SysML.genmodel - new org.omg.sysml.model.bundle module (Eclipse plug-in) - bridge that plain Java model into the Eclipse/OSGi world - wrap the plain org.omg.sysml.model jar and the model resources as an Eclipse bundle so PDE/Tycho plug-ins can access exported packages like org.omg.sysml.lang.sysml and resolve EMF generated-package registration through Eclipse - org.omg.sysml.model.gencode - order alphabetically ecore EClasses and eStructuralFeatures - removal of unwanted UML runtime dependencies from generated sources - updated build - Also updated SysML_.genmodel for use with Xtext (without change to Xtext builds). - And deleted types.ecore. - copy org.eclipse.uml2.common into org.omg.sysml.model. It is allowed to do that as both modules are under EPL-2.0 license. Update org.omg.sysml.uml.ecore.importer to handle that change. Signed-off-by: Axel RICHARD <axel.richard@obeo.fr>
Signed-off-by: Axel RICHARD <axel.richard@obeo.fr>
Signed-off-by: Axel RICHARD <axel.richard@obeo.fr>
Prior to this change, opening a model file in the Xtext IDE caused an error (unable to load EObject).
Member
|
As originally proposed, this refactoring worked in Jupyter and the Xpect tests, but model files failed to open in the Xtext IDE, ultimately due to the inability to load the EObject class. I have now pushed a commit that resolves this problem by adding dependencies on the |
Author
|
@seidewitz great thank you! |
Member
|
This PR radically changed the project structure and dependencies.
I could make it work in my environment by fixing the issues. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This change decouples the generated SysML EMF metamodel from the
org.omg.sysmlEclipse plug-in.The generated model is now produced and published as a plain Java/Maven artifact, while Eclipse/Tycho consumers continue to access it through a dedicated OSGi wrapper bundle. This makes the model easier to reuse outside Eclipse, clarifies module ownership, and removes some unnecessary runtime dependencies from the generated code.
What Changed
org.omg.sysml.modelas a new plain Java module containing:SysML.ecoreSysML.genmodelorg.omg.sysml.model.bundleas a new Eclipse plug-in that:org.omg.sysml.modelJARorg.omg.sysml/syntax-gen;org.omg.sysmlno longer owns compilation of the generated EMF model.org.omg.sysml.model.bundle, including:org.omg.sysmlorg.omg.sysml.editorg.omg.sysml.executionorg.omg.sysml.xtextorg.omg.kerml.xtextorg.omg.sysml.model.bundleto the Eclipse feature so it is shipped with the existing tooling.Model Generation Changes
org.omg.sysml.model/org.omg.sysml.model/src/main/javahttps://www.omg.org/spec/SysML/20230201https://www.omg.org/spec/SysML/20250201EClassifiersEStructuralFeaturesEOperationsThis reduces noisy regeneration diffs and stabilizes generated artifacts.
Primitive Type Simplification
This simplifies the metamodel structure and removes an extra generated dependency layer.
Runtime Dependency Cleanup
The generated model previously depended on UML2 helper-list implementations from org.eclipse.uml2.common.
This commit copies the required helper classes into the SysML model module and updates generation so the generated implementation classes import the local versions instead:
The org.omg.sysml.uml.ecore.importer has been updated to rewrite those imports automatically after generation.
Impact