mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-01 05:53:22 +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.keyboard import keyboard_completer, keyboard_folder
|
||||
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.community_modules import find_module_path, load_module_jsons
|
||||
|
||||
@ -63,7 +63,7 @@ def generate_modules_rules(keyboard, filename):
|
||||
lines.append('')
|
||||
lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE')
|
||||
for module in modules:
|
||||
module_path = find_module_path(module)
|
||||
module_path = unix_style_path(find_module_path(module))
|
||||
if not module_path:
|
||||
raise FileNotFoundError(f"Module '{module}' not found.")
|
||||
lines.append('')
|
||||
|
@ -3,7 +3,7 @@
|
||||
import logging
|
||||
import os
|
||||
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.errors import NoSuchKeyboardError
|
||||
@ -146,6 +146,28 @@ def normpath(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):
|
||||
def __init__(self, *args, **kwargs):
|
||||
# Use UTF8 by default for stdin
|
||||
|
Loading…
Reference in New Issue
Block a user