Skip to content

Dogen v0.97.0, "Marginal"

Compare
Choose a tag to compare
@mcraveiro mcraveiro released this 13 Feb 12:24
· 7486 commits to master since this release

alt text
Marginal de Moçamedes, Namibe, Angola. (C) Angola Bela. Sourced from Angola Bela's site.

Overview

This sprint had work slightly scattered, but the core work are a few interesting features for users around enumerations and primitives - described below.

In this release we also started work on the next generation parser, thanks to @klemens-morgenstern who has laid its foundations. The integration work of this new parser will proceed over the next few sprints.

User visible changes

In this sprint, a small number of user visible changes were made:

  • Enumerations are more configurable: Its now possible to disable the invalid enumeration and add user defined enumeration values. This is useful for defining bitflags for example. See the enumeration test model for examples (Dia, JSON).
  • Introduction of Primitives: A new meta-model concept was introduced called a primitive. This allows users to "redefine" built-in types or other select types such as std::string for their own purposes. As an example you can define a product_id as a primitive with an underlying type of std::string. This makes the models more intuitive and the generated code more readable. See the primitive test model for examples (Dia, JSON).
  • Improvements in Validation: assorted updates to validation, including checking that the enumeration underlying type is valid as an enumeration type, checking for C# keywords, etc.

For more details of the work carried out this sprint, see the sprint log.

Next Sprint

The next sprint will continue to focus on Upsilon and hopefully C#.

Binaries

You can download experimental binaries from Bintray for OSX, Linux and Windows (all 64-bit):

For all other architectures and/or operative systems, you will need to build Dogen from source. Source downloads are available below.