Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
Luna annual release (2.3) of Object Teams.
Adopt new features of Java™ 8 into the language OT/J
- merge grammars and address potential conflicts
- merge compiler implementation
Enable running OT/J programs on a Java™ 8 VM, by providing two alternative weavers
- the traditional BCEL-based weaver is a mature technology that handles all of Java 7 and OT/J, but it cannot handle Java 8 class files.
- a new ASM-based weaver will be first released with Luna, which can handle all elements of Java 8 byte code. Additionally, this weaver is capable of runtime weaving (as opposed to load-time weaving), However, this weaver needs more maturing before being enabled as the default
- to support both weavers, the compiler can produce class files in two alternative formats.
- Provide essential IDE support for the combination of Java 8 features with OT/J
- Migrate to the Luna version of Equinox
- Reduce dependence on Equinox-specific API in favor of standard OSGi API
The project leadership certifies that the APIs in this release are "Eclipse Quality".
As part of the re-implementation of OT/Equinox, the existing bundle org.eclipse.objectteams.runtime has been split into three bundles:
- org.eclipse.objectteams.runtime: only minimal runtime classes used by OT/J programs
- org.eclipse.objectteams.otre: the tradiational bytecode weaver based on BCEL (previously part of the above)
org.eclipse.objectteams.otredyn (version 1.0.0): new ASM based weaver
- this bundle introduces a dependency on ASM 5.0.1
With 9 plug-ins written in OT/J, OTDT is a mature self-application of our own technology.
Bugzilla balance since the 2.2.0 release:
- 30 bugs fixed (several of which where comprehensive migration tasks)
- 2 bugs resolved as worksforme
- increase in open bugs from 31 to 62
- decrease of open enhancement requests from 19 to 17
The increase in open bugs can be explained by the comprehensive maintenance efforts imposed by the migration to Java 8 and to the Luna version of Equinox. Both migrations require follow-up work for Luna service releases.
No known security issues
Documentation is hosted at http://www.eclipse.org/objectteams/documentation.php, including
- many wiki pages: introductory texts, examples and patterns and much more
- developer guide (also bundled as a help plug-in)
- OT/J language definition
The tool ships with learning material in various forms:
- installable examples
- cheat sheet
- developer guide
- OT/J language definition
Continued improvements, and adoption of upstream improvements (notably from JDT/UI).
Nothing has been deprecated
No standard exists for OT/J, the project provides the only implementation for this technology
- Language definition (OTJLD) is maintained at objectteams.org.
- OTDT 2.3.0 implements OTJLD version 1.3.1
- OT/J as implemented by OTDT 2.3.0 supports all features of Java™ 8
- OT/J is executed on a standard Java virtual machine
OT/Equinox runs on the Equinox framework using ...
- only standard OSGi headers in MANIFEST.MF
- only regular extensions in plugin.xml
- the WeavingHook as standardized in OSGi
Installing the OTDT (and any OT/Equinox appl.)
- using only existing p2 mechanisms
- Interaction in Bugzilla
- Activity on the Object Teams newsgroup
- Object Teams blog is integrated on planet.eclipse.org and features Object Teams as well as JDT/Core work
Tight integration with the JDT team
- Some bugs in JDT found during work on Object Teams
- All improvements in the JDT are promptly adopted in Object Teams