Skip to main content

Execute make, cmake, maven and parses gcc/llvm output

Project description

Build Driver

Possible integration into build:

Building project-foo, this may take a while
Compiling failed for compilation unit 'lib-bar'
Error: ‘stderr’ undeclared (first use in this function) in function qux.c line 23
The complete build log is available at '/tmp/build-392193.log'

A simple GCC/LLVM (clang) output parser. It reads lines from compiler and makefile runs, parse, split them and provides parsed information in a harmonized format.

It is possible to configure what you want: access to the pased information? Counters? Affected files?

Installation

Simple install this module via pip (pip for Python 2 is also supported)

pip3 install --user builddriver

Usage

As Python Module

import builddriver

result = builddriver.execute('make -C path/to/makfile')
# now wait until make finished, after that the following
# function can be used:
result.returncode()
result.errors_no()
result.warnings_no()
result.taillog()
result.build_duration()
result.build_duration_human()
result.log()
result.tmp_name()
result.tmp_file_rm()
list(result.errors())
list(result.warnings())

As Python Executable

Compiling the Linux Kernel (not a "good" example, because there is usually no warning in the build, except you increase the warning level somehow):

$ python3 -m builddriver make -j16 V=2 O=../linux-build
builddriver executing: 'make -j16 V=2 O=../linux-build'
Compilation SUCCEED in 297.833702 seconds
Number of warnings: 0

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

builddriver-0.9.0.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

builddriver-0.9.0-py2.py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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