Skip to main content

A friendly wrapper for colcon

Project description

Spadix, a friendly wrapper for colcon

Copyright 2021-2024 SafeAI

Copyright 2025 Pronto.AI

Why?

Our company uses colcon (from collective construction build manager) as our main build management tool for many years.

While we like this package, it has its problem areas, in our opinion, especially when used by unexperienced engineers.

  • Default build is not a merged one, and this disables Doxygen build
  • It is allowed to run from any directory in the project tree, making the tree contaminated with build artifacts
  • By default console output is switched off and switching it back on requires an additional parameter
  • It requires few additional parameters to run gtest alone

We decided to fix these deficiencies and created a wrapper spadix around colcon. Catkin, ament, colcon, spadix... Got it?

How

spadix accepts all colcon commands and options plus it adds and modifies few commands on its own.

Usage:

spadix [Global options] [command] [command options] ...

[Global options]
--no-merge  : Do not use --merge-install option for colcon
--no-console  : Do not use the default console mode: `--event-handlers console_cohesion+`
--no-root-check  : Do not check that spadix being started from the root of a git project
--ninja  : Use Ninja for building when available
--non-ninja  : Do not use Ninja for building, even if it is available

Commands:
clean  :Clean all projects (essentially executes `rm -rf log install build`)
clean:<project1>[,<project2>...]  :Clean selected, comma-separated projects. Spaces not supported

build  :Build all projects using --merge-install settings
build:<project1>[,<project2>...]  Build selected, comma-separated projects. Spaces not supported
    Build options:
        --release   : RelWithDebInfo (debug build by default)
        --no-fif    : Disable Failure Injection Framework (FIF enabled by default)

test  :Test all projects using --merge-install settings
test:<project1>[,<project2>...]  :Test selected, comma separated projects

gtest:<project> [gtest parameters]  :Run gtest only ('build/test_<project name>')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spadix_cli-0.7.8.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spadix_cli-0.7.8-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file spadix_cli-0.7.8.tar.gz.

File metadata

  • Download URL: spadix_cli-0.7.8.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for spadix_cli-0.7.8.tar.gz
Algorithm Hash digest
SHA256 5ede12f0b2607a458367d550d97c21083b73fb5c7b69685468ea95f968030e76
MD5 33c4031e678daebd600c67f1ce7021ea
BLAKE2b-256 d149f0bc4bc4a4522c15025a50ceef01485e07ccf611b9ef1afe4f85d8cab5c3

See more details on using hashes here.

File details

Details for the file spadix_cli-0.7.8-py3-none-any.whl.

File metadata

  • Download URL: spadix_cli-0.7.8-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for spadix_cli-0.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 73d66e9a6551c3dd87eb021d93059a7d18d9fd36928e00a415add5cb2683ce4c
MD5 020dc171486a7718f9454160b92f4c8b
BLAKE2b-256 c22fe5339019cc397151d599ffac599e40a3b0cc34d7d479e7108fdcad3095ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page