Skip to main content

Allows for parsing LLVM Diagnostics output and create BB code insights accordingly

Project description

Python module for creating Code Insight Reports based on llvm-based diagnostics output.

Installation

$ pip install bitbucket-code-insight-reporter

Example

Example LLVM output:

test.cpp:6:5: warning: use a trailing return type for this function [modernize-use-trailing-return-type]
int main() {
~~~ ^
auto       -> int
test.cpp:11:9: warning: the 'empty' method should be used to check for emptiness instead of comparing to an empty object [readability-container-size-empty]
    if (hello + world == "")
        ^~~~~~~~~~~~~~~~~~~
        hello + world.empty()
../include/c++/v1/string:990:10: note: method 'basic_string'::empty() defined here
    bool empty() const _NOEXCEPT {return size() == 0;}
        ^
test.cpp:11:29: warning: statement should be inside braces [readability-braces-around-statements]
    if (hello + world == "")
                            ^
                            {
test.cpp:15:9: warning: use std::make_unique instead [modernize-make-unique]
    ptr.reset(new std::string{ "xyz" });
    ~^~~~~ ~~~~~~~~~~~~~~~~       ~
        = std::make_unique<std::string>
test.cpp:16:15: warning: use nullptr [modernize-use-nullptr]
    ptr.reset(NULL);
            ^~~~
            nullptr
test.cpp:19:5: warning: use range-based for loop instead [modernize-loop-convert]
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
    ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        (int & it : vec)
test.cpp:19:10: warning: use auto when declaring iterators [modernize-use-auto]
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
        ^
note: this fix will not be applied because it overlaps with another fix
test.cpp:19:77: warning: statement should be inside braces [readability-braces-around-statements]
    for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
                                                                            ^
                                                                            {

Example execution

code_insight_reporter generate --id clang_format --title "Clang Format" --details "Overview of all warnings reported by Clang Format" --reporter "Bob Builder" --llvm-logging ./path/to/logging.out  --output ./path/to/report.json
code_insight_reporter report--bitbucket-server https://bitbucket.url.com --username bob --password builder --bitbucket-project BOB --repository-slug builder --commit-hash 1234567890 --report-file ./path/to/report.json

Usage

Usage: code_insight_reporter [OPTIONS] COMMAND [ARGS]...

Options:
--verbose  Enable verbose output
--help     Show this message and exit.

Commands:
generate
report
Usage: code_insight_reporter report [OPTIONS]

Options:
--bitbucket-server TEXT   URL for the BitBucket server  [required]
--username TEXT           Username associated with BitBucket  [required]
--password TEXT           Password associated with BitBucket  [required]
--bitbucket-project TEXT  BitBucket project name  [required]
--repository-slug TEXT    BitBucket repository slug name  [required]
--commit-hash TEXT        Commit Hash to associate the Code Insights Report
                            with  [required]

--report-file FILENAME    Code Insights Report identifier  [required]
--help                    Show this message and exit.
Usage: code_insight_reporter generate [OPTIONS]

Options:
--id TEXT            Unique identifier for the report  [required]
--title TEXT         Humand readable title for the Code Insight report
                    [required]

--details TEXT       Additional details to share withing the Code Insight
                    report

--reporter TEXT      Reference to the reporter of the Code Insight Report
--link TEXT          Link towards an external report
--logo-url TEXT      Link towards an image to be shown in the Code Insight
                    report

--workspace TEXT     Absolute path towards the root of the repository. This
                    will be stripped from the file paths in the LLVM
                    logging.

--llvm-logging TEXT  Path pointing to logging file containing llvm
                    diagnostics messages  [required]

--output FILENAME    Path towards the output file  [required]
--help               Show this message and exit.

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

bitbucket-code-insight-reporter-0.0.9.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

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