Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki')
-rw-r--r--plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki151
1 files changed, 112 insertions, 39 deletions
diff --git a/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
index cc07757b4b8..aaaaf3b58a9 100644
--- a/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
+++ b/plugins/doc/org.eclipse.papyrus.toolsmiths.validation.doc/src/site/mediawiki/validationToolsmithsDevDoc.mediawiki
@@ -4,39 +4,18 @@ Papyrus provides for validation of tooling models for DSML and other customizati
* Validation of a UML '''profiles''', both static (generated) and dynamic
* Validation of '''element types configurations'''
* Validation of '''architecture domain''' models
+* Validation of '''element creation menu''' models
-Validation is provided on-demand via the '''Papyrus Developer''' context menu and optionally also as a project builder.
+Validation is provided as a project builder that is optionally enabled by the user.
==Papyrus Plug-in Builder==
To enable automatic validation of tooling models in your customization plug-ins, configure the '''Papyrus Plug-in''' nature on
-your customization plug-in projects. In the context menu for your project, select the '''Configure → COnvert to Papyrus Plugin''' action:
+your customization plug-in projects. In the context menu for your project, select the '''Configure → Convert to Papyrus Plugin''' action:
[[File:images/devDoc/Papyrus_ConfigurePluginNature.png|frame|none|Configure the Papyrus Plug-in project nature]]
What is checked by the builder depends on settings in the '''Preferences'''. By default, the '''Papyrus Plug-in Builder''' performs no validation.
-To configure it, open the '''
-
-==Profile Plug-in Validation==
-
-All checks described in this section apply equally to on-demand validation via the context menu and
-automatic validation by the '''Papyrus Plug-in Builder'''.
-
-===What is checked?===
-To validate a profile plug-in, we have some points to check. Here are the checked points:
-* For each profile found in the plug-in:
-** Validation of the profile definition into the 'plugin.xml' file: '''ERROR''' (for 'generated_package' extension) and '''WARNING''' (for 'UMLProfile' extension)
-** Validate that the profile has no definition because it's not working with static profile: '''ERROR'''
-** Validation of the dependencies needed in the 'MANIFEST.MF' file for the external dependencies of the profile file: '''WARNING''' (because maybe the dependency is not really needed (implicit dependence?))
-** Validation of the 'build.properties' file (it must contain the profile file): '''ERROR'''
-
-===How to do it?===
-When you create a plug-in containing a profile, you can validate this one with the validation toolsmiths.
-To do this, select the project, then ''''Papyrus Developer''''>''''Validate Profile plug-in'''':
-
-[[File:images/devDoc/Papyrus_ValidationProfileMenu.png|frame|none|Menu to validate profile plug-in]]
-
-When you do a validation, the result of old profile plug-in validation are clean and the current problems are displayed in the corresponding view.
[[File:images/devDoc/Papyrus_PluginBuilderPreferences.png|frame|none|Papyrus plug-in builder preferences]]
@@ -50,6 +29,18 @@ There are a number of options available to enable:
** check for the anti-pattern of dependency re-exports
** check for the recommended practice of constraining bundle dependencies with compatible version ranges
+==Profile Plug-in Validation==
+
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''UML Profiles''.
+
+===What is checked?===
+To validate a profile plug-in, we have some points to check. Here are the checked points:
+* For each profile found in the plug-in:
+** Validation of the profile definition into the 'plugin.xml' file: '''ERROR''' (for 'generated_package' extension) and '''WARNING''' (for 'UMLProfile' extension)
+** Validate that the profile has no definition because it's not working with static profile: '''ERROR'''
+** Validation of the dependencies needed in the 'MANIFEST.MF' file for the external dependencies of the profile file: '''WARNING''' (because maybe the dependency is not really needed (implicit dependence?))
+** Validation of the 'build.properties' file (it must contain the profile file): '''ERROR'''
+
===Where to find the result?===
The result is display in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Profile Plug-in problems''''.
@@ -58,6 +49,9 @@ The result is display in the ''''Problems'''' view and are categorized by the ty
Like others problems, you can double-click on one to open the concerning file. You can delete problem too when you think it is managed.
==Element Types Plug-in Validation==
+
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''Element Types Configurations''.
+
===What is checked?===
Several validation rules are checked for any plug-in project that contains Element Types Configuration models, including:
* Bundle manifest dependencies on core element-types framework bundles: '''WARNING'''
@@ -101,14 +95,6 @@ tooling validation mechanisms described in this documentation. Other intrinsic m
for element types configurations are checked by the editor; they are described in the documentation of the
''Element Types Configurations'' model.
-===How to do it?===
-When you create a plug-in containing an element types file, you can validate this one with the validation toolsmiths.
-To do this, select the project, then ''''Papyrus Developer''''>''''Validate Element Types Plug-in'''':
-
-[[File:images/devDoc/Papyrus_ValidationElementTypesMenu.png|frame|none|Menu to validate element types plug-in]]
-
-When you do a validation, the results of a previous element types plug-in validation are cleaned and the current problems are displayed in the ''''Problems'''' view.
-
===Where to find the result?===
The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Element Types Plug-in Problem''''.
@@ -117,6 +103,9 @@ The result is displayed in the ''''Problems'''' view and are categorized by the
Like others problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
==Architecture Plug-in Validation==
+
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''Architecture Models''.
+
===What is checked?===
Several validation rules are checked for any plug-in project that contains Architecture Context models, including:
* Bundle manifest dependencies on core Architecture Framework bundles: '''WARNING'''
@@ -145,18 +134,102 @@ tooling validation mechanisms described in this documentation. Other intrinsic m
for architecture contexts are checked by the editor; they are described in the documentation of the
''Architecture Context'' model.
-===How to do it?===
-When you create a plug-in containing an architecture definition, you can validate this one with the validation toolsmiths.
-To do this, select the project, then ''''Papyrus Developer''''>''''Validate Architecture Plug-in'''':
+===Where to find the result?===
+The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Architecture Plug-in Problem''''.
+
+[[File:images/devDoc/Papyrus_ProblemsViewArchitecture.png|frame|none|Architecture problems]]
+
+Like others problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
+
+==Element Creation Menu Plug-in Validation==
-[[File:images/devDoc/Papyrus_ValidationArchitectureMenu.png|frame|none|Menu to validate architecture plug-in]]
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''Element Creation Menus''.
+
+===What is checked?===
+Several validation rules are checked for any plug-in project that contains Element Creation Menu models, including:
+* Bundle manifest dependencies on core Element Creation Menu bundles: '''WARNING'''
+** 'org.eclipse.papyrus.infra.newchild'
+* For each element creation menu model found in the plug-in:
+** Validation of the element creation menu model file itself: errors or warnings as described for different elements, below
+** an icon resource referenced by the element creation menu model does not exist: '''ERROR'''
+** a ''role'' name configured on a ''creation menu'' does not appear to exist in any known registered ''element type configuration'': '''WARNING'''
+** Validation of the element creation menu model registration in the 'plugin.xml' file
+*** if there is no registration extension: '''ERROR'''
+** Validation of bundle dependencies in the 'MANIFEST.MF' file implied by the element creation menu model:
+*** missing dependency on the bundle that provides any of the items, below: '''ERROR'''
+**** an ''element type'' referenced by some creation menu
+**** an icon resource referenced by the creation menu model
+** Validation of the 'build.properties' file
+*** If any of the following resources is not included in the binary build: '''ERROR'''
+**** the element creation menu model file, itself
+**** any element types configuration model file or icon referenced by the model that is in the same plug-in
-When you do a validation, the results of a previous architecture plug-in validation are cleaned and the current problems are displayed in the ''''Problems'''' view.
+The rules above are not checked in the ''Element Creation Menu Model Editor'' while editing a model because they
+depend on the deployment of dependent resources in tooling bundles. Therefore, they are only checked by the
+tooling validation mechanisms described in this documentation. Other intrinsic model well-formedness constraints
+for element creation menu models are checked by the editor; they are described in the documentation of the
+''Element Creation Menu'' model.
===Where to find the result?===
-The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Architecture Plug-in Problem''''.
+The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Element Creation Menu Plug-in Problem''''.
-[[File:images/devDoc/Papyrus_ProblemsViewArchitecture.png|frame|none|Architecture problems]]
+[[File:images/devDoc/Papyrus_ProblemsViewNewChild.png|frame|none|Element Creation Menu problems]]
Like others problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
+==Properties Model Plug-in Validation==
+
+This section describes the validation checks performed by the '''Papyrus Plug-in Builder''' on ''Properties models''.
+
+===What is checked?===
+Several validation rules are checked for any plug-in project that contains Properties Context and/or Environment models, including:
+* Bundle manifest dependencies on core Papyrus Properties Framework bundles: '''WARNING'''
+** 'org.eclipse.papyrus.infra.properties'
+* For each properties context model found in the plug-in that traces to a UML Profile or an Ecore package from which it was generated:
+** Validation of the context model file itself and XWT section files that it references: errors or warnings as described for different elements, below
+*** a data context package does not trace to a source UML Profile or Ecore package: '''WARNING'''
+*** a data context package traces to a source UML Profile or Ecore package that appears no longer to exist: '''ERROR'''
+*** a data context package has a different name than the source UML Profile or Ecore package to which it traces: '''ERROR'''
+*** a data context package is missing nested packages or data context elements for nested packages or classes in the source UML Profile or Ecore package: '''WARNING'''
+*** a data context element does not trace to a source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a data context element traces to a source UML Stereotype or Ecore Eclass that appears no longer to exist: '''WARNING'''
+*** a data context element has a different name than the source UML Stereotype or Ecore Eclass to which it traces: '''ERROR'''
+*** a data context element is missing properties for attributes of the source UML Stereotype or Ecore EClass: '''WARNING'''
+*** a data context package does not trace to an attribute of a source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a data context property traces to an attribute of the source UML Profile or Ecore package that appears no longer to exist: '''ERROR'''
+*** a data context property has a different name than the attribute of the source UML Stereotype or Ecore Eclass to which it traces: '''ERROR'''
+*** a data context property has a type that appears to be inconsistent with the type of the corresponding attribute in the source UML Stereotype or Ecore Eclass: '''WARNING'''
+*** a property editor in the XWT section has a widget type that appears to be inconsistent with the type of the data context property that it edits: '''WARNING'''
+** Validation of the properties context model registration in the 'plugin.xml' file
+*** if there is no registration extension: '''ERROR'''
+** Validation of bundle dependencies in the 'MANIFEST.MF' file implied by the properties context model:
+*** missing dependency on the bundle that deploys the UML Profile or Ecore package from which the context was generated: '''ERROR'''
+** Validation of the 'build.properties' file
+*** If any of the following resources is not included in the binary build: '''ERROR'''
+**** the properties context model file, itself
+**** any XWT resource referenced by the context
+* For each properties environment model found in the plug-in:
+** Validation of the environment model file itself: errors or warnings as described for different elements, below
+*** a Java class referenced for a model element factory or other concept does not exist: '''ERROR'''
+** Validation of the properties environment model registration in the 'plugin.xml' file
+*** if there is no registration extension: '''ERROR'''
+** Validation of bundle dependencies in the 'MANIFEST.MF' file implied by the properties environment model:
+*** missing dependency on the bundle that defines Java classes referenced in the environment: '''ERROR'''
+** Validation of the 'build.properties' file
+*** If any of the following resources is not included in the binary build: '''ERROR'''
+**** the properties model file, itself
+**** any other environment model cross-referenced by it in the same project
+
+The rules above are not checked in the ''Properties Context Editor'' while editing a model because they
+depend on the deployment of dependent resources in tooling bundles. Therefore, they are only checked by the
+tooling validation mechanisms described in this documentation. Other intrinsic model well-formedness constraints
+for modelign assistants are checked by the editor; they are described in the documentation of the
+''Properties Context'' model.
+
+===Where to find the result?===
+The result is displayed in the ''''Problems'''' view and are categorized by the type ''''Papyrus Toolsmiths Properties Plug-in Problem''''.
+
+[[File:images/devDoc/Papyrus_ProblemsViewProperties.png|frame|none|Properties model problems]]
+
+Like other problems, you can double-click on one to open the relevant file. You may delete a problem that you think is resolved, but if it is not, then it will be presented again by the next validation.
+

Back to the top