[Rock-dev] Final merge of the roby3/syskit2 branches

Sylvain Joyeux bir.sylvain at gmail.com
Tue Mar 13 16:36:07 CET 2018


Roby 3.0 and Syskit 2.0 have been developed in the course of the flat
fish project. A big bunch of changes have already been merged on the
master branches, but far from everything.

I was hoping to cut an Rock release before I merge them, but it's
obviously unrealistic now, especially with 18.04 around the corner.
I'm therefore planning to merge these branches in master at the
beginning of next week. The current state of master has been saved as
a tag, so anyone can add the following to their overrides to keep
running the current versions:

- tools/metaruby:
  tag: v1.1.0
- tools/roby:
  branch: v1.5.0
- tools/syskit:
  branch: v1.5.0

The way this is happening is unfortunate, and should obviously not be
repeated. I obviously did not spend enough time reaching out during
the FF developments.

Anyways, here we are. The two branches have a lot of fairly critical
improvements, but do break backward compatibility in ways that are now
hard to predict. I've tried to keep compatibility as much as I could
every step of the way, but without actually old bundles to test it
against, I really couldn't check.

I'll be glad to try and either help you upgrade, or find whether it
would be practical to add more backward compatibility patches to the
new code to support your existing bundles. Feel free to open an issue
on github (just stick to github.com/rock-core/tools-roby, I'll triage
later).

The easiest to get a refresher in "modern" Roby/Syskit would be to
follow the new documentation that is being written:

    https://doudou.github.io/rock_website/

The main part that is missing is unit testing support, which is next on my list.

The *one* known backward-incompatible change is in TaskContext's
#configure methods. Setting properties there MUST now be done
accessing the new `properties` accessor instead of orocos_task:

~~~
orocos_task.my_property = 42
~~~

becomes

~~~
properties.my_property = 42
~~~

The common_models bundle
(https://github.com/rock-core/bundles-common_models), that had already
been announced, is basically an updated rock bundle, following the
naming scheme that was agreed when I still was at DFKI.

Sylvain


More information about the Rock-dev mailing list