%global _empty_manifest_terminate_build 0
Name:		python-pylint-gitlab
Version:	1.2.0
Release:	1
Summary:	This project provides pylint formatters for a nice integration with GitLab CI.
License:	MIT
URL:		https://gitlab.com/smueller18/pylint-gitlab
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/78/a2/7a4dba9f516bc929caa038d87dfd4ea113a122244daa40eeed80e4ed3a2e/pylint-gitlab-1.2.0.tar.gz
BuildArch:	noarch

Requires:	python3-anybadge
Requires:	python3-astroid
Requires:	python3-dill
Requires:	python3-importlib-metadata
Requires:	python3-isort
Requires:	python3-jinja2
Requires:	python3-lazy-object-proxy
Requires:	python3-markupsafe
Requires:	python3-mccabe
Requires:	python3-packaging
Requires:	python3-platformdirs
Requires:	python3-pylint
Requires:	python3-pyparsing
Requires:	python3-tomli
Requires:	python3-tomlkit
Requires:	python3-typing-extensions
Requires:	python3-wrapt
Requires:	python3-zipp

%description
# pylint-gitlab

[![pipeline status](https://gitlab.com/smueller18/pylint-gitlab/badges/master/pipeline.svg)](https://gitlab.com/smueller18/pylint-gitlab/commits/master)
[![coverage](https://gitlab.com/smueller18/pylint-gitlab/badges/master/coverage.svg)](https://smueller18.gitlab.io/pylint-gitlab/coverage/)
[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)
[![pip](https://img.shields.io/pypi/v/pylint-gitlab.svg)](https://pypi.org/project/pylint-gitlab/)

This project provides pylint formatters for a nice integration with GitLab CI.

| Formatter | Description |
| --- | --- |
| `GitlabCodeClimateReporter` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) |
| `GitlabCodeClimateReporterNoHash` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) but without hashing the fingerprint. Needed to work with [nbQA](https://github.com/nbQA-dev/nbQA). |
| `GitlabPagesHtmlReporter` | Creates a table in an HTML page with linting results and links to source code. |

## Usage

Install package `pylint-gitlab`:

```sh
pip install pylint-gitlab
```

The `pylint` package is a dependency of `pylint-gitlab` so it will be installed automatically.

Now the formatters can be used by running `pylint` command and setting custom output formats with parameter `--output-format`.

```sh
pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter . > codeclimate.json
pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter . > pylint.html
```

Alternatively, you can load the `pylint_gitlab` plugin and then use the shortened `--output-format` names:

```sh
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate . > codeclimate.json
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-pages-html . > pylint.html
```

### GitLab CI integration

Here is a minimalistic version for a `.gitlab-ci.yml` file:
```yaml
pylint:
  stage: test
  image: python:3.7-slim
  before_script:
    - mkdir -p public/badges public/lint
    - echo undefined > public/badges/$CI_JOB_NAME.score
    - pip install pylint-gitlab
  script:
    - pylint --exit-zero --output-format=text $(find -type f -name "*.py" ! -path "**/.venv/**") | tee /tmp/pylint.txt
    - sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > codeclimate.json
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > public/lint/index.html
  after_script:
    - anybadge --overwrite --label $CI_JOB_NAME --value=$(cat public/badges/$CI_JOB_NAME.score) --file=public/badges/$CI_JOB_NAME.svg 4=red 6=orange 8=yellow 10=green
    - |
      echo "Your score is: $(cat public/badges/$CI_JOB_NAME.score)"
  artifacts:
    paths:
      - public
    reports:
      codequality: codeclimate.json
    when: always

pages:
  stage: deploy
  image: alpine:latest
  script:
    - echo
  artifacts:
    paths:
      - public
  only:
    refs:
      - master
```

You can then use the published badge for linting results.

[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)

```markdown
[![pylint](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/badges/pylint.svg)](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/lint/)
```


%package -n python3-pylint-gitlab
Summary:	This project provides pylint formatters for a nice integration with GitLab CI.
Provides:	python-pylint-gitlab
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pylint-gitlab
# pylint-gitlab

[![pipeline status](https://gitlab.com/smueller18/pylint-gitlab/badges/master/pipeline.svg)](https://gitlab.com/smueller18/pylint-gitlab/commits/master)
[![coverage](https://gitlab.com/smueller18/pylint-gitlab/badges/master/coverage.svg)](https://smueller18.gitlab.io/pylint-gitlab/coverage/)
[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)
[![pip](https://img.shields.io/pypi/v/pylint-gitlab.svg)](https://pypi.org/project/pylint-gitlab/)

This project provides pylint formatters for a nice integration with GitLab CI.

| Formatter | Description |
| --- | --- |
| `GitlabCodeClimateReporter` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) |
| `GitlabCodeClimateReporterNoHash` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) but without hashing the fingerprint. Needed to work with [nbQA](https://github.com/nbQA-dev/nbQA). |
| `GitlabPagesHtmlReporter` | Creates a table in an HTML page with linting results and links to source code. |

## Usage

Install package `pylint-gitlab`:

```sh
pip install pylint-gitlab
```

The `pylint` package is a dependency of `pylint-gitlab` so it will be installed automatically.

Now the formatters can be used by running `pylint` command and setting custom output formats with parameter `--output-format`.

```sh
pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter . > codeclimate.json
pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter . > pylint.html
```

Alternatively, you can load the `pylint_gitlab` plugin and then use the shortened `--output-format` names:

```sh
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate . > codeclimate.json
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-pages-html . > pylint.html
```

### GitLab CI integration

Here is a minimalistic version for a `.gitlab-ci.yml` file:
```yaml
pylint:
  stage: test
  image: python:3.7-slim
  before_script:
    - mkdir -p public/badges public/lint
    - echo undefined > public/badges/$CI_JOB_NAME.score
    - pip install pylint-gitlab
  script:
    - pylint --exit-zero --output-format=text $(find -type f -name "*.py" ! -path "**/.venv/**") | tee /tmp/pylint.txt
    - sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > codeclimate.json
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > public/lint/index.html
  after_script:
    - anybadge --overwrite --label $CI_JOB_NAME --value=$(cat public/badges/$CI_JOB_NAME.score) --file=public/badges/$CI_JOB_NAME.svg 4=red 6=orange 8=yellow 10=green
    - |
      echo "Your score is: $(cat public/badges/$CI_JOB_NAME.score)"
  artifacts:
    paths:
      - public
    reports:
      codequality: codeclimate.json
    when: always

pages:
  stage: deploy
  image: alpine:latest
  script:
    - echo
  artifacts:
    paths:
      - public
  only:
    refs:
      - master
```

You can then use the published badge for linting results.

[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)

```markdown
[![pylint](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/badges/pylint.svg)](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/lint/)
```


%package help
Summary:	Development documents and examples for pylint-gitlab
Provides:	python3-pylint-gitlab-doc
%description help
# pylint-gitlab

[![pipeline status](https://gitlab.com/smueller18/pylint-gitlab/badges/master/pipeline.svg)](https://gitlab.com/smueller18/pylint-gitlab/commits/master)
[![coverage](https://gitlab.com/smueller18/pylint-gitlab/badges/master/coverage.svg)](https://smueller18.gitlab.io/pylint-gitlab/coverage/)
[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)
[![pip](https://img.shields.io/pypi/v/pylint-gitlab.svg)](https://pypi.org/project/pylint-gitlab/)

This project provides pylint formatters for a nice integration with GitLab CI.

| Formatter | Description |
| --- | --- |
| `GitlabCodeClimateReporter` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) |
| `GitlabCodeClimateReporterNoHash` | Maps the linting result in [Code Climate format](https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html) but without hashing the fingerprint. Needed to work with [nbQA](https://github.com/nbQA-dev/nbQA). |
| `GitlabPagesHtmlReporter` | Creates a table in an HTML page with linting results and links to source code. |

## Usage

Install package `pylint-gitlab`:

```sh
pip install pylint-gitlab
```

The `pylint` package is a dependency of `pylint-gitlab` so it will be installed automatically.

Now the formatters can be used by running `pylint` command and setting custom output formats with parameter `--output-format`.

```sh
pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter . > codeclimate.json
pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter . > pylint.html
```

Alternatively, you can load the `pylint_gitlab` plugin and then use the shortened `--output-format` names:

```sh
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate . > codeclimate.json
pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-pages-html . > pylint.html
```

### GitLab CI integration

Here is a minimalistic version for a `.gitlab-ci.yml` file:
```yaml
pylint:
  stage: test
  image: python:3.7-slim
  before_script:
    - mkdir -p public/badges public/lint
    - echo undefined > public/badges/$CI_JOB_NAME.score
    - pip install pylint-gitlab
  script:
    - pylint --exit-zero --output-format=text $(find -type f -name "*.py" ! -path "**/.venv/**") | tee /tmp/pylint.txt
    - sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > codeclimate.json
    - pylint --exit-zero --output-format=pylint_gitlab.GitlabPagesHtmlReporter $(find -type f -name "*.py" ! -path "**/.venv/**") > public/lint/index.html
  after_script:
    - anybadge --overwrite --label $CI_JOB_NAME --value=$(cat public/badges/$CI_JOB_NAME.score) --file=public/badges/$CI_JOB_NAME.svg 4=red 6=orange 8=yellow 10=green
    - |
      echo "Your score is: $(cat public/badges/$CI_JOB_NAME.score)"
  artifacts:
    paths:
      - public
    reports:
      codequality: codeclimate.json
    when: always

pages:
  stage: deploy
  image: alpine:latest
  script:
    - echo
  artifacts:
    paths:
      - public
  only:
    refs:
      - master
```

You can then use the published badge for linting results.

[![pylint](https://smueller18.gitlab.io/pylint-gitlab/badges/pylint.svg)](https://smueller18.gitlab.io/pylint-gitlab/lint/)

```markdown
[![pylint](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/badges/pylint.svg)](https://<MAIN_GROUP>.gitlab.io/<SUB_GROUP>/<PROJECT>/lint/)
```


%prep
%autosetup -n pylint-gitlab-1.2.0

%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-pylint-gitlab -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Sun Apr 23 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.0-1
- Package Spec generated