3.3 Release Review - Acceleo 3.3
Stephane Begaudeau (email@example.com)
Release Review : May 22, 2012
Communication Channel : eclipse.modeling.m2t newsgroup
Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php
3.3 Release Highlights
New and noteworthy
Performances improvements in the compilation and the tooling.
The compiler has been restructured to fix long standing architectural limitations
New operations are available in the Acceleo non standard library (addAll, removeAll, etc)
The documentation has been rewritten massively
UML to Java example
The popular example UML to Java has been updated for Eclipse Juno with a brand new version
Quality of APIs
The component lead certifies that the requirements for Eclipse Quality APIs have been met for this release. All non-API code is in "internal" packages.
End of Life Issues
The extension point for dynamic templates ("org.eclipse.acceleo.engine.dynamic.modules") is now deprecated. The extension point ("org.eclipse.acceleo.engine.dynamic.templates") now does the same job.
4 Committers from Obeo, and 2 individual committers.
The about files and use licenses are in place as per the Guidelines to Legal Documentation.
- CQ 6308 - Twitter Bootstrap https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6308
- CQ 6309 - JQuery https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6309
- CQ 6310 - Guava Version: 10.0.1 https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6310
All other contributions (code, documentation, images, etc) have been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy. The other contributions of the IP log are not significant or are written 100% by employees of the same employer (Obeo) as the Submitting Committer (http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf).
All contribution Questionnaires have been completed.
The "provider" field of each plugin is set to "Eclipse Modeling Project".
The "copyright" field of each plugin is set to the copyright owner.
Any third-party logos or trademarks included in the distribution (icons, logos, etc) have been licensed under the EPL.
The Acceleo IP log is located at http://www.eclipse.org/projects/ip_log.php?projectid=modeling.m2t.acceleo
2477 unit tests are launched every day.
Code coverage is about:
- 82.9 % of the traceability engine
- 80.6 % of the compiler
- 61.7 % of the code generation engine
Checkstyle activated on each distinct plug-in.
Eclemma used on a regular basis to improve test coverage.
Yourkit used on a regular basis to improve performances.
Javadoc represents more than 42.9% of the Java source code.
An Ohloh page is available at http://www.ohloh.net/p/acceleo-eclipse/analyses/latest
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 documentation that comes with Acceleo 3.3 is available in the Help menu : Acceleo Documentation.
Each document of the documentation set deals with a different aspect of mastering Acceleo:
There are an Overview, a tutorial available on this wiki, a description of all the available features, a guide detailling the Acceleo language, a list of the new features, an Acceleo/OCL operations reference to describe the Acceleo/OCL library, and a Text Production Rules document.
The main documentation are the language guide and the features guide because they fully describe each and every feature of Acceleo and its language.
Basic Examples are available in the example category : UML to Java, and Ecore to Python.
There is also an Acceleo portal on the Eclipse Wiki http://wiki.eclipse.org/Acceleo
Note : these figures are subject to changes as the whole team is in the process of fixing bugs until the final release (this snapshot has been taken on June 5, 2012)
Localization : integrated into Babel
This implementation of Acceleo is based on the OMG MOF Model-To-Text OMG Standard : http://www.omg.org/spec/MOFM2T/1.0/
End of Life
There are no specific end of life concerns for this release.
Talks have been given on the following events:
- Acceleo at Code Generation 2011: http://www.codegeneration.net/cg2011/sessioninfo.php?session=24
Talks have been given during EclipseCon 2012.
- Activity on the M2T newsgroup (eclipse.modeling.m2t): more than 80 threads on Acceleo from June 2010 to May 2011
- Twitter account of the Acceleo project: http://twitter.com/acceleo
- Google+ account of the Acceleo project: https://plus.google.com/114651471803085159652
- Acceleo on stack overflow: http://stackoverflow.com/tags/acceleo/info
Acceleo 3.3 Release Plan
M1 08/19/2011 M2 09/30/2011 M3 11/11/2011 M4 12/16/2011 M5 02/03/2012 M6 03/23/2012 API Freeze M7 05/11/2012 Feature Freeze RC1 05/25/2012 RC2 06/01/2012 RC3 06/08/2012 RC4 06/15/2012 Final 06/27/2012 Juno release
The Acceleo 3.3 project plan is available at http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-juno.xml
Java and all Java-based trademarks are trademarks of Oracle, Inc. in the United States, other countries, or both.
UML, OMG, EMOF, OCL and XMI are trademarks of the Object Management Group.
Other company, product, or service names may be trademarks or service marks of others.
|Project||Project · Installation · New & noteworthy · Release review · API policy · Retention policy · Next · Checklist|
|Features||Acceleo Features · Runtime · Acceleo editor · Views & Perspective · Debugger · Profiler · Traceability · Wishlist · Interpreter · Maven|
|User documentation||Getting Started · Acceleo operations reference · OCL operations reference · Text Production Rules · Migration From Acceleo 2.x · Best Practices · Videos · FAQ|
|Developer documentation||Source code · How to contribute · Compatibility · MOFM2T specification · OCL specification|
|Community||Conferences · Twitter & Blogs · Professional Support · Report a bug|