dev-pipeline
A tool to help manage projects with dependencies spread across repositories.
Inspiration
I work on several projects spread across repositories; some of these leverage sub-repositories in some form, and it's led to additional complexity trying to stay in sync (especially when dealing with merges, release lines, hot fixes, and all the other fun things that happen in large software projects). The goal here is to have a suite of scripts to help keep repositories in sync and working well together, without the issues that sub-repositories introduce.
Installation
Requirements
dev-pipeline requires python3; python2 will not work.
From PyPi
If a published version is good enough, you can install using pip. PyPi has all published versions, including alpha and beta releases.
$ pip3 install dev-pipeline
From Source
If the version in PyPi isn't recent enough, you can install directoy from source using pip. Because dev-pipeline is spread across several repositories (each tool and plugin is tracked separately), you'll need to install all of them as well (see their documentation). Dependencies are listed in setup.py.
$ cd /path/to/dev-pipeline
$ pip3 install
If you don't have pip available, you can run setup.py
directly.
$ cd /path/to/dev-pipeline
$ python3 setup.py install
If the install completes without errors, then you're good to go.
Using
The first thing you'll need to do is write a build configuration. Once you're ready, a build directory.
# configure with default settings
$ dev-pipeline configure
If everything went well, you're ready to build.
# enter whatever directory the configure step used
$ cd build
# bootstrap will both pull the package sources and build them
$ dev-pipeline bootstrap
That's it. Check the tool documentation for information on what's available.