2019-09-22 20:25:33 +00:00
|
|
|
"""QMK CLI Subcommands
|
|
|
|
|
|
|
|
We list each subcommand here explicitly because all the reliable ways of searching for modules are slow and delay startup.
|
|
|
|
"""
|
2020-04-18 20:00:56 +00:00
|
|
|
import sys
|
|
|
|
|
2021-04-15 02:00:22 +00:00
|
|
|
from milc import cli, __VERSION__
|
2020-03-13 22:47:04 +00:00
|
|
|
|
2020-10-07 00:10:19 +00:00
|
|
|
from . import c2json
|
2019-09-22 20:25:33 +00:00
|
|
|
from . import cformat
|
2020-11-28 20:02:18 +00:00
|
|
|
from . import chibios
|
2020-11-04 19:18:47 +00:00
|
|
|
from . import clean
|
2019-09-22 20:25:33 +00:00
|
|
|
from . import compile
|
|
|
|
from . import config
|
2021-05-09 03:56:07 +00:00
|
|
|
from . import console
|
2019-10-08 18:06:26 +00:00
|
|
|
from . import docs
|
2019-09-22 20:25:33 +00:00
|
|
|
from . import doctor
|
2020-12-10 17:01:51 +00:00
|
|
|
from . import fileformat
|
2019-10-05 06:38:34 +00:00
|
|
|
from . import flash
|
2021-03-25 11:38:10 +00:00
|
|
|
from . import format
|
2020-10-25 21:48:44 +00:00
|
|
|
from . import generate
|
2019-09-22 20:25:33 +00:00
|
|
|
from . import hello
|
2020-05-26 20:05:41 +00:00
|
|
|
from . import info
|
2020-03-10 20:51:19 +00:00
|
|
|
from . import json2c
|
2020-11-07 17:56:08 +00:00
|
|
|
from . import lint
|
2019-10-07 18:32:30 +00:00
|
|
|
from . import list
|
2019-11-13 04:55:41 +00:00
|
|
|
from . import kle2json
|
2021-05-09 15:06:44 +00:00
|
|
|
from . import multibuild
|
2019-09-22 20:25:33 +00:00
|
|
|
from . import new
|
|
|
|
from . import pyformat
|
|
|
|
from . import pytest
|
2020-03-13 22:47:04 +00:00
|
|
|
|
2021-02-13 18:26:45 +00:00
|
|
|
# Supported version information
|
|
|
|
#
|
|
|
|
# Based on the OSes we support these are the minimum python version available by default.
|
|
|
|
# Last update: 2021 Jan 02
|
|
|
|
#
|
|
|
|
# Arch: 3.9
|
|
|
|
# Debian: 3.7
|
|
|
|
# Fedora 31: 3.7
|
|
|
|
# Fedora 32: 3.8
|
|
|
|
# Fedora 33: 3.9
|
|
|
|
# FreeBSD: 3.7
|
|
|
|
# Gentoo: 3.7
|
|
|
|
# macOS: 3.9 (from homebrew)
|
|
|
|
# msys2: 3.8
|
|
|
|
# Slackware: 3.7
|
|
|
|
# solus: 3.7
|
|
|
|
# void: 3.9
|
|
|
|
|
|
|
|
if sys.version_info[0] != 3 or sys.version_info[1] < 7:
|
2021-04-15 02:00:22 +00:00
|
|
|
print('Error: Your Python is too old! Please upgrade to Python 3.7 or later.')
|
|
|
|
exit(127)
|
|
|
|
|
|
|
|
milc_version = __VERSION__.split('.')
|
|
|
|
|
|
|
|
if int(milc_version[0]) < 2 and int(milc_version[1]) < 3:
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
requirements = Path('requirements.txt').resolve()
|
|
|
|
|
|
|
|
print(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
|
2020-04-18 20:00:56 +00:00
|
|
|
exit(127)
|