Jump to: navigation, search

Difference between revisions of "Acceleo/ReleaseReview/3.3"

(First version of Acceleo 3.3 release review.)
 
m (Bugzilla)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=3.2 Release Review - Acceleo 3.2=
+
=3.3 Release Review - Acceleo 3.3=
  
 
Stephane Begaudeau ''(stephane.begaudeau@obeo.fr)''
 
Stephane Begaudeau ''(stephane.begaudeau@obeo.fr)''
  
Release Review : May 16, 2012
+
Release Review : May 22, 2012
  
 
''Communication Channel : eclipse.modeling.m2t newsgroup''
 
''Communication Channel : eclipse.modeling.m2t newsgroup''
Line 11: Line 11:
 
''Project Plan : http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-indigo.xml''
 
''Project Plan : http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-indigo.xml''
  
==3.2 Release Highlights==
+
==3.3 Release Highlights==
  
 
===New and noteworthy===
 
===New and noteworthy===
==== Interpreter view ====
 
The interpreter view allows the user to enter Acceleo expressions and to execute them without the need to launch a generation.
 
 
[[Image:Acceleo_Interpreter_Variable_Sample.png|thumb|none|800px|The interpreter view]]
 
 
This new view is available directly in the Acceleo perspective.
 
 
 
==== Performances ====
 
==== Performances ====
 
Performances improvements in the compilation and the tooling.
 
Performances improvements in the compilation and the tooling.
  
 +
==== Improved compilation ====
 +
The compiler has been restructured to fix long standing architectural limitations
  
 +
==== New operations ====
 +
New operations are available in the Acceleo non standard library (addAll, removeAll, etc)
  
==== JRE selection in the new project wizard ====
+
==== New documentation ====
When creating a new Acceleo project, you can now choose the JRE of your choice.
+
The documentation has been rewritten massively
 
+
[[Image:Acceleo jre.png|thumb|none|600px|The new project wizard]]
+
 
+
==== Improved compilation ====
+
The compilation has been improved and as such compiled Acceleo modules (".emtl" files) are now way smaller.
+
 
+
==== New dynamic modules extension point ====
+
Users who were using the dynamic module extension point to extends a generator can now use the brand new extension point created to contribute to a specific generator.
+
  
[[Image:Acceleo dynamic modules extension point.png|thumb|none|542px|The new extension point with the old deprecated one.]]
+
==== UML to Java example ====
 +
The popular example UML to Java has been updated for Eclipse Juno with a brand new version
  
Acceleo 3.2 is compatible with Eclipse 3.4 (Ganymede), Eclipse 3.5 (Galileo), Eclipse 3.6 (Helios) and Eclipse 3.7 (Indigo).
 
  
 
===Quality of APIs===
 
===Quality of APIs===
Line 46: Line 35:
  
 
===End of Life Issues===
 
===End of Life Issues===
The extension point for dynamic templates ("org.eclipse.acceleo.engine.dynamic.templates") is now deprecated. It still works but a new extension point has been contributed instead ("org.eclipse.acceleo.engine.dynamic.modules").  
+
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.
  
 
===Committer Diversity===
 
===Committer Diversity===
Line 54: Line 43:
 
The about files and use licenses are in place as per the Guidelines to Legal Documentation.
 
The about files and use licenses are in place as per the Guidelines to Legal Documentation.
  
CQ 2518 - The Content includes items that have been sourced from the OMG MTL 1.0 specification : http://www.omg.org/spec/MOFM2T/1.0/
+
* CQ 6308 - Twitter Bootstrap https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6308
CQ 5533 - Google Collections Version: 1.0 (PB Orbit CQ3830)
+
* 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 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).
Line 72: Line 62:
  
 
===Unit tests===
 
===Unit tests===
2789 unit tests are launched every day.
+
2477 unit tests are launched every day.
  
 
Code coverage is about:
 
Code coverage is about:
Line 86: Line 76:
 
Yourkit used on a regular basis to improve performances.
 
Yourkit used on a regular basis to improve performances.
  
Javadoc represents more than 44% of the Java source code.
+
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
 
An Ohloh page is available at http://www.ohloh.net/p/acceleo-eclipse/analyses/latest
Line 102: Line 92:
  
 
==Documentation==
 
==Documentation==
The documentation that comes with Acceleo 3.2 is available in the Help menu : Acceleo Model To Text Transformation Language.
+
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 :
+
Each document of the documentation set deals with a different aspect of mastering Acceleo:
There are a Plug-in Overview, a Quick Start, an Android Code Generation Tutorial, a User Guide, several short tutotials to create code generation projects, an Acceleo/OCL operations reference to describe the Acceleo/OCL library, and a Text Production Rules document.
+
  
The main documentation is the User Guide because it fully describes each and every feature of Acceleo. From the installation to the execution with a trip through the editing features, it gives an in-depth description of everything there is to know about 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.
 
Basic Examples are available in the example category : UML to Java, and Ecore to Python.
  
There is also a basic information page on the Eclipse Wiki http://wiki.eclipse.org/Acceleo
+
There is also an Acceleo portal on the Eclipse Wiki http://wiki.eclipse.org/Acceleo
  
 
==Bugzilla==
 
==Bugzilla==
Line 126: Line 117:
 
| blocker
 
| blocker
 
! style="background: #CECEF2;" | 0
 
! style="background: #CECEF2;" | 0
 +
| 1
 
| 0
 
| 0
| 0
+
! style="background: #CECEF2;" | 1
! style="background: #CECEF2;" | 3
+
! style="background: #CEF2CE;" | 2
! style="background: #CEF2CE;" | 3
+
 
|-
 
|-
 
| critical
 
| critical
! style="background: #CECEF2;" | 1
+
! style="background: #CECEF2;" | 0
| 1
+
| 8
 
| 0
 
| 0
! style="background: #CECEF2;" | 6
+
! style="background: #CECEF2;" | 0
 
! style="background: #CEF2CE;" | 8
 
! style="background: #CEF2CE;" | 8
 
|-
 
|-
 
| major
 
| major
! style="background: #CECEF2;" | 3
+
! style="background: #CECEF2;" | 4
| 3
+
| 13
 
| 0
 
| 0
! style="background: #CECEF2;" | 8
+
! style="background: #CECEF2;" | 5
! style="background: #CEF2CE;" | 14
+
! style="background: #CEF2CE;" | 22
 
|-
 
|-
 
| normal
 
| normal
! style="background: #CECEF2;" | 23
+
! style="background: #CECEF2;" | 29
| 18
+
| 43
 
| 0
 
| 0
! style="background: #CECEF2;" | 34
+
! style="background: #CECEF2;" | 22
! style="background: #CEF2CE;" | 75
+
! style="background: #CEF2CE;" | 94
 
|-
 
|-
 
| minor
 
| minor
 
! style="background: #CECEF2;" | 1
 
! style="background: #CECEF2;" | 1
| 1
+
| 2
 
| 0
 
| 0
! style="background: #CECEF2;" | 8
+
! style="background: #CECEF2;" | 1
! style="background: #CEF2CE;" | 10
+
! style="background: #CEF2CE;" | 4
 
|-
 
|-
 
| enhancement
 
| enhancement
! style="background: #CECEF2;" | 7
+
! style="background: #CECEF2;" | 9
| 3
+
| 9
 
| 0
 
| 0
! style="background: #CECEF2;" | 6
+
! style="background: #CECEF2;" | 10
! style="background: #CEF2CE;" | 16
+
! style="background: #CEF2CE;" | 28
 
|-
 
|-
 
! style="background: #CEF2CE;" | TOTAL
 
! style="background: #CEF2CE;" | TOTAL
! style="background: #CEF2CE;" | 35
+
! style="background: #CEF2CE;" | 43
! style="background: #CEF2CE;" | 26
+
! style="background: #CEF2CE;" | 76
 
! style="background: #CEF2CE;" | 0
 
! style="background: #CEF2CE;" | 0
! style="background: #CEF2CE;" | 65
+
! style="background: #CEF2CE;" | 39
! style="background: #CEF2CE;" | 126
+
! style="background: #CEF2CE;" | 158
 
|}
 
|}
  
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 September 27, 2011)‏
+
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)‏
  
 
==Tool usability==
 
==Tool usability==
Line 189: Line 180:
 
* Acceleo at Code Generation 2011: http://www.codegeneration.net/cg2011/sessioninfo.php?session=24
 
* Acceleo at Code Generation 2011: http://www.codegeneration.net/cg2011/sessioninfo.php?session=24
  
Talks will be given during EclipseCon Europe 2011.
+
Talks have been given during EclipseCon 2012.
  
 
Other medium:
 
Other medium:
 
* Activity on the M2T newsgroup (eclipse.modeling.m2t): more than 80 threads on Acceleo from June 2010 to May 2011
 
* 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
 
* 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 on stack overflow: http://stackoverflow.com/tags/acceleo/info
  
Line 200: Line 192:
  
 
==Schedule==
 
==Schedule==
Acceleo 3.2 Release Plan
+
Acceleo 3.3 Release Plan
  RC1 10/10/2011
+
  M1 08/19/2011
  RC2 10/15/2011
+
  M2 09/30/2011
  Final 10/23/2011
+
  M3 11/11/2011
  3.2    10/24/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
  
 
==Project Plan==
 
==Project Plan==
The Acceleo 3.2 project plan is available at http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-3_2_0.xml
+
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
  
 
What's next?
 
What's next?

Latest revision as of 05:06, 5 June 2012

3.3 Release Review - Acceleo 3.3

Stephane Begaudeau (stephane.begaudeau@obeo.fr)

Release Review : May 22, 2012

Communication Channel : eclipse.modeling.m2t newsgroup

Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php

Project Plan : http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-indigo.xml

3.3 Release Highlights

New and noteworthy

Performances

Performances improvements in the compilation and the tooling.

Improved compilation

The compiler has been restructured to fix long standing architectural limitations

New operations

New operations are available in the Acceleo non standard library (addAll, removeAll, etc)

New documentation

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.

Committer Diversity

4 Committers from Obeo, and 2 individual committers.

IP Issues

The about files and use licenses are in place as per the Guidelines to Legal Documentation.

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

Non-Code Aspects

Unit tests

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

Code quality

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

APIs

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.

Documentation

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

Bugzilla

NEW RESOLVED VERIFIED CLOSED TOTAL
blocker 0 1 0 1 2
critical 0 8 0 0 8
major 4 13 0 5 22
normal 29 43 0 22 94
minor 1 2 0 1 4
enhancement 9 9 0 10 28
TOTAL 43 76 0 39 158

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)‏

Tool usability

Localization : integrated into Babel

Standards

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.

Communities

Talks have been given on the following events:

Talks have been given during EclipseCon 2012.

Other medium:

Committer Changes

None

Schedule

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

Project Plan

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

What's next?

Legal Notices

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.



Acceleo Portal
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