mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-02 06:42:02 +00:00

A minor whoopsie, 158367bf9
forgot to update this line.
I'm not sure how this gets tested in CI.
39 lines
1 KiB
Python
39 lines
1 KiB
Python
import os
|
|
import sys
|
|
import sysconfig
|
|
|
|
|
|
def find_ruff_bin() -> str:
|
|
"""Return the ruff binary path."""
|
|
|
|
ruff_exe = "ruff" + sysconfig.get_config_var("EXE")
|
|
|
|
path = os.path.join(sysconfig.get_path("scripts"), ruff_exe)
|
|
if os.path.isfile(path):
|
|
return path
|
|
|
|
if sys.version_info >= (3, 10):
|
|
user_scheme = sysconfig.get_preferred_scheme("user")
|
|
elif os.name == "nt":
|
|
user_scheme = "nt_user"
|
|
elif sys.platform == "darwin" and sys._framework:
|
|
user_scheme = "osx_framework_user"
|
|
else:
|
|
user_scheme = "posix_user"
|
|
|
|
path = os.path.join(sysconfig.get_path("scripts", scheme=user_scheme), ruff_exe)
|
|
if os.path.isfile(path):
|
|
return path
|
|
|
|
raise FileNotFoundError(path)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ruff = os.fsdecode(find_ruff_bin())
|
|
if sys.platform == "win32":
|
|
import subprocess
|
|
|
|
completed_process = subprocess.run([ruff, *sys.argv[1:]])
|
|
sys.exit(completed_process.returncode)
|
|
else:
|
|
os.execvp(ruff, [ruff, *sys.argv[1:]])
|