Tools for package creators¶
With some python (or just pure shell or bash) scripting, we could easily automate the whole
package creation and testing process, for many different configurations.
For example you could put the following script in the package root folder. Name it
import os, sys import platform def system(command): retcode = os.system(command) if retcode != 0: raise Exception("Error while executing:\n\t %s" % command) if __name__ == "__main__": system('conan export demo/testing') params = " ".join(sys.argv[1:]) if platform.system() == "Windows": system('conan test_package -s compiler="Visual Studio" -s compiler.version=14 %s' % params) system('conan test_package -s compiler="Visual Studio" -s compiler.version=12 %s' % params) system('conan test_package -s compiler="gcc" -s compiler.version=4.8 %s' % params) else: pass
This is a pure python script, not related to conan, and should be run as such:
$ python build.py
We have developed another FOSS tool for package creators, conan package tools to ease the task of generating multiple binary packages from a package recipe. It offers a simple way to define the different configurations and to call “conan test”. Also offers CI integration like Travis CI, Appveyor and Bamboo, for cloud based automated binary package creation, testing and uploading.
This tool enables the creation of hundreds of binary packages in the cloud with a simple
- Make easier the generation of multiple conan packages with different configurations.
- Automated/remote package generation in Travis/Appveyor server with distributed builds in CI jobs for big/slow builds.
- Docker: Automatic generation of packages for gcc 4.6, 4.8, 4.9, 5.2 and 5.3 in any Linux, also in Travis CI.
- Automatic creation of OSX packages, also in Travis-CI.
- Visual Studio: Automatic configuration of command line environment with detected settings.
It’s available in pypi:
pip install conan_package_tools
Read the README.md in the Conan Package Tools repository.