Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "OCL/New and Noteworthy/Photon"

(Milestone 6)
(Pivot)
 
(12 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
* Addition of an OCL nature/builder to perform OCL (and optionally Ecore,UML) model validation
 
* Addition of an OCL nature/builder to perform OCL (and optionally Ecore,UML) model validation
 
* Migration of the build from Buckminster to Tycho
 
* Migration of the build from Buckminster to Tycho
 +
 +
===Eclipse versions===
  
 
The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.
 
The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.
  
 
The Photon sources are buildable on Photon.
 
The Photon sources are buildable on Photon.
 +
 +
===Java versions===
 +
 +
Java 8 on Windows was used to develop and test the milestones of this release.
 +
 +
Java 10 on Windows was briefly used to maintain and test the release candidates. It sort of works but standalone tests failed due to [https://bugs.eclipse.org/bugs/show_bug.cgi?id=534884 534884] and so final release development reverted to Java 8.
 +
 +
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 and Oxygen and on a Java 5 Virtual Machine. Standalone execution requires only the org.eclipse.osgi plugin from Eclipse Kepler or earlier.
 +
 +
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 1==
Line 80: Line 94:
 
===Pivot===
 
===Pivot===
 
* [https://bugs.eclipse.org/388627 388627] Property-valued literals are no longer ambiguous with respect to non-existent Operation-valued literals
 
* [https://bugs.eclipse.org/388627 388627] Property-valued literals are no longer ambiguous with respect to non-existent Operation-valued literals
* [https://bugs.eclipse.org/428479 428479] Add OCL Nature and Builder to ensure timely validation
+
* [https://bugs.eclipse.org/429479 429479] Add OCL Nature and Builder to ensure timely validation
 
* [https://bugs.eclipse.org/528756 528756] Use of OCL library types such as Collection in OCLinEcore no longer gives GenModel 405 load failures
 
* [https://bugs.eclipse.org/528756 528756] Use of OCL library types such as Collection in OCLinEcore no longer gives GenModel 405 load failures
 
* [https://bugs.eclipse.org/528868 528868] Ecore validation diagnostics no longer all claim to be at line 1
 
* [https://bugs.eclipse.org/528868 528868] Ecore validation diagnostics no longer all claim to be at line 1
Line 91: Line 105:
  
 
==Milestone 7==
 
==Milestone 7==
===OCLinEcore===
+
 
* [https://bugs.eclipse.org/516274 516274] Type bounds on Template Parameters are no longer lost when saving as Ecore
+
===Classic UML===
 +
* [https://bugs.eclipse.org/533128 533128] Multiple "Wildcard" types renamed in OCL.uml to avoid warning messages.
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/515605 515605] Unambiguous opposite properties no longer behave intermittently if their unqualified name is ambiguous.
+
* [https://bugs.eclipse.org/532613 532613] Transformation of extended Pivot models in dynamic EMF no longer gives abstract type creation failures.
 +
* [https://bugs.eclipse.org/532666 532666] Unexpected cursor selections no longer cause spurious cannot set self diagnostics in the Xtext OCL Console.
 +
* [https://bugs.eclipse.org/533126 533126] Deletion of a PrimitiveType in the OCLstdlib editor no longer causes multi-type confusions.
 +
* [https://bugs.eclipse.org/533143 533143] Single stepping an iteration in the OCL debugger no longer gives a stack overflow.
 +
* [https://bugs.eclipse.org/534626 534626] Semantic checking on operation/iteration arguments improved.
  
===Pivot UML===
+
==RC1==
* [https://bugs.eclipse.org/513773 513773] Use of an Association end name no longer gices a ClassCastException
+
* [https://bugs.eclipse.org/513824 513824] Qualified names may now be partially qualified
+
* [https://bugs.eclipse.org/514353 514353] Associations nested within Classes are no longer ignored
+
* [https://bugs.eclipse.org/516285 516285] References to nested packages with URIs below packages with null URIs are no longer unresolved
+
  
===Code Generation===
+
==RC2==
* [https://bugs.eclipse.org/514527 514527] GenModel interface/implementation suffixes are now respected
+
 
+
===Java 9, Guava 21===
+
* [https://bugs.eclipse.org/513659 513659] Should run using Guava 21
+
* [https://bugs.eclipse.org/513663 513663] Should run on a Java 9 platform
+
 
+
==Milestone 7a==
+
This cures a potential problem for users auto-generating Java code from OCL enriched models.
+
 
+
* [https://bugs.eclipse.org/516797 516797] @NonNull compilation errors detected by JDT M7 fixed
+
  
===OCLinEcore===
 
* [https://bugs.eclipse.org/516301 516301] OCL comments and GenModel documentation are now spliced as a single documnetation
 
 
==RC1==
 
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/515027 515027] Validation now fails if parsing fails
+
* [https://bugs.eclipse.org/534973 534973] Sequence::includingAll override added to avoid erroneous Bag return type.
* [https://bugs.eclipse.org/515050 515050] Ambiguities due to same-named meta-properties are now resolved
+
* [https://bugs.eclipse.org/516963 516963] Unresolved proxies when editing AS files now diagnosed
+
* [https://bugs.eclipse.org/517065 517065] Irrelevant bad genmodels no longer cause failures
+
  
==RC2==
+
===Releng===
 +
* [https://bugs.eclipse.org/527458 527458] Attempting to build the project sources on a pre-Photon platform is now diagnosed.
 +
* [https://bugs.eclipse.org/534950 534950] Classic OCL no longer fails to load using a Java 10 JVM.
 +
* [https://bugs.eclipse.org/535007 535007] Additional Import-Packages added to allow tests to run using a Java 10 JVM.
  
 
==RC3==
 
==RC3==
===Code Generation===
 
* [https://bugs.eclipse.org/517119 517119] Use of EInt with assertions enabled no longer fails
 
  
 
==RC4==
 
==RC4==
 
==RC4a==
 
 
===Pivot UML===
 
* [https://bugs.eclipse.org/518130 518130] Import of an unresolved profile is now diagnosed rather than an NPE
 

Latest revision as of 04:18, 2 July 2018

Eclipse OCL New and Noteworthy items for the Photon 6.4.0 release.

Release Overview

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

The major changes are:

  • Addition of EAnnotation validation using new EMF 2.14 capabilities
  • Addition of an OCL nature/builder to perform OCL (and optionally Ecore,UML) model validation
  • Migration of the build from Buckminster to Tycho

Eclipse versions

The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.

The Photon sources are buildable on Photon.

Java versions

Java 8 on Windows was used to develop and test the milestones of this release.

Java 10 on Windows was briefly used to maintain and test the release candidates. It sort of works but standalone tests failed due to 534884 and so final release development reverted to Java 8.

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 and Oxygen and on a Java 5 Virtual Machine. Standalone execution requires only the org.eclipse.osgi plugin from Eclipse Kepler or earlier.

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

  • 521094 Multiple and alias-less imports now allowed in OCL stdlib files.

Milestone 2

Pivot

  • 500551 OCL->Export Document menu entry allows embedded OCL to be saved as a distinct Complete OCL document.
  • 519872 XMI serialization of synthetic orphanage content is now accurate and less bloated.
  • 520886 Non-default CollectionType lower/upper bounds are no longer default internally.
  • 520825 Locally Unique Semantically Sensitive IDs used to provide short stable determinstic xmi:ids.
  • 521588 Complete OCL properties now have consistent xmi:ids.
  • 521885 Awkward identifiers are now correctly escaped.
  • 522060 "*" suffixed imports are no longer corrupted by a save.
  • 522087 Integer literal initializers are now coerced to UnlimitedNatural when necessary.
  • 522106 Many forms of unnecessary console logging resolved.
  • 522180 An AS model with bad operation/property references is now saveable.
  • 522211 A name ambiguously qualified by a package or alias is no longer ambiguous; the alias wins.
  • 522290 Imports in the synthetic Complete OCL document no longer fail to resolve.

Pivot UML

  • 521974 Multi-package profiles such as SysML no longer fail to load.
  • 521977 Single pop-up now aggregates multiple loading problems.
  • 522256 EnumerationLiterals in URI-less Profiles no longer try use the wrong EPackage URI.
  • 522292 Duplicate validation messages from applied profiles are now avoided.

Milestone 3

Pivot

  • 520083 "Failed to load" diagnostic now identifies what failed to load.
  • 522697 Problems arising from the new EMF EAnnotationValidator support resolved.
  • 522711 ConcurrentModificationException fuxed when Validity View recomputes

CG

  • 513663 Java code is now generated for the current platform rather than necessarily Java 7.

Releng

  • 499509 OCL is now built using Tycho rather than Buckminster
  • 522565 The OCL JET templates now match the EMF 2.14 JET templates

Milestone 4

Pivot

  • 382956 EnumerationLiterals may now have an explicit literal value
  • 522705 EAnnotationValidators are now used to validate OCL embedded in Ecore.
  • 526840 Redundant accesses for platform:/plugin else platform:/resource avoided.
  • 527805 Blank-named invariants now have an explicit "null" name when converted to Ecore.
  • 528220 CompleteOCLEObjectValidator now has the constructor used in the documentation example.
  • 528246 UnlimitedNatural.toString() is no longer restricted to a "*" return.
  • 528247 UnlimitedNatural.toInteger() added.
  • 528356 Many possibilities for saving with CR-LF line endings resolved; always new-line.
  • 528357 Return type of any/including/includingAll may now propagate null-free-ness.
  • 528358 Use of "result" in a post-condition is no longer an error.

Milestone 5

The new OCL Nature and Builder which may be activated by the Configure->Convert to OCL project menu option for a project. This enables an OCL project to comply with the conventional Eclipse idiom whereby Problem View markers are created as a consequence of the builder running whenever a relevant resource is saved or cleaned. Since OCL may be embedded in Ecore or UML for which no bulder is available, the OCL builder also validates *.ecore and *.uml files. This may be changed by editing the file extension inclusions/exclusions in the .project file.

Classic

  • 416470 org.eclipse.core.* dependencies are no longer mandatory

Pivot

  • 388627 Property-valued literals are no longer ambiguous with respect to non-existent Operation-valued literals
  • 429479 Add OCL Nature and Builder to ensure timely validation
  • 528756 Use of OCL library types such as Collection in OCLinEcore no longer gives GenModel 405 load failures
  • 528868 Ecore validation diagnostics no longer all claim to be at line 1
  • 530375 References to implicit opposites no longer bloat the saved Pivot Abstract Syntax.

Code Generator

  • 528829 Comparison of an Enumerationliteral with a String no longer generates bad code

Milestone 6

Milestone 7

Classic UML

  • 533128 Multiple "Wildcard" types renamed in OCL.uml to avoid warning messages.

Pivot

  • 532613 Transformation of extended Pivot models in dynamic EMF no longer gives abstract type creation failures.
  • 532666 Unexpected cursor selections no longer cause spurious cannot set self diagnostics in the Xtext OCL Console.
  • 533126 Deletion of a PrimitiveType in the OCLstdlib editor no longer causes multi-type confusions.
  • 533143 Single stepping an iteration in the OCL debugger no longer gives a stack overflow.
  • 534626 Semantic checking on operation/iteration arguments improved.

RC1

RC2

Pivot

  • 534973 Sequence::includingAll override added to avoid erroneous Bag return type.

Releng

  • 527458 Attempting to build the project sources on a pre-Photon platform is now diagnosed.
  • 534950 Classic OCL no longer fails to load using a Java 10 JVM.
  • 535007 Additional Import-Packages added to allow tests to run using a Java 10 JVM.

RC3

RC4

Back to the top