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 "Acceleo/ReleaseReview"

(Project Plan)
Line 22: Line 22:
  
 
====Tooling improvements====
 
====Tooling improvements====
- New views have been introduced to help you on several aspects of the generation cycles :
+
- New views have been introduced to help you on several aspects of the generation cycles
 
   The Result view to get feedback on the traceability information
 
   The Result view to get feedback on the traceability information
 
   The Overrides view to easily create templates overriding others
 
   The Overrides view to easily create templates overriding others
 +
 
- Acceleo now provides a built-in profiler, a advanced debugger and a stack trace mechanism for runtime exceptions
 
- Acceleo now provides a built-in profiler, a advanced debugger and a stack trace mechanism for runtime exceptions
 +
 
- Acceleo 3.0 is compatible with Eclipse 3.4 (Ganymede), Eclipse 3.5 (Galileo) and Eclipse 3.6 (Helios)
 
- Acceleo 3.0 is compatible with Eclipse 3.4 (Ganymede), Eclipse 3.5 (Galileo) and Eclipse 3.6 (Helios)
  
Line 38: Line 40:
 
- The editor now highlights all occurrences of the selected element
 
- The editor now highlights all occurrences of the selected element
  
- Quickfixes are available to fix compilation issues by creating a new template or a new query...
+
- Quickfixes are available to fix compilation issues by creating new module elements
  
- New menus and quick fixes to wrap Java services
+
- New menus and quick fixes to wrap Java extension points (Java services)
 
+
- Acceleo 3.0 is compatible with Eclipse 3.4 (Ganymede), Eclipse 3.5 (Galileo) and Eclipse 3.6 (Helios)
+
  
 
- Bottom-up approach when developing generators
 
- Bottom-up approach when developing generators
   Initialize the content of a generation module with an example
+
   Initialize the content of the generator with an example
 
   Specific actions to transform an example in dynamic OCL expressions
 
   Specific actions to transform an example in dynamic OCL expressions
  
Line 51: Line 51:
 
- Full MTL/OCL standard library implementation
 
- Full MTL/OCL standard library implementation
  
- It is possible to alter the build mode, either Strict or Lax MTL compliance
+
- Build mode, either Strict or Lax MTL compliance
  
 
- Migration facilities for those who own Acceleo 2.x templates
 
- Migration facilities for those who own Acceleo 2.x templates
Line 57: Line 57:
 
===Quality of APIs===
 
===Quality of APIs===
 
The component lead certifies that the requirements for Eclipse Quality APIs have been met for this release.
 
The component lead certifies that the requirements for Eclipse Quality APIs have been met for this release.
All non-API code in "internal" packages.
+
All non-API code is in "internal" packages.
  
 
===End of Life Issues===
 
===End of Life Issues===
Line 70: Line 70:
 
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 2518 - The Content includes items that have been sourced from the OMG MTL 1.0 specification : http://www.omg.org/spec/MOFM2T/1.0/
  
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 significant contributions of the IP log 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).
  
 
All contribution Questionnaires have been completed.
 
All contribution Questionnaires have been completed.
Line 85: Line 85:
  
 
===Unit tests===
 
===Unit tests===
706 unit tests launched on every build. 1219 unit tests launched on every day.
+
706 unit tests launched on every build. 1219 unit tests launched every day.
  
 
Code coverage is about :
 
Code coverage is about :
Line 105: Line 105:
 
==APIs==
 
==APIs==
 
Metamodel definitions and corresponding implementations are considered APIs.
 
Metamodel definitions and corresponding implementations are considered APIs.
 
Non-API classes are separated from the exposed API through an "internal" package.
 
  
 
Commitment to provide stand-alone code generation.
 
Commitment to provide stand-alone code generation.
 +
 +
Non-API classes are separated from the exposed API through an "internal" package.
  
 
API Tooling is activated on all plugins to mark exceptions within the exposed API.
 
API Tooling is activated on all plugins to mark exceptions within the exposed API.
Line 120: Line 120:
 
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.
 
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.
  
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 a basic information page on the Eclipse Wiki http://wiki.eclipse.org/Acceleo
Line 181: Line 181:
  
 
- Advanced quick fixes
 
- Advanced quick fixes
 +
 +
- Improve the JUnit tests coverage on the UI
  
 
- E4 Compatibility
 
- E4 Compatibility

Revision as of 08:13, 26 May 2010

Helios Release Review - Acceleo 3.0

Helios Simultaneous Release

Release Review and Graduation Review

Jonathan Musset (jonathan.musset@obeo.fr)

Release Review : June 11, 2010

Communication Channel : eclipse.modeling.m2t newsgroup

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

Project Plan : http://www.eclipse.org/modeling/m2t/acceleo/plan-helios.xml

Helios Release Highlights

Graduation

Acceleo graduates with its Helios release. This usually means the plugin grows from version 0.x to version 1.0. However, Acceleo already has a version history and an existing adopter community. In order not to unsettle this community and to stay coherent with our history, Acceleo will jump under eclipse from version 0.8 to version 3.0 (as the last released version on Acceleo.org was 2.x).

New and noteworthy

Tooling improvements

- New views have been introduced to help you on several aspects of the generation cycles

  The Result view to get feedback on the traceability information
  The Overrides view to easily create templates overriding others

- Acceleo now provides a built-in profiler, a advanced debugger and a stack trace mechanism for runtime exceptions

- Acceleo 3.0 is compatible with Eclipse 3.4 (Ganymede), Eclipse 3.5 (Galileo) and Eclipse 3.6 (Helios)

Editor Improvements

- Performance improvements

- Basic refactoring actions

  The usual shortcuts (ALT+SHIFT+R) to rename either modules, templates, queries, variables...

- Portions of text can be extracted as new templates

- The editor now highlights all occurrences of the selected element

- Quickfixes are available to fix compilation issues by creating new module elements

- New menus and quick fixes to wrap Java extension points (Java services)

- Bottom-up approach when developing generators

  Initialize the content of the generator with an example
  Specific actions to transform an example in dynamic OCL expressions

Improvements on the language

- Full MTL/OCL standard library implementation

- Build mode, either Strict or Lax MTL compliance

- Migration facilities for those who own Acceleo 2.x templates

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

None

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.

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/

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

706 unit tests launched on every build. 1219 unit tests launched every day.

Code coverage is about : - 71 % of the code generation engine - 84 % of the compiler - 29 % of the UI

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 46% of the Java source code.

An Ohloh page is available at http://www.ohloh.net/p/acceleo-eclipse/analyses/latest

APIs

Metamodel definitions and corresponding implementations are considered APIs.

Commitment to provide stand-alone code generation.

Non-API classes are separated from the exposed API through an "internal" package.

API Tooling is activated on all plugins to mark exceptions within the exposed API.

Documentation

The documentation that comes with Acceleo 3.0 is available in the Help menu : Acceleo Model To Text Transformation Language.

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.

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

Bugzilla

Note : these figure is subject to change as the whole team is in the process of fixing bugs until the final release (this snapshot has been taken on May 26, 2010)‏

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:

Acceleo at Eclipse Con 2010 : Acceleo Code Generation - Let's start with an Android example and Acceleo at Eclipse Modeling Runaway 2010

Acceleo at Eclipse Summit Europe 2009 : From Acceleo.org to Eclipse Modeling

Acceleo at Eclipse Con 2009 : a Real Standard Alternative for Code Generation

Activity on the M2T newsgroup (eclipse.modeling.m2t) 308 messages on Acceleo from June 2009 to May 2010

Schedule

Since the feature freeze our commitment was to follow the EMF and the MDT OCL builds as closely as possible.

Acceleo 3.0 Release Plan

M1	08/18/2009	
M2	09/29/2009	
M3	11/10/2009	
M4	12/15/2009	
M5	02/02/2010	
M6	03/16/2010	
M7	05/04/2010	
RC1	05/18/2010	
RC2	05/25/2010	
RC3	06/01/2010	
RC4	06/08/2010	
Final	06/16/2010	
3.0	06/23/2010

Project Plan

The Helios project plan is available at http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/m2t/acceleo/plan-helios.xml

- "On file close" support

- Macro support

- Full compatibility with ATL

- Next specification version compatibility

- Improve the bottom-up approach when developing generators

- Advanced quick fixes

- Improve the JUnit tests coverage on the UI

- E4 Compatibility

Legal Notices

Java and all Java-based trademarks are trademarks of Oracle, Inc. in the United States, other countries, or both.

UML, OMG, EMOF, and XMI are trademarks of the Object Management Group.

Other company, product, or service names may be trademarks or service marks of others.

Back to the top