Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search

OCL/New and Noteworthy/2019-06

< OCL‎ | New and Noteworthy
Revision as of 09:32, 6 June 2019 by (Talk | contribs) (Milestone 1)

Eclipse OCL New and Noteworthy items for the 2019-06 (6.8.0) release.

Release Overview

This minor release fixes a few bugs and provides enhanced extensibility for OCL-based applications such as QVT

Eclipse versions

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 versions

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.

Milestone 1


  • 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

Milestone 2

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.

Milestone 3


  • 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 3a

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.


Back to the top