mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 16:24:40 +04:00
Replace pkg_resources.get_distribution with importlib-metadata
This commit is contained in:
parent
9c37473256
commit
ebe5132576
5 changed files with 20 additions and 7 deletions
|
|
@ -1,7 +1,7 @@
|
|||
from __future__ import absolute_import
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import pkg_resources
|
||||
import importlib_metadata # TODO: importlib.metadata py38?
|
||||
|
||||
CONFIG_FILE = '.pre-commit-config.yaml'
|
||||
MANIFEST_FILE = '.pre-commit-hooks.yaml'
|
||||
|
|
@ -18,8 +18,7 @@ INSTALLED_STATE_VERSION = '1'
|
|||
# Bump when modifying `empty_template`
|
||||
LOCAL_REPO_VERSION = '1'
|
||||
|
||||
VERSION = pkg_resources.get_distribution('pre-commit').version
|
||||
VERSION_PARSED = pkg_resources.parse_version(VERSION)
|
||||
VERSION = importlib_metadata.version('pre_commit')
|
||||
|
||||
# `manual` is not invoked by any installed git hook. See #719
|
||||
STAGES = ('commit', 'commit-msg', 'manual', 'push')
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import pipes
|
|||
import shutil
|
||||
import sys
|
||||
|
||||
import pkg_resources
|
||||
from cached_property import cached_property
|
||||
from cfgv import apply_defaults
|
||||
from cfgv import validate
|
||||
|
|
@ -23,6 +22,7 @@ from pre_commit.clientlib import MANIFEST_HOOK_DICT
|
|||
from pre_commit.languages.all import languages
|
||||
from pre_commit.languages.helpers import environment_dir
|
||||
from pre_commit.prefix import Prefix
|
||||
from pre_commit.util import parse_version
|
||||
|
||||
|
||||
logger = logging.getLogger('pre_commit')
|
||||
|
|
@ -110,13 +110,13 @@ def _hook(*hook_dicts):
|
|||
for dct in rest:
|
||||
ret.update(dct)
|
||||
|
||||
version = pkg_resources.parse_version(ret['minimum_pre_commit_version'])
|
||||
if version > C.VERSION_PARSED:
|
||||
version = ret['minimum_pre_commit_version']
|
||||
if parse_version(version) > parse_version(C.VERSION):
|
||||
logger.error(
|
||||
'The hook `{}` requires pre-commit version {} but version {} '
|
||||
'is installed. '
|
||||
'Perhaps run `pip install --upgrade pre-commit`.'.format(
|
||||
ret['id'], version, C.VERSION_PARSED,
|
||||
ret['id'], version, C.VERSION,
|
||||
),
|
||||
)
|
||||
exit(1)
|
||||
|
|
|
|||
|
|
@ -211,3 +211,8 @@ def copy_tree_to_path(src_dir, dest_dir):
|
|||
shutil.copytree(srcname, destname)
|
||||
else:
|
||||
shutil.copy(srcname, destname)
|
||||
|
||||
|
||||
def parse_version(s):
|
||||
"""poor man's version comparison"""
|
||||
return tuple(int(p) for p in s.split('.'))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue