Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Papyrus/Mars Work Description/NewFeature/CodeGen

Code generation at build time

This page presents the requirements and design notes for code generation at build time.

Contexte

Papyrus holds many technologies in charge of code generation. We can list here:

- Xtend

- Xtext and its associated Modeling Workflow Engine 2, MWE2.

In the actual Papyrus’s developing process, those technologies are called manually and at a given time. One developer is in charge to open Eclipse, and to have the Eclipse’s plugins (Xtend for instance) and to run the code generation, and then to upload code the source code repository.

At first usage, the generated code is up-to-date but it is possible that if the code generator engine has evolved, we could get some inconsistencies. For example, it could result in no up-to-date codes or missing files and sometime in files that should have been deleted/not generated.

Additionally to this problem, it introduces also bad developer’s practices. It has been noticed that developers modify directly the generated code whereas this one has to be regenerated every time. The good practices should to extend these classes in different packages. This practice was encouraged by the commit of the generated code into the source code repository, leading also to increasing the total eight of the project.

Here we propose to reintroduce different workflows in charge of code generation at build time, to remove the backup of generated codes.

Requirements

Bugzilla

The main bugzilla enhancement item tracking progress of this feature is

Back to the top