Cinco 0.5 to 0.6 Project Migration

Cinco 0.6 introduces some changes to the specification files, so that they need
to be updated for your existing projects.

Cinco Product Definition

Cinco 0.6 introduces a new specification file format: the Cinco Product
Definition (CPD) which is the new entry point for the product generation. It
allows i.a. to export a Cinco Product into a standalone
application, multiple models (MGLs) and branding.

To retain the 0.5 behavior, a minimal CPD just needs to reference the MGL file:

cincoProduct FlowGraph {
mgl "model/FlowGraph.mgl"

GraphModel Metamodel

With Cinco 0.6 we cleaned up the GraphModel.ecore metamodel, which defines the
parent classes for all classes that are generated for a Cinco product, such as
Edge. For instance every Container now is also a Node, but additionally a
ModelElementContainer. The GraphModel is also a ModelElementContainer, but obviously
not a Node.

Depending on how they are implemented, it might be required for existing code
generators or custom actions to adopt to those changes.

Passing Parameters to Styles

Cinco 0.6 introduces the ability to have multiple text shapes within one style.
Because of that, the number of parameters now needs to be defined explicitely
in parentheses trailing the the style name.

If not all parameters are referenced within a text value (which is most
likely), an index needs to be added to the usage pattern. See
Java Formatter Documentation


nodeStyle swimlane(2) {
rectangle {
appearance {
background (255,236,202)
size (400,100)
text {
position (10,10)
value "%1$s"
text {
position (10,50)
value "%2$s"

Location of Graphiti Editor

In Cinco 0.5 the graphical editor was generated into a dedicated bundle with
.graphiti suffix. In Cinco 0.6 it's generated into the root project (next to the
metamodel). Thus, any existing generated .graphiti project should be deleted