Skip to main content

Convert a CppCheck XML report to a GitLab-compatible Code Quality JSON report.

Project description

cppcheck-codequality

badge-pypi   badge-pypi-downloads

badge-pipeline   badge-coverage   badge-pylint   badge-formatting   badge-issues-cnt

About

I wanted reports from CppCheck to appear in GitLab Merge Requests as Code Quality reports, which is a JSON file defined by the Code Climate team/service.

That's all this does: convert CppCheck XML to Code Climate JSON.

Usage

It is primarily used as a console script. As such, ensure you have Python 3's "scripts" directory in your PATH variable. For example, on Linux, that might be $HOME/.local/bin.

To test, try the --help or --version flags:

cppcheck-codequality --help

CppCheck already has a script to convert its XML report to HTML for easy human reading. See "Chapter 11 HTML Report" in the CppCheck Manual

This script follows that example and provides similar command-line options. A typical workflow might look like this:

# Generate CppCheck report as XML
cppcheck --xml --enable=warning,style,performance ./my_src_dir/ 2> cppcheck_out.xml
# Convert to a Code Climate JSON report
cppcheck-codequality --input-file cppcheck_out.xml --output-file cppcheck.json

If you wanted, you could invoke the script directly as a module, like this:

# Run as a module instead (note the underscore in the module name here)
python -m cppcheck_codequality --input-file=cppcheck_out.xml --output-file=cppcheck.json

Now, in your GitLab CI script, upload this file as a Code Quality report.

my-code-quality:
  script:
    - [...]
  artifacts:
    reports:
      codequality: cppcheck.json

Contributing

  • Sign the contributor agreement (coming soon)
  • Format with black
  • Check with pylint

Credits & Trademarks

CppCheck is an open-source project with a GPL v3.0 license.

"Code Climate" may be a registered trademark of Code Climate, Inc. which provides super-cool free and paid services to the developer community.

"GitLab" is a trademark of GitLab B.V.

All other trademarks belong to their respective owners.

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

cppcheck_codequality-1.4.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

cppcheck_codequality-1.4.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file cppcheck_codequality-1.4.1.tar.gz.

File metadata

  • Download URL: cppcheck_codequality-1.4.1.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.7.17 Linux/5.4.109+

File hashes

Hashes for cppcheck_codequality-1.4.1.tar.gz
Algorithm Hash digest
SHA256 3fef810e285f4126af8faad5472aa4356e1083bbd407fb263077a4081ecc1827
MD5 cc0d4cd2bdeb6588cfb41fa0c5b2efb0
BLAKE2b-256 bf7e2d906a23395a8e4cdc26cfba4e9ce8af5520de60f1aa2e8c933bc896994d

See more details on using hashes here.

File details

Details for the file cppcheck_codequality-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cppcheck_codequality-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbf4be8e93eacaaf45ad2eae7b59087fbd962e9ef93813fda24086fc94b8dd4d
MD5 9fab13e495bf20603ec78f3b747fc45c
BLAKE2b-256 c7df344eb83165c8f6983725a0b5800b5da7eb214a96ac6acc338c5b10073eba

See more details on using hashes here.

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