Autoproj v2.14.0
The main highlight of this release is the overhaul of Python support in Autoproj. Thanks to the hard work of @2maz, @ivan1993br and @g-arjones !
Multiple Python versions can now coexist in a system, although not in a single autoproj workspace. For this purpose autoproj users can now be explicitly asked for any needed Python support during a bootstrap, by adding the following to the init.rb:
require 'autoproj/python'
Autoproj::Python.setup_python_configuration_options
In case Python support is requested or implicitly needed, e.g., following a pip dependency in a layout, the user is asked to provide the path to the Python executable to use. By default the Python executable is searched/guessed automatically. Corresponding shims are installed for an active workspace: install/bin/python and install/bin/pip.
To ensure a consistent setup for the generation of language bindings, package definitions in *.autobuild
file can be extended as follows:
cmake_package 'custom/pkg_with_python_bindings' do |pkg|
bin, version, sitelib_path = Autoproj::Python.activate_python_path(pkg)
pkg.define 'PYTHON_EXECUTABLE', bin if bin
pkg.define 'PYTHON_VERSION', version if version
end
The above setting will only be used when the user has requested Python support, or in general, when USE_PYTHON is set to true in the autoproj configuration (see .autoproj/config.yml).