Today I am pleased to announce the release of
barectf 2.1!
The major new feature is the ability to
include one or more external YAML files
as the base properties of the metadata, clock, trace, stream, and
event objects.
I wrote a few
"standard" partial configuration files
which are installed with barectf 2.1.
I moved all the single-page documentation to a more organized project
wiki. This could eventually
be moved again to a standalone website if need be.
This new version also allows optional object properties to be forced to
their default values by setting them to null
, not unlike
CSS3's initial
keyword.
This is useful when using
type inheritance
or inclusions, for example:
type-aliases:
base-int:
class: int
size: 23
align: 16
base: oct
child-int:
$inherit: base-int
base: null
In the example above, the child-int
type object inherits its parent's
base
property (oct
), but it's reset to its default value (dec
) by
setting it to null
.
I also added configuration file tests to the project. The tests are
executed by LTTng's CI tool.
The testing framework only depends on Bash. Those tests highlighted a
bunch of bugs here and there which I fixed.
A summary of the changes is available in the new
barectf changelog.