Eclipse Acceleo 3.5.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

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.

Project
Release

3.5.0

Description

The Acceleo 3.5.0 release will be focused on maintenance; with stability and performance enhancement as the main themes, along with further improvements in the documentation. This release plan will be updated accordingly if and when new features are needed by the community. With this new release, we will remove outdated components and switch to Java 6.

API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

The Acceleo project can be separated in different parts:

  1. The stand alone Acceleo parser
  2. The stand alone Acceleo engine
  3. The tooling with the interpreter, the editor, etc
  4. The alternate traceability engine

All the traceability related components will be deprecated with this release, they will be removed with the next release for 2015. Some components used for the stand alone parsing of Acceleo templates will also be removed with the next release. Reducing the technical debt of the project. Some work has been done to prepare the support of Acceleo in non Eclipse OSGi runtimes.

Security Issues

No security issues related to Acceleo

Non-Code Aspects

New artifacts have been included in this release, starting with the brand new OCL interpreter which allows the step by step execution of OCL queries. A brand new maven plugin is also available in order to run Acceleo generators in stand alone. The project is now using a dedicated Hudson instance.

~1000 tests are launched every day and we are using Checkstyle and EclEmma to maintain the project.

Metamodel definitions and interfaces are considered APIs. Commitment to provide stand-alone code generation. Non-API classes are separated from the exposed API through an "internal" namespace. API Tooling is activated on all plugins to mark exceptions within the exposed API. Non-API packages are exported with an internal visibility as such they are visible but with an illegal access warning.

The user documentation is available thanks to the Help Menu integrated in Eclipse.

End of Life

After this release, the following elements will be retired, they will be deprecated with this release:

  • the bundles org.eclipse.acceleo.traceability and org.eclipse.acceleo.traceability.model
  • the Acceleo 2 migration with the bundles org.eclipse.acceleo.compatibility and org.eclipse.compatibility.ui
  • the Acceleo IDE UI bundle will be fragmented with the introduction of a brand new org.eclipse.acceleo.ide bundle.
  • the extension point used to support other scripting languages will be removed
  • the extension point used to provide Java services will be removed
  • the support for Apache Ant to build Acceleo generators (only Tycho will be supported)
  • the support for the PDE build to build Acceleo generators (only Tycho will be supported)
  • the old implementation of the Acceleo parser will be removed

For additional details on those improvements, have a look at the Acceleo wiki.

 

Standards

The Acceleo language is an implementation of the OMG's MOFM2T language which can be found here.

Communities

The Acceleo interpreter has been integrated in the Sirius project. The EcoreTools project and the UML Designer project are now using Acceleo as their default interpreter. A new commiter (Yvan Lussaud from Obeo) has joined the project and inactive commiters have been removed from the project.

This release is part of Luna