%global _empty_manifest_terminate_build 0 Name: python-cppcheck-codequality Version: 1.3.1 Release: 1 Summary: Convert a CppCheck XML report to a GitLab-compatible Code Quality JSON report. License: MIT URL: https://gitlab.com/ahogen/cppcheck-codequality Source0: https://mirrors.nju.edu.cn/pypi/web/packages/63/01/14f50fe018bf2c66ab58926809f7acf8d8e7653918a20948bb9945bc4fed/cppcheck-codequality-1.3.1.tar.gz BuildArch: noarch Requires: python3-xmltodict %description # cppcheck-codequality [![badge-pypi](https://img.shields.io/pypi/v/cppcheck-codequality.svg?logo=pypi)](https://pypi.python.org/pypi/cppcheck-codequality/)   [![badge-pypi-downloads](https://img.shields.io/pypi/dm/cppcheck-codequality)](https://pypi.org/project/cppcheck-codequality/) [![badge-pipeline](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/pipeline.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-coverage](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/coverage.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-pylint](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=pylint)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-formatting](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=format_black)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-issues-cnt](https://img.shields.io/badge/dynamic/json?label=issues&query=statistics.counts.opened&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F19114200%2Fissues_statistics%3Fscope%3Dall)](https://gitlab.com/ahogen/cppcheck-codequality/-/issues) ## About I wanted reports from CppCheck to appear in GitLab Merge Requests as [Code Quality reports](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool), 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: ```bash 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](http://cppcheck.sourceforge.net/manual.pdf) This script follows that example and provides similar command-line options. A typical workflow might look like this: ```bash # 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: ```bash # 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](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#artifactsreportscodequality) as a Code Quality report. ```yaml my-code-quality: script: - [...] artifacts: reports: codequality: cppcheck.json ``` ### Contributing * Sign the contributor agreement (coming soon) * Format with [black](https://pypi.org/project/black/) * Check with [pylint](https://pypi.org/project/pylint/) ### Credits & Trademarks CppCheck is an open-source project with a GPL v3.0 license. * http://cppcheck.sourceforge.net * https://github.com/danmar/cppcheck "Code Climate" may be a registered trademark of Code Climate, Inc. which provides super-cool free and paid services to the developer community. * https://codeclimate.com * https://github.com/codeclimate "GitLab" is a trademark of GitLab B.V. * https://gitlab.com * https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html All other trademarks belong to their respective owners. %package -n python3-cppcheck-codequality Summary: Convert a CppCheck XML report to a GitLab-compatible Code Quality JSON report. Provides: python-cppcheck-codequality BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cppcheck-codequality # cppcheck-codequality [![badge-pypi](https://img.shields.io/pypi/v/cppcheck-codequality.svg?logo=pypi)](https://pypi.python.org/pypi/cppcheck-codequality/)   [![badge-pypi-downloads](https://img.shields.io/pypi/dm/cppcheck-codequality)](https://pypi.org/project/cppcheck-codequality/) [![badge-pipeline](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/pipeline.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-coverage](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/coverage.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-pylint](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=pylint)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-formatting](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=format_black)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-issues-cnt](https://img.shields.io/badge/dynamic/json?label=issues&query=statistics.counts.opened&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F19114200%2Fissues_statistics%3Fscope%3Dall)](https://gitlab.com/ahogen/cppcheck-codequality/-/issues) ## About I wanted reports from CppCheck to appear in GitLab Merge Requests as [Code Quality reports](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool), 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: ```bash 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](http://cppcheck.sourceforge.net/manual.pdf) This script follows that example and provides similar command-line options. A typical workflow might look like this: ```bash # 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: ```bash # 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](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#artifactsreportscodequality) as a Code Quality report. ```yaml my-code-quality: script: - [...] artifacts: reports: codequality: cppcheck.json ``` ### Contributing * Sign the contributor agreement (coming soon) * Format with [black](https://pypi.org/project/black/) * Check with [pylint](https://pypi.org/project/pylint/) ### Credits & Trademarks CppCheck is an open-source project with a GPL v3.0 license. * http://cppcheck.sourceforge.net * https://github.com/danmar/cppcheck "Code Climate" may be a registered trademark of Code Climate, Inc. which provides super-cool free and paid services to the developer community. * https://codeclimate.com * https://github.com/codeclimate "GitLab" is a trademark of GitLab B.V. * https://gitlab.com * https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html All other trademarks belong to their respective owners. %package help Summary: Development documents and examples for cppcheck-codequality Provides: python3-cppcheck-codequality-doc %description help # cppcheck-codequality [![badge-pypi](https://img.shields.io/pypi/v/cppcheck-codequality.svg?logo=pypi)](https://pypi.python.org/pypi/cppcheck-codequality/)   [![badge-pypi-downloads](https://img.shields.io/pypi/dm/cppcheck-codequality)](https://pypi.org/project/cppcheck-codequality/) [![badge-pipeline](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/pipeline.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-coverage](https://gitlab.com/ahogen/cppcheck-codequality/badges/main/coverage.svg)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-pylint](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=pylint)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-formatting](https://gitlab.com/ahogen/cppcheck-codequality/-/jobs/artifacts/main/raw/badge.svg?job=format_black)](https://gitlab.com/ahogen/cppcheck-codequality/-/pipelines?scope=branches)   [![badge-issues-cnt](https://img.shields.io/badge/dynamic/json?label=issues&query=statistics.counts.opened&url=https%3A%2F%2Fgitlab.com%2Fapi%2Fv4%2Fprojects%2F19114200%2Fissues_statistics%3Fscope%3Dall)](https://gitlab.com/ahogen/cppcheck-codequality/-/issues) ## About I wanted reports from CppCheck to appear in GitLab Merge Requests as [Code Quality reports](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool), 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: ```bash 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](http://cppcheck.sourceforge.net/manual.pdf) This script follows that example and provides similar command-line options. A typical workflow might look like this: ```bash # 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: ```bash # 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](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#artifactsreportscodequality) as a Code Quality report. ```yaml my-code-quality: script: - [...] artifacts: reports: codequality: cppcheck.json ``` ### Contributing * Sign the contributor agreement (coming soon) * Format with [black](https://pypi.org/project/black/) * Check with [pylint](https://pypi.org/project/pylint/) ### Credits & Trademarks CppCheck is an open-source project with a GPL v3.0 license. * http://cppcheck.sourceforge.net * https://github.com/danmar/cppcheck "Code Climate" may be a registered trademark of Code Climate, Inc. which provides super-cool free and paid services to the developer community. * https://codeclimate.com * https://github.com/codeclimate "GitLab" is a trademark of GitLab B.V. * https://gitlab.com * https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html All other trademarks belong to their respective owners. %prep %autosetup -n cppcheck-codequality-1.3.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-cppcheck-codequality -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.3.1-1 - Package Spec generated