Rock

the Robot Construction Kit

Cross-Set Dependencies

A given package set can tell autoproj to import another one BEFORE it gets loaded. This is done in the ‘imports’ section of the source.yml file, using the same syntax that in the ‘package_sets’ section of the manifest

For instance, the rock.core package set has

imports:
- github: orocos-toolchain/autoproj

which means that autoproj will automatically import the orocos toolchain build configuration when the main manifest lists rock.core. It tells you so at checkout with

autoproj: updating remote definitions of package sets
checking out git:git://github.com/rock-core/package_set branch=master
rock.core: auto-importing git:git://github.com/orocos-toolchain/autoproj
checking out git:git://github.com/orocos-toolchain/autoproj

and at update time with

autoproj: updating remote definitions of package sets
updating rock.core
rock.core: auto-importing orocos.toolchain
updating orocos.toolchain

If some imports are not needed (or harmful) to your complete build configuration, they can be disabled package-set-wide either by modifying the manifest or programmatically

Imports will be disabled if you add the “auto_imports: false” flag in the manifest to the package set’s definition:

package_sets:
- type: git
  url: git://github.com/rock-core/package_set
  auto_imports: false

Or by adding the following statement to autoproj/init.rb:

disable_imports_from 'rock.core'