Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OCL/New and Noteworthy/2018-12
Eclipse OCL New and Noteworthy items for the 2018-12 (6.6.0) release.
Contents
Release Overview
This minor release fixes a few bugs and provides enhanced extensibility for OCL-based applications such as QVT.
The significant changes for the Pivot-based OCL are:
- Addition of iteration support for creation and use of the Map type
Map{1 <- 'one', 2 <- 'two'}
defines a two element Map literal with the keys {1,2} and corresponding values {'one', 'two'} bound to them.
Sequence{1..3}->collectBy(i | i*i)
creates a Map using the three element sequence to define the keys and the i*i body of the new collectBy iteration to define the values.
Map{1 <- 1, 2 <- 4,3 <- 9}->reject(k <- v | k = 2 or v = 9}
defines a reject iteration over a three entry map literal, with a primary iterator k over the set of keys and a new secondary co-iterator v over the values bound to each key. The body causes the second entry with key 2, and the third entry with value 9 to be rejected leaving just a one entry map.
Eclipse versions
The 2018-12 release is installable on Mars, Neon, Oxygen and Photon platforms provided Xtext 2.9 or greater is also installed.
The 2018-12 sources are buildable on Photon or 2018-09 or 2018-12.
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 2018-12 release candidates. It appears to work although Java code generation/compilation seems nearly three times slower - see Bug 565563.
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
Milestone 2
OCLinEcore
- 540751 Menu entries such as Create Dynamic Instance restored
Milestone 3
Pivot
- 540353 Collection/Map collectBy iteration added for Map construction
- 540884 Map iterations added with co-iterators for values
RC1
Pivot
- 494536 closure() return can now be statically null-free
- 507628 Safe navigation now diagnosed for opposite property navigation
- 541627 Safe navigation now diagnosed for Map navigation