mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-02 14:32:45 +00:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
d6850bab3f
@ -10,7 +10,7 @@ from qmk.info import info_json, get_modules
|
|||||||
from qmk.json_schema import json_load
|
from qmk.json_schema import json_load
|
||||||
from qmk.keyboard import keyboard_completer, keyboard_folder
|
from qmk.keyboard import keyboard_completer, keyboard_folder
|
||||||
from qmk.commands import dump_lines, parse_configurator_json
|
from qmk.commands import dump_lines, parse_configurator_json
|
||||||
from qmk.path import normpath, FileType
|
from qmk.path import normpath, unix_style_path, FileType
|
||||||
from qmk.constants import GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE
|
from qmk.constants import GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE
|
||||||
from qmk.community_modules import find_module_path, load_module_jsons
|
from qmk.community_modules import find_module_path, load_module_jsons
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ def generate_modules_rules(keyboard, filename):
|
|||||||
lines.append('')
|
lines.append('')
|
||||||
lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE')
|
lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE')
|
||||||
for module in modules:
|
for module in modules:
|
||||||
module_path = find_module_path(module)
|
module_path = unix_style_path(find_module_path(module))
|
||||||
if not module_path:
|
if not module_path:
|
||||||
raise FileNotFoundError(f"Module '{module}' not found.")
|
raise FileNotFoundError(f"Module '{module}' not found.")
|
||||||
lines.append('')
|
lines.append('')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from pathlib import Path, PureWindowsPath, PurePosixPath
|
||||||
|
|
||||||
from qmk.constants import MAX_KEYBOARD_SUBFOLDERS, QMK_FIRMWARE, QMK_USERSPACE, HAS_QMK_USERSPACE
|
from qmk.constants import MAX_KEYBOARD_SUBFOLDERS, QMK_FIRMWARE, QMK_USERSPACE, HAS_QMK_USERSPACE
|
||||||
from qmk.errors import NoSuchKeyboardError
|
from qmk.errors import NoSuchKeyboardError
|
||||||
@ -146,6 +146,28 @@ def normpath(path):
|
|||||||
return Path(os.environ['ORIG_CWD']) / path
|
return Path(os.environ['ORIG_CWD']) / path
|
||||||
|
|
||||||
|
|
||||||
|
def unix_style_path(path):
|
||||||
|
"""Converts a Windows-style path with drive letter to a Unix path.
|
||||||
|
|
||||||
|
Path().as_posix() normally returns the path with drive letter and forward slashes, so is inappropriate for `Makefile` paths.
|
||||||
|
|
||||||
|
Passes through unadulterated if the path is not a Windows-style path.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
|
||||||
|
path
|
||||||
|
The path to convert.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
The input path converted to Unix format.
|
||||||
|
"""
|
||||||
|
if isinstance(path, PureWindowsPath):
|
||||||
|
p = list(path.parts)
|
||||||
|
p[0] = f'/{p[0][0].lower()}' # convert from `X:/` to `/x`
|
||||||
|
path = PurePosixPath(*p)
|
||||||
|
return path
|
||||||
|
|
||||||
|
|
||||||
class FileType(argparse.FileType):
|
class FileType(argparse.FileType):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
# Use UTF8 by default for stdin
|
# Use UTF8 by default for stdin
|
||||||
|
Loading…
Reference in New Issue
Block a user