OCL/New and Noteworthy/2019-06
Eclipse OCL New and Noteworthy items for the 2019-06 (6.8.0) release.
This minor release fixes a few bugs and provides enhanced extensibility for OCL-based applications such as QVT
The prevailing Eclipse OCL release candidate is auto-tested every week on Oxygen, Photon, 2018-09, 2018-12 and 2019-03 platforms using Jenkins on Linux.
2019-06 release should be installable on Mars and Neon platforms provided Xtext 2.9 or greater is also installed.
The 2019-06 sources are buildable on 2019-06 only.
Java 8 on Windows was used to develop and test the milestones of this release.
Java 11 on Windows was briefly used to maintain and test the 2019-06 release candidates. It appears to work although Java code generation/compilation is nearly three times slower.
Java 8 on Jenkins, Linux was used to build and test the release candidates.
The Classic Ecore/UML plugins have been tested on Mars, Neon, Oxygen and Photon and on a Java 5 Virtual Machine. Standalone execution requires only the org.eclipse.osgi plugin from Eclipse Kepler or a spoof of org.eclipse.osgi.util.NLS and org.eclipse.osgi.framework.
The Pivot plugins require at least a Java 8 Virtual Machine and at least Xtext 2.9.1. Testing on Oxygen has a couple of test failures. Testing on Mars and Neon has a few editor/console startup failures.
- 471114 Genmodel of embedded ints in interfaces no longer fails
- 471114 Genmodel of embedded int name collisions avoided
- 471114 Genmodel of embedded int for Enumeration Literals warnings avoided
The null-safe operation call fixes may now diagnose latent faults.
Eliminate of the non-API ints from XXXPackage interfaces significantly reduces the size. The removed ints are available by using e.g. XXXPackage.Literals.YYY.getClassifierId()
- 471114 Eliminate unstable ints from XXXPackage APIs.
- 543599 Use of unsafe operation call sources now diagnosed.
- 543608 Non-Boolean valued Constraints now diagnosed.
- 543608 Complete OCL init/derive are npw both treated as (default) value expressions.
- 483246 Exceptions causing invalid evaluation are now logged as warnings to avoid AERI escalation.
- 542588 Opening Validity View no longer fails with a Class Cast Exception
- 544182 Global ProjectMap now tracks project opens/closes, late launches no longer fail with stale projects.
- 544187 Global ProjectMap now tracks project opens/closes, late launches no longer fail with stale projects.
- 544189 MultiValidationJob no longer does a full validation per incremental build.
- 544189 Stale markers from removed files now removed.
- 544245 Validations shortly after startup no longer incur a CME.
Milestone 3 was accidentally released one week early. Milestone 3a occurs at the correct time.
- 471114 Validation preferences are now keyed by their EOperation literal rather than a String literal.
- 543603 Editor shows problems immediately rather than after first edit.
- 544189 Problem markers update on file save, with or without OCL nature.
- 544431 OCL validation should no longer occur on closed projects.
- 544551 String::+ and String::concat may now have null sources.
- 544552 Many library operations now declare their parameters as not-null.
- 544734 Builder no longer excludes tool much for non-trivial incliusion/exclusion paths.
- 544737 QVTd / OCL builders no longer reset each other's markers.
- 544737 Builder no longer reports unresolved JavaClassCS references to Java implementations
- 544737 Builder no longer leaves stale markers after full build.
- 544787 org.eclipse.ocl.examples.standalone.StandaloneApplication now has a main() for direct invocation
- 544903 Comments warn that requiring OCL to create the external ResourceSet can incur significant shutdown costs.