Jump to: navigation, search

Difference between revisions of "Acceleo/Wishlist"

(Parser)
(Tooling)
 
Line 13: Line 13:
 
=== Checkstyle for Acceleo ===
 
=== Checkstyle for Acceleo ===
 
Support for checkstyle rules for Acceleo.
 
Support for checkstyle rules for Acceleo.
 
=== Documentation of the standard Acceleo and OCL library ===
 
The completion system should provide the documentation for the Acceleo and OCL operation. If you want to comment or help code this feature, see bugzilla entry [https://bugs.eclipse.org/bugs/show_bug.cgi?id=322993 322993].
 
  
 
=== Declaration view ===
 
=== Declaration view ===

Latest revision as of 11:33, 22 February 2012

The Acceleo Wishlist

This page will contain a list of some features that have been requested by members of the Acceleo community and that are not in the roadmap of the Acceleo dev team. Those features may be realized someday and if someone wants to contribute to Acceleo, this is definitely the right place to start. Those features are ranked by type and each of them contains a small summary of the task requested and where to find a possible starting point in the Acceleo source code to realize those features.

How to contribute ?

In order to contribute, you can find here a small guide to create a development environment. After having installed a development environment, you can create a bug entry on the Bugzilla.

Tooling

Camel case support in the Acceleo tooling

We should be able to type something like MAM and Ctrl+Space and have MyAcceleoModule instead for example. It should work for the completion, the quick outline, etc. If you want to comment or help code this feature, see bug 325310.

Checkstyle for Acceleo

Support for checkstyle rules for Acceleo.

Declaration view

The documentation should be available in a documentation view, just like in Java

Call hierarchy

The call hierarchy view and its shortcut (Ctrl+Alt+H) should be available with the same behavior as in the JDT.

Type Hierarchy

The type hierarchy view, its quick view and its shortcut should be available with the same behavior as in the JDT.

Smarter highlighting

The highlighting of a block should not highlight the whole block but its beginning and end. It would be useful for nested "if", "for" and "else". Should also be implemented to highlight matching parenthesis, brackets, angle brackets... in OCL expressions. If you want to comment or help code this feature, see bugzilla entry 319081.

Ant support

Acceleo should have more Ant tasks to manipulate the parser and the engine.

Maven support

Acceleo should have a support for maven to manipulate the parser and the engine.

Cheat sheet

Cheat sheets should be integrated to Acceleo in order to provide the user with tutorials and documentation.

Code templates

A preference menu with code templates for Acceleo should be available.

Classpath container

The Acceleo builder/compiler and the Acceleo runtime should be available as classpath container in order to be easily included in Java project within Eclipse. An example of what the result could look like is available here. If you want to comment or help code this feature, see bug 330351.

Improved Acceleo wizard

The Acceleo wizard allow the user to create an Acceleo project and then to create a UI plugin for Eclipse containing the generators created with Acceleo in order to integrate them seamlessly within Eclipse. This wizard should provide more option for the creation of the µEclipse plugin containing the generator. On of these options could be to be able to have the bundle in the classpath thanks to a classpath container.

Documentation generation

Just like Java can generate a HTML documentation, we would like to be able to generate a HTML version of the Acceleo documentation.

BIRT integration

Acceleo should have a connector with BIRT to use the graph framework of BIRT for the profiling or the traceability.

Java Integration

Improve Java services.

Integration in the Welcome page

Acceleo should be integrated in the welcome page of Eclipse.

Orion prototype

Acceleo should have a working prototype on Orion

Remote Generation

Currently, Acceleo only knows how to launch a generation on emtl files that are on the local machine (file-scheme URIs). It would be interesting for it to also work with "remote" emtl that could be located on a server (http, ftp...), on a repository (CVS, SVN, git...) and so on.

Model Coverage View

The Model Coverage View should display the element from the metamodel that are used by the generator. The view should present a tree based representation of the model just like the Ecore Sample Editor with the element used by the generator in green and the unused elements in red. This view should also be linked to the drag and drop system of the Acceleo editor in order to generate a new template / query for an element. This view could also modify the completion within the Acceleo Editor by modifying the completion for a new template / query for a completion typed with the unused elements of the metamodel. The view should also let the user provide an example of a model using the current metamodel in order to limit the elements shown in the view to the element used in the example model in order to improve the example based approach.

Module Formatter

Though most of the Acceleo modules cannot be formatted lest we prevent the generation of some whitespaces, there are places in the Acceleo modules that can be "safely" formatted. It would be interesting to isolate these "safe" locations and determine a set of rules for their formatting. For example, OCL expressions (as in Acceleo queries' bodies) can be safely altered without changing their output. That would allow us to properly format an OCL "if" or "let" expression for example.

Language

Post-Processing at the file level

Acceleo should provide a way to create services that will modify the file as a whole after its generation. For example when generating Java, we'd like to have a service which would record a list of Strings as the evaluation runs (for example, "java.util.List", "java.util.Set", "java.util.ArrayList", ...) and which would add the "import" clauses for all of the Strings contained by this list to the generated file.

Parser

Distributed parsing

The Acceleo parser should be able to parse several files at the same time.

Engine

Compilation on the fly

The AbstractAcceleoGenerator should be changed to allow the compilation on the fly of the mtl files if the emtl files are not found.

Debugging of OCL expressions

The Acceleo debugger should be able to visit the content of an OCL expression.

Other

Export the profiling data into "gprof" file

Acceleo should provide a way to create the data from the profiling as a "gprof" file. If you want to comment or help code this feature, see bug 293304.

Stand alone unit testing framework

Acceleo modules should be easy to test thanks to a stand alone testing framework. An example of this framework can be seen here.


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