[Rock-dev] Autoproj 1.13.0 has been released !
Sylvain Joyeux
bir.sylvain at gmail.com
Thu Mar 26 18:07:46 CET 2015
Apart from the usual bunch of bugfixes, some important changes are
getting into this release. They are described in more detail below:
- retry behaviour
- versioning support
- autoproj log
- testing support
- forcing the build of excluded packages
Autoproj will update itself the next time you either run "autoproj
update" without arguments, or aup --all
Retry behaviour
=============
autoproj will retry a lot less than before, especially when running
git commands. The only commands that should retry are the ones
accessing the network.
Versioning Support
===============
An overrides.d/ directory can be created in the main autoproj
configuration. This directory can hold override files, whose format is
the same than the overrides: section of overrides.yml. e.g.:
- tools/autobuild:
branch: master
These files are loaded in alphabetical order. One would usually want
to prefix them with two numbers to make the ordering clearer
(00-initial.yml or 99-last.yml)
The use of overrides.yml for this purpose is still supported, but deprecated
-- New commands:
autoproj versions --save=autoproj/overrides.d/10-thisandthat.yml
outputs a "version file" , i.e. a file compatible in the
overrides.d format that "pins" the packages passed on the command line
(or all packages if none are given)
autoproj tag
saves the current versions in overrides.d/50-versions.yml as a
subcommit of autoproj/'s HEAD and saves the result as a tag. This does
not change the current working copy
autoproj commit
saves the current versions in
autoproj/overrides.d/50-versions.yml and commits the result. This
modifies the working copy.
In addition to these new commands, autoproj's update behaviour has
been modified to NOT reset a branch because of commit pinning. One has
to provide the --reset option to get the old behaviour. However, one
will get a "cannot update" error if the pinned commit is not merged in
HEAD and there is a fork situation.
Autoproj log
=========
Autoproj now saves "under the hood" a versions file each time autoproj
update is executed. The resulting log can be accessed with autoproj
log, and an older revision can be checked out with autoproj reset.
Example:
$ autoproj log
autoproj@{0} 81 minutes ago /home/doudou/dev/rock/autoproj/bin/amake --all -k
autoproj@{1} 5 weeks ago /home/doudou/dev/rock/autoproj/bin/aup randward
autoproj@{2} 5 weeks ago /home/doudou/dev/rock/autoproj/bin/aup randward ()
(Note that the amake --all -k line is there because a package needed
to be checked out)
$ autoproj reset autoproj@{0}
Testing support
============
Autoproj learns about a testing target. Tests can be enabled and
disabled on a per-package basis, and dependencies can be made
test-specific using the <test_depend .../> tag instead of the <depend
.../> tag. The test facility can be accessed through the 'autoproj
test' subcommand (see autoproj test --help). It will now be possible
to avoid building usually pretty costly test suites for packages whose
tests are not required.
Sylvain
More information about the Rock-dev
mailing list