Merge pull request #2293 from Holzhaus/coursier-executable-names

coursier: Add support for both `cs` and `coursier` executable names
This commit is contained in:
Anthony Sottile 2022-03-17 19:05:17 -04:00 committed by GitHub
commit 4421cb9424
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -10,6 +10,7 @@ from pre_commit.envcontext import PatchesT
from pre_commit.envcontext import Var from pre_commit.envcontext import Var
from pre_commit.hook import Hook from pre_commit.hook import Hook
from pre_commit.languages import helpers from pre_commit.languages import helpers
from pre_commit.parse_shebang import find_executable
from pre_commit.prefix import Prefix from pre_commit.prefix import Prefix
from pre_commit.util import clean_path_on_failure from pre_commit.util import clean_path_on_failure
@ -27,6 +28,14 @@ def install_environment(
helpers.assert_version_default('coursier', version) helpers.assert_version_default('coursier', version)
helpers.assert_no_additional_deps('coursier', additional_dependencies) helpers.assert_no_additional_deps('coursier', additional_dependencies)
# Support both possible executable names (either "cs" or "coursier")
executable = find_executable('cs') or find_executable('coursier')
if executable is None:
raise AssertionError(
'pre-commit requires system-installed "cs" or "coursier" '
'executables in the application search path',
)
envdir = prefix.path(helpers.environment_dir(ENVIRONMENT_DIR, version)) envdir = prefix.path(helpers.environment_dir(ENVIRONMENT_DIR, version))
channel = prefix.path('.pre-commit-channel') channel = prefix.path('.pre-commit-channel')
with clean_path_on_failure(envdir): with clean_path_on_failure(envdir):
@ -36,7 +45,7 @@ def install_environment(
helpers.run_setup_cmd( helpers.run_setup_cmd(
prefix, prefix,
( (
'cs', executable,
'install', 'install',
'--default-channels=false', '--default-channels=false',
f'--channel={channel}', f'--channel={channel}',