| |
| h2(#NatureAndBuilder). OCL Nature and Builder Auto-Validation |
| |
| The build of an OCL or OCL-containing source file validates the ource file and updates markers in the Problems View to identify issues that the user may care to address. Double-clicking on the Problems View Marker opens an |
| editor to faciltate fixing the problem. |
| |
| The build validation occurs whenever a source file changes or is 'cleaned' and when the containing project |
| has the OCL nature configured. |
| |
| If the Eclipse Workspace is configured to auto-build, the OCL builder runs automatically and so auto-validation occurs. |
| |
| h3(#OCLbuilderConfiguration). Configuring the OCL Nature and Builder |
| |
| The OCL Nature may be added or removed from a Project by selecting the project in an Explorer View and |
| invoking *Configure->Convert to OCL Project* or *Configure->Unconfigure OCL* from the context menu. Alternatively |
| the new Project Natures page may be used from the Project Properties page. |
| |
| Configuing the OCL nature modifies the *.project* file to add the *org.eclipse.ocl.pivot.ui.oclnature* nature |
| and *org.eclipse.ocl.pivot.ui.oclbuilder*. The builder has an argument dictionaries to select file extensions |
| and file paths that are included or excluded by the builder. |
| |
| bc.. |
| <arguments> |
| <dictionary> |
| <key>disabledExtensions</key> |
| <value>*,essentialocl</value> |
| </dictionary> |
| <dictionary> |
| <key>disabledPaths</key> |
| <value>bin/**,target/**</value> |
| </dictionary> |
| <dictionary> |
| <key>enabledExtensions</key> |
| <value>ecore,ocl,oclinecore,oclstdlib,uml</value> |
| </dictionary> |
| <dictionary> |
| <key>enabledPaths</key> |
| <value>**</value> |
| </dictionary> |
| </arguments> |
| p. |
| |
| The default configuration enables validation of *ecore,ocl,oclinecore,oclstdlib,uml* extensions and disables all other extensions, redundantly adding an explicit *essentialocl* exclusion to make the syntax more obvious to a |
| casual reader. (*.essentialocl files may contain a single OCL expression, but since they lack any embedding within a model, they are not generally useful.) |
| |
| The default configuration enables all paths except the *bin* and *target* paths where the Java builder or Maven builders may place copies of files that are not usually worth revalidating as distinct files. |
| |
| The configuration in the *.project* file may be edited with a text editor; there is currently no dedicated user interface. |
| |
| h3(#EcoreAndUMLautoValidation). Ecore and UML Auto-Validation |
| |
| The EMF and UML projects provide no nature or builder and so Problems View markers for *.ecore and *.uml files |
| are dependent on the problems in the prevailing selection at the time of the preceding manual validation. |
| |
| Since OCL may be embedded with *.ecore or *.uml files, the OCL nature and builder provide the option to auto-validate these files. |
| |
| By default, your project has no OCL nature so no Ecore or UML auto-validation occurs. |
| |
| If you choose to add the OCL nature, the default settings that enable *.ecore and *.uml auto-validation apply. The Problems View markers resulting from auto-validation are updated after a file is saved; any markers that the Ecore or UML editors created are replaced. |
| |
| If you find that the auto-validation of some *.ecore and *.uml causes problems, perhaps because the reported |
| errors are not a concern for your usage, you may edit the *.project* file configuration. |
| |
| You may remove *ecore* and/or *uml* from the *enabledExtensions* to suppress Ecore and/or UML auto-validation completely. |
| |
| You may add individual files or file patterns to the *disabledPaths* to be more selective about disabling |
| auto-validation. |
| |
| h3(#NoNature). Building on pre-Photon / 2018 releases |
| |
| The OCL builder and nature are new in the Eclipse OCL 2018 release (Photon). They comply with the standard Eclipse idiom. |
| |
| In earlier releases, the EMF idiom was followed whereby Problems View markers were created by their save action |
| of an appropriate editor. Problems in files that had not been saved were often not visible and so diagnosis |
| only occurred when some consuming application complained.. |
| |
| |
| |