Skip to main content
Jump to: navigation, search

Difference between revisions of "OCL/New and Noteworthy/2019-06"

(Created page with "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-bas...")
 
(Milestone 3a)
 
(8 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
==Release Overview==
 
==Release Overview==
This minor release fixes a few bugs and provides enhanced extensibility for OCL-based applications such as QVT.
+
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 persistence of the Map type as an Ecore EMap
+
 
+
This change fixes a bug whereby EMap declarations such as EAnnotation.details were treated as an OrderedSet(EStringToStringMapEntry) rather than as Map(String,String). Code using the erroneous interpretaion such as
+
 
+
eAnnotation.details->select(e | e.key = 'wanted' and e.value <> null)
+
 
+
must be recoded as
+
 
+
eAnnotation.details->select(k <- v | k = 'wanted' and v <> null)
+
  
 
===Eclipse versions===
 
===Eclipse versions===
  
The prevailing Eclipse OCL release candidate is auto-tested every week on Oxygen, Photon, 2018-09 and 2018-12 platforms using Jenkins on Linux.  
+
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-03 release should be installable on Mars and Neon platforms provided Xtext 2.9 or greater is also installed.
+
2019-06 release should be installable on Mars and Neon platforms provided Xtext 2.9 or greater is also installed.
  
The 2019-03 sources are buildable on 2019-03 only.
+
The 2019-06 sources are buildable on 2019-06 only.
  
 
===Java versions===
 
===Java versions===
Line 27: Line 16:
 
Java 8 on Windows was used to develop and test the milestones of this release.
 
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-03 release candidates. It appears to work although Java code generation/compilation is nearly three times slower.
+
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.
 
Java 8 on Jenkins, Linux was used to build and test the release candidates.
Line 36: Line 25:
  
 
==Milestone 1==
 
==Milestone 1==
 
The fix for ineffective caching may have an undesirable side effect if OCL evaluations occur before and after some significant model change. This
 
may be avoided by invoking PivotUtil.removeAdapter(resourceSet) to remove the stale caches.
 
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/443003 443003] Ecore EMap idiom supported as an OCL Map / MapValue
+
* [https://bugs.eclipse.org/471114 471114] Genmodel of embedded ints in interfaces no longer fails  
* [https://bugs.eclipse.org/529372 529372] allInstances()/opposites caches are no longer recomputed many times per validation
+
* [https://bugs.eclipse.org/471114 471114] Genmodel of embedded int name collisions avoided
* [https://bugs.eclipse.org/543173 543173] A TemplateParameter-typed Property no longer fails to parse
+
* [https://bugs.eclipse.org/471114 471114] Genmodel of embedded int for Enumeration Literals warnings avoided
* [https://bugs.eclipse.org/543178 543178] A Java Exception during a validation no longer terminates residual validations
+
* [https://bugs.eclipse.org/543187 543187] The lowerbound of a TemplateParameter no determines available opposite Properties
+
* [https://bugs.eclipse.org/543221 543221] allInstances and opposites now cached effectively during a validation and nested evaluations
+
 
+
===CG===
+
* [https://bugs.eclipse.org/543143 543143] Many warnings fixed in generated model code
+
* [https://bugs.eclipse.org/543334 543334] Pivot expression annotations no longer stripped from XXXPackageImpl
+
  
 
==Milestone 2==
 
==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()
 
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/471114 471114] Eliminate unstable ints from XXXPackage APIs.
+
* [https://bugs.eclipse.org/546767 546767] Text serialization now avoids $$ prefixes for synthetic types
* [https://bugs.eclipse.org/543599 543599] Use of unsafe operation call sources now diagnosed.
+
* [https://bugs.eclipse.org/546767 546767] Text serialization of collection type expressions now includes parameterization
* [https://bugs.eclipse.org/543608 543608] Non-Boolean valued Constraints now diagnosed.
+
* [https://bugs.eclipse.org/546767 546767] Parsing of nested collections no longer confuses the multiple collection bounds.
* [https://bugs.eclipse.org/543608 543608] Complete OCL init/derive are npw both treated as (default) value expressions.
+
  
 
==Milestone 3==
 
==Milestone 3==
 
===Classic===
 
* [https://bugs.eclipse.org/483246 483246] Exceptions causing invalid evaluation are now logged as warnings to avoid AERI escalation.
 
 
===Pivot===
 
* [https://bugs.eclipse.org/542588 542588] Opening Validity View no longer fails with a Class Cast Exception
 
* [https://bugs.eclipse.org/544182 544182] Global ProjectMap now tracks project opens/closes, late launches no longer fail with stale projects.
 
* [https://bugs.eclipse.org/544187 544187] Global ProjectMap now tracks project opens/closes, late launches no longer fail with stale projects.
 
* [https://bugs.eclipse.org/544189 544189] MultiValidationJob no longer does a full validation per incremental build.
 
* [https://bugs.eclipse.org/544189 544189] Stale markers from removed files now removed.
 
* [https://bugs.eclipse.org/544245 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.
 
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/471114 471114] Validation preferences are now keyed by their EOperation literal rather than a String literal.
+
* [https://bugs.eclipse.org/547704 547704] Opposite role name annotations are no longer discarded by OCLinEcore editor
* [https://bugs.eclipse.org/543603 543603] Editor shows problems immediately rather than after first edit.
+
* [https://bugs.eclipse.org/547704 547704] OCLinEcore editor has a new opposite role name annotation syntax
* [https://bugs.eclipse.org/544189 544189] Problem markers update on file save, with or without OCL nature.
+
* [https://bugs.eclipse.org/544431 544431] OCL validation should no longer occur on closed projects.
+
* [https://bugs.eclipse.org/544551 544551] String::+ and String::concat may now have null sources.
+
* [https://bugs.eclipse.org/544552 544552] Many library operations now declare their parameters as not-null.
+
* [https://bugs.eclipse.org/544734 544734] Builder no longer excludes tool much for non-trivial incliusion/exclusion paths.
+
* [https://bugs.eclipse.org/544737 544737] QVTd / OCL builders no longer reset each other's markers.
+
* [https://bugs.eclipse.org/544737 544737] Builder no longer reports unresolved JavaClassCS references to Java implementations
+
* [https://bugs.eclipse.org/544737 544737] Builder no longer leaves stale markers after full build.
+
* [https://bugs.eclipse.org/544787 544787] org.eclipse.ocl.examples.standalone.StandaloneApplication now has a main() for direct invocation
+
  
 
==RC1==
 
==RC1==
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/544903 544903] Comments warn that requiring OCL to create the external ResourceSet can incur significant shutdown costs.
+
* [https://bugs.eclipse.org/547723 547723] OCLstdlib editor has an new opposite role name annotation syntax
 +
* [https://bugs.eclipse.org/547835 547835] Tracing of StandaloneProjectMap registration enhanced
 +
* -unrelated- Java serialization of Pivot metamodels no longer omits defaultValueString
  
 
==RC2==
 
==RC2==

Latest revision as of 09:54, 6 June 2019

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

Pivot

  • 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

Pivot

  • 546767 Text serialization now avoids $$ prefixes for synthetic types
  • 546767 Text serialization of collection type expressions now includes parameterization
  • 546767 Parsing of nested collections no longer confuses the multiple collection bounds.

Milestone 3

Pivot

  • 547704 Opposite role name annotations are no longer discarded by OCLinEcore editor
  • 547704 OCLinEcore editor has a new opposite role name annotation syntax

RC1

Pivot

  • 547723 OCLstdlib editor has an new opposite role name annotation syntax
  • 547835 Tracing of StandaloneProjectMap registration enhanced
  • -unrelated- Java serialization of Pivot metamodels no longer omits defaultValueString

RC2

Back to the top