diff options
-rw-r--r-- | MANIFEST.in | 3 | ||||
-rwxr-xr-x | bin/epylint | 4 | ||||
-rw-r--r-- | bin/epylint.bat | 5 | ||||
-rwxr-xr-x | bin/pylint | 5 | ||||
-rw-r--r-- | bin/pylint.bat | 5 | ||||
-rwxr-xr-x | bin/pyreverse | 4 | ||||
-rw-r--r-- | bin/pyreverse.bat | 5 | ||||
-rwxr-xr-x | bin/symilar | 4 | ||||
-rw-r--r-- | bin/symilar.bat | 5 | ||||
-rw-r--r-- | pylint/__pkginfo__.py | 19 | ||||
-rw-r--r-- | setup.py | 197 |
11 files changed, 41 insertions, 215 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index 95ea7b400..5c6db2bd5 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,8 +2,7 @@ include ChangeLog include CONTRIBUTORS.txt include COPYING include README.rst -include bin/* -include examples/*.py examples/pylintrc examples/pylintrc_camelcase +include examples/*.py examples/pylintrc examples/pylintrc_camelcase examples/pylintrc include elisp/startup elisp/*.el include pytest.ini recursive-include doc *.bat *.png *.py *.svg *.rst *.txt Makefile diff --git a/bin/epylint b/bin/epylint deleted file mode 100755 index a55adf4c3..000000000 --- a/bin/epylint +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python -from pylint import epylint - -epylint.Run() diff --git a/bin/epylint.bat b/bin/epylint.bat deleted file mode 100644 index 30c46d7be..000000000 --- a/bin/epylint.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -rem Use python to execute the python script having the same name as this batch -rem file, but without any extension, located in the same directory as this -rem batch file -"%~dpn0" %* diff --git a/bin/pylint b/bin/pylint deleted file mode 100755 index f2bbcc2ad..000000000 --- a/bin/pylint +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python -# pylint: disable=import-self -from pylint import run_pylint - -run_pylint() diff --git a/bin/pylint.bat b/bin/pylint.bat deleted file mode 100644 index 0ff3e3ddc..000000000 --- a/bin/pylint.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off
-rem Use python to execute the python script having the same name as this batch
-rem file, but without any extension, located in the same directory as this
-rem batch file
-"%~dpn0" %*
diff --git a/bin/pyreverse b/bin/pyreverse deleted file mode 100755 index d0b080dfc..000000000 --- a/bin/pyreverse +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python -from pylint import run_pyreverse - -run_pyreverse() diff --git a/bin/pyreverse.bat b/bin/pyreverse.bat deleted file mode 100644 index 30c46d7be..000000000 --- a/bin/pyreverse.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -rem Use python to execute the python script having the same name as this batch -rem file, but without any extension, located in the same directory as this -rem batch file -"%~dpn0" %* diff --git a/bin/symilar b/bin/symilar deleted file mode 100755 index 7125d1f91..000000000 --- a/bin/symilar +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python -from pylint import run_symilar - -run_symilar() diff --git a/bin/symilar.bat b/bin/symilar.bat deleted file mode 100644 index 0ff3e3ddc..000000000 --- a/bin/symilar.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off
-rem Use python to execute the python script having the same name as this batch
-rem file, but without any extension, located in the same directory as this
-rem batch file
-"%~dpn0" %*
diff --git a/pylint/__pkginfo__.py b/pylint/__pkginfo__.py index bbcb9f14d..d76047e0d 100644 --- a/pylint/__pkginfo__.py +++ b/pylint/__pkginfo__.py @@ -24,11 +24,6 @@ # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/master/COPYING -# pylint: disable=redefined-builtin,invalid-name -"""pylint packaging information""" - - -from os.path import join from typing import Optional version = "2.8.0" @@ -48,21 +43,13 @@ install_requires = [ "mccabe>=0.6,<0.7", "toml>=0.7.1", ] - -dependency_links = [] # type: ignore - -extras_require = {} -extras_require[':sys_platform=="win32"'] = ["colorama"] -extras_require["docs"] = ["sphinx==3.5.1", "python-docs-theme==2020.12"] - -license = "GPL-2.0-or-later" +license = "GPL-2.0-or-later" # pylint: disable=redefined-builtin description = "python code static checker" web = "https://github.com/PyCQA/pylint" mailinglist = "mailto:code-quality@python.org" project_urls = {"What's New": "https://pylint.pycqa.org/en/latest/whatsnew/"} author = "Python Code Quality Authority" author_email = "code-quality@python.org" - classifiers = [ "Development Status :: 6 - Mature", "Environment :: Console", @@ -82,7 +69,3 @@ classifiers = [ "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing", ] - -scripts = [ - join("bin", filename) for filename in ("pylint", "symilar", "epylint", "pyreverse") -] @@ -1,166 +1,47 @@ -# Copyright (c) 2006, 2009-2010, 2012-2014 LOGILAB S.A. (Paris, FRANCE) <contact@logilab.fr> -# Copyright (c) 2012 FELD Boris <lothiraldan@gmail.com> -# Copyright (c) 2013 Benedikt Morbach <benedikt.morbach@googlemail.com> -# Copyright (c) 2013 T.Rzepka <Tobias.Rzepka@gmail.com> -# Copyright (c) 2014-2020 Claudiu Popa <pcmanticore@gmail.com> -# Copyright (c) 2014 Pedro Algarvio <pedro@algarvio.me> -# Copyright (c) 2014 Brett Cannon <brett@python.org> -# Copyright (c) 2014 Google, Inc. -# Copyright (c) 2014 Ricardo Gemignani <ricardo.gemignani@gmail.com> -# Copyright (c) 2015 Ionel Cristian Maries <contact@ionelmc.ro> -# Copyright (c) 2016 Florian Bruhin <me@the-compiler.org> -# Copyright (c) 2017 Hugo <hugovk@users.noreply.github.com> -# Copyright (c) 2019-2021 Pierre Sassoulas <pierre.sassoulas@gmail.com> -# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com> -# Copyright (c) 2019 Hugo van Kemenade <hugovk@users.noreply.github.com> -# Copyright (c) 2019 Ashley Whetter <ashley@awhetter.co.uk> -# Copyright (c) 2020 frostming <frostming@tencent.com> -# Copyright (c) 2020 Frost Ming <mianghong@gmail.com> -# Copyright (c) 2020 hippo91 <guillaume.peillex@gmail.com> -# Copyright (c) 2020 Damien Baty <damien.baty@polyconseil.fr> -# Copyright (c) 2020 Bryce Guinta <bryce.guinta@protonmail.com> -# Copyright (c) 2020 Ville Skyttä <ville.skytta@iki.fi> -# Copyright (c) 2020 Anthony Sottile <asottile@umich.edu> -# Copyright (c) 2021 Marc Mueller <30130371+cdce8p@users.noreply.github.com> - # Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/master/COPYING -"""Generic Setup script, takes package info from __pkginfo__.py file.""" - -# pylint: disable=import-outside-toplevel,arguments-differ,ungrouped-imports,exec-used - -import os -import sys -from distutils.command.build_py import build_py -from os.path import exists, isdir, join +from pathlib import Path from typing import Any, Dict -try: - from setuptools import setup - from setuptools.command import easy_install as easy_install_lib - - USE_SETUPTOOLS = 1 -except ImportError: - from distutils.core import setup - - USE_SETUPTOOLS = 0 - easy_install_lib = None - +import setuptools -__docformat__ = "restructuredtext en" -base_dir = os.path.dirname(__file__) +HERE = Path(__file__).parent __pkginfo__: Dict[str, Any] = {} -with open(os.path.join(base_dir, "pylint", "__pkginfo__.py")) as pkginfo_fp: - exec(pkginfo_fp.read(), __pkginfo__) -scripts = __pkginfo__.get("scripts", []) -data_files = __pkginfo__.get("data_files", None) -ext_modules = __pkginfo__.get("ext_modules", None) -install_requires = __pkginfo__.get("install_requires", None) -dependency_links = __pkginfo__.get("dependency_links", []) -extras_require = __pkginfo__.get("extras_require", {}) -project_urls = __pkginfo__.get("project_urls", {}) - -readme_path = join(base_dir, "README.rst") -if exists(readme_path): - with open(readme_path, encoding="UTF-8") as stream: - long_description = stream.read() -else: - long_description = "" - - -needs_pytest = {"pytest", "test", "ptr"}.intersection(sys.argv) -pytest_runner = ["pytest-runner"] if needs_pytest else [] - - -def ensure_scripts(linux_scripts): - """Creates the proper script names required for each platform - (taken from 4Suite) - """ - from distutils import util - - if util.get_platform()[:3] == "win": - return linux_scripts + [script + ".bat" for script in linux_scripts] - return linux_scripts - - -def get_packages(directory, prefix): - """return a list of subpackages for the given directory""" - result = [] - for package in os.listdir(directory): - absfile = join(directory, package) - if isdir(absfile): - if exists(join(absfile, "__init__.py")): - if prefix: - result.append(f"{prefix}.{package}") - else: - result.append(package) - result += get_packages(absfile, result[-1]) - return result - - -def _filter_tests(files): - testdir = join("pylint", "test") - return [f for f in files if testdir not in f] - - -if easy_install_lib: - - class easy_install(easy_install_lib.easy_install): - # override this since pip/easy_install attempt to byte compile - # test data files, some of them being syntactically wrong by design, - # and this scares the end-user - def byte_compile(self, files): - files = _filter_tests(files) - easy_install_lib.easy_install.byte_compile(self, files) - - -def install(**kwargs): - """setup entry point""" - if USE_SETUPTOOLS: - if "--force-manifest" in sys.argv: - sys.argv.remove("--force-manifest") - packages = ["pylint"] + get_packages(join(base_dir, "pylint"), "pylint") - if USE_SETUPTOOLS: - if install_requires: - kwargs["install_requires"] = install_requires - kwargs["dependency_links"] = dependency_links - kwargs["entry_points"] = { - "console_scripts": [ - "pylint = pylint:run_pylint", - "epylint = pylint:run_epylint", - "pyreverse = pylint:run_pyreverse", - "symilar = pylint:run_symilar", - ] - } - kwargs["packages"] = packages - cmdclass = {"build_py": build_py} - if easy_install_lib: - cmdclass["easy_install"] = easy_install - return setup( - name="pylint", - version=__pkginfo__["version"], - license=__pkginfo__["license"], - description=__pkginfo__["description"], - long_description=long_description, - author=__pkginfo__["author"], - author_email=__pkginfo__["author_email"], - url=__pkginfo__["web"], - scripts=ensure_scripts(scripts), - classifiers=__pkginfo__["classifiers"], - data_files=data_files, - ext_modules=ext_modules, - cmdclass=cmdclass, - extras_require=extras_require, - test_suite="test", - python_requires="~=3.6", - setup_requires=pytest_runner, - tests_require=["pytest", "pytest-benchmark"], - project_urls=project_urls, - **kwargs, - ) - - -if __name__ == "__main__": - install() +with open(HERE / "pylint/__pkginfo__.py", encoding="UTF-8") as f: + exec(f.read(), __pkginfo__) # pylint: disable=exec-used +with open(HERE / "README.rst", encoding="UTF-8") as f: + long_description = f.read() + +setuptools.setup( + name="pylint", + version=__pkginfo__["version"], + license=__pkginfo__["license"], + description=__pkginfo__["description"], + long_description=long_description, + author=__pkginfo__["author"], + author_email=__pkginfo__["author_email"], + url=__pkginfo__["web"], + project_urls=__pkginfo__.get("project_urls", {}), + classifiers=__pkginfo__["classifiers"], + data_files=__pkginfo__.get("data_files", None), + ext_modules=__pkginfo__.get("ext_modules", None), + python_requires="~=3.6", + setup_requires=[], + tests_require=["pytest", "pytest-benchmark"], + install_requires=__pkginfo__.get("install_requires", None), + extras_require={ + ':sys_platform=="win32"': ["colorama"], + "docs": ["sphinx==3.5.1", "python-docs-theme==2020.12"], + }, + entry_points={ + "console_scripts": [ + "pylint = pylint:run_pylint", + "epylint = pylint:run_epylint", + "pyreverse = pylint:run_pyreverse", + "symilar = pylint:run_symilar", + ] + }, + packages=setuptools.find_packages(), +) |