summaryrefslogtreecommitdiff
path: root/python-cppcheck-codequality.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-cppcheck-codequality.spec')
-rw-r--r--python-cppcheck-codequality.spec343
1 files changed, 343 insertions, 0 deletions
diff --git a/python-cppcheck-codequality.spec b/python-cppcheck-codequality.spec
new file mode 100644
index 0000000..9513eef
--- /dev/null
+++ b/python-cppcheck-codequality.spec
@@ -0,0 +1,343 @@
+%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 <Python_Bot@openeuler.org> - 1.3.1-1
+- Package Spec generated