What is autoproj ?
------------------
autoproj is the meta-build-system used by the Orocos Toolchain and the
upcoming Robot Construction Kit (rock)
There should be no backward-incompatible changes. Build configuration
broken after this release are an autoproj bug.
An important change is that autoproj configuration is no longer
maintained on doudou.github.com/autoproj. It is now maintained along
with the rock configuration at rock-robotics.org
The autoproj_bootstrap script is still maintained at both
doudou.github.com/autoproj/autoproj_bootstrap and
rock-robotics.org/autoproj_bootstrap. The former will be removed in the
future, so update your bootstrap procedures.
See http://rock-robotics.org/autoproj/index.html for more information
Changelog
---------
This changelog contains the changes from 1.6.1 to 1.7.0, as 1.6.2's
changelog has never been published
== For basic use
* overhauled osdeps fine-grained configuration. See
http://rock-robotics.org/autoproj/osdeps.html
for more information
* removed some OS dependency updates that should not be there. In
practice, it means that build and fast-build will generally be a
lot faster
* fix too-aggressive caching of operating system characteristics,
which breaks on OS upgrades.
* on Debian-like systems, filter out packages that are already
installed. I.e. autoproj will not upgrade already installed packages
as it used to.
* on all systems, filter packages that have already been handled by
the osdeps
* add a -k option that continues operation even after errors. The sum
of all errors are properly presented at the end of the run.
* when boostrapping, check that the current directory is empty and
warn if it is not.
* The shell function "acd", akin to rosbuild's roscd, is also
provided for recognized shells (bash and zsh at the moment). The
relevant files are sourced in env.sh if the user's shell is
compatible
See http://rock-robotics.org/quick_start.html#shell_helpers
* added an easier way to add a local checked-out package to a build
without going through editing 20 files. Packages are automatically
detected and added to the build as soon as their path, relative to
the root dir, are explicitely listed in autoproj/manifest.
See http://rock-robotics.org/autoproj/autoproj/adding_packages.html
* added the --stats option that displays timing statistics about the
build. Raw statistics are always saved in install/log/stats.log
== For advanced use
* introduced cross-package-set imports. A package set can now tell
autoproj to install another one in a recursive manner
See
http://rock-robotics.org/autoproj/advanced/cross_set_dependencies.html
* added optional dependencies, which will not be considered if the
depended- upon package is either not existing or is explicitely
excluded from the build.
See http://rock-robotics.org/autoproj/advanced/package_dependencies.html
* added the #package toplevel method to get a package handle, i.e.
package('orocos/rtt')
is equivalent to the former
Autobuild::Package['orocos/rtt']
* added tools to test the build configuration on build servers.
- the --randomize-layout option which makes autoproj build each
package in a separate non-trivial subfolder, and install it in a
separate folder as well. This is meant to test the definition and
handling of dependencies between the different packages.
- the autoproj_stress_test script clears the layout and adds
packages one by one in a random order, testing at each step if
the resulting configuration works fine. It turns on
--randomize-layout as well.
* "acd" is using the autolocate tool, which returns the full path to
a certain package. This tool is meant to be used
* created a way to easily initialize an autoproj environment for
script writers. See autoproj_stress_test and autolocate in
autoproj's source for examples.