summaryrefslogtreecommitdiff
path: root/src/flake8/main
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2021-03-29 20:15:45 -0700
committerAnthony Sottile <asottile@umich.edu>2021-03-29 20:15:45 -0700
commit83fc824ca1c4c73594ef910dadb7f31a11c95cee (patch)
tree8b758688ac7fdc333d388aac89f9a67ed1d2aeed /src/flake8/main
parent00f92087dac5b49acde245be91253dc14b612000 (diff)
downloadflake8-83fc824ca1c4c73594ef910dadb7f31a11c95cee.tar.gz
remove flake8 setuptools command
Diffstat (limited to 'src/flake8/main')
-rw-r--r--src/flake8/main/setuptools_command.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/flake8/main/setuptools_command.py b/src/flake8/main/setuptools_command.py
deleted file mode 100644
index fde290e..0000000
--- a/src/flake8/main/setuptools_command.py
+++ /dev/null
@@ -1,115 +0,0 @@
-"""The logic for Flake8's integration with setuptools."""
-from distutils import log
-import os
-from typing import List, Tuple
-
-import setuptools
-
-from flake8.main import application as app
-
-UNSET = object()
-
-
-class Flake8(setuptools.Command):
- """Run Flake8 via setuptools/distutils for registered modules."""
-
- description = "Run Flake8 on modules registered in setup.py"
- # NOTE(sigmavirus24): If we populated this with a list of tuples, users
- # could do something like ``python setup.py flake8 --ignore=E123,E234``
- # but we would have to redefine it and we can't define it dynamically.
- # Since I refuse to copy-and-paste the options here or maintain two lists
- # of options, and since this will break when users use plugins that
- # provide command-line options, we are leaving this empty. If users want
- # to configure this command, they can do so through config files.
- user_options = [] # type: List[str]
-
- def initialize_options(self):
- """Override this method to initialize our application."""
- self.flake8 = app.Application()
- self.flake8.initialize([])
- options = self.flake8.option_manager.options
- for option in options:
- if option.parse_from_config:
- setattr(self, option.config_name, UNSET)
-
- def finalize_options(self):
- """Override this to parse the parameters."""
- options = self.flake8.option_manager.options
- for option in options:
- if option.parse_from_config:
- name = option.config_name
- value = getattr(self, name, UNSET)
- if value is UNSET:
- continue
- setattr(
- self.flake8.options,
- name,
- option.normalize_from_setuptools(value),
- )
-
- def package_files(self):
- """Collect the files/dirs included in the registered modules."""
- seen_package_directories = () # type: Tuple[str, ...]
- directories = self.distribution.package_dir or {}
- empty_directory_exists = "" in directories
- packages = self.distribution.packages or []
- for package in packages:
- package_directory = package
- if package in directories:
- package_directory = directories[package]
- elif empty_directory_exists:
- package_directory = os.path.join(
- directories[""], package_directory
- )
-
- # NOTE(sigmavirus24): Do not collect submodules, e.g.,
- # if we have:
- # - flake8/
- # - flake8/plugins/
- # Flake8 only needs ``flake8/`` to be provided. It will
- # recurse on its own.
- if package_directory.startswith(seen_package_directories):
- continue
-
- seen_package_directories += (package_directory + ".",)
- yield package_directory
-
- def module_files(self):
- """Collect the files listed as py_modules."""
- modules = self.distribution.py_modules or []
- filename_from = "{0}.py".format
- for module in modules:
- yield filename_from(module)
-
- def distribution_files(self):
- """Collect package and module files."""
- for package in self.package_files():
- yield package
-
- for module in self.module_files():
- yield module
-
- yield "setup.py"
-
- def run(self):
- """Run the Flake8 application."""
- self.flake8.run_checks(list(self.distribution_files()))
- self.flake8.formatter.start()
- self.flake8.report_errors()
- self.flake8.report_statistics()
- self.flake8.report_benchmarks()
- self.flake8.formatter.stop()
- try:
- self.flake8.exit()
- except SystemExit as e:
- # Cause system exit only if exit code is not zero (terminates
- # other possibly remaining/pending setuptools commands).
- if e.code:
- raise
- finally:
- self.announce(
- "WARNING: flake8 setuptools integration is deprecated and "
- "scheduled for removal in 4.x. For more information, see "
- "https://gitlab.com/pycqa/flake8/issues/544",
- log.WARN,
- )