~ruther/qmk_firmware

b297531dbf645a28fd5a67e546a9ff27d49e1b1e — Joel Challis 2 years ago 3a5a4c7
Migrate 'make git-submodule' to CLI command (#19479)

M Makefile => Makefile +1 -6
@@ 430,12 430,7 @@ lib/%:

.PHONY: git-submodule
git-submodule:
	[ -e lib/ugfx ] && rm -rf lib/ugfx || true
	[ -e lib/pico-sdk ] && rm -rf lib/pico-sdk || true
	[ -e lib/chibios-contrib/ext/mcux-sdk ] && rm -rf lib/chibios-contrib/ext/mcux-sdk || true
	[ -e lib/lvgl ] && rm -rf lib/lvgl || true
	git submodule sync --recursive
	git submodule update --init --recursive --progress
	$(QMK_BIN) git-submodule

.PHONY: git-submodules
git-submodules: git-submodule

M builddefs/message.mk => builddefs/message.mk +1 -1
@@ 65,7 65,7 @@ MSG_CLEANING = Cleaning project:
MSG_CREATING_LIBRARY = Creating library:
MSG_GENERATING = Generating:
MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\
Please consider running $(BOLD)make git-submodule$(NO_COLOR).\n\n
Please consider running $(BOLD)qmk git-submodule$(NO_COLOR).\n\n
MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR)

define GENERATE_MSG_MAKE_KB

M lib/python/qmk/cli/__init__.py => lib/python/qmk/cli/__init__.py +1 -0
@@ 61,6 61,7 @@ subcommands = [
    'qmk.cli.generate.rgb_breathe_table',
    'qmk.cli.generate.rules_mk',
    'qmk.cli.generate.version_h',
    'qmk.cli.git.submodule',
    'qmk.cli.hello',
    'qmk.cli.import.kbfirmware',
    'qmk.cli.import.keyboard',

A lib/python/qmk/cli/git/__init__.py => lib/python/qmk/cli/git/__init__.py +0 -0
A lib/python/qmk/cli/git/submodule.py => lib/python/qmk/cli/git/submodule.py +22 -0
@@ 0,0 1,22 @@
import shutil
from qmk.path import normpath

from milc import cli

REMOVE_DIRS = [
    'lib/ugfx',
    'lib/pico-sdk',
    'lib/chibios-contrib/ext/mcux-sdk',
    'lib/lvgl',
]


@cli.subcommand('Git Submodule actions.')
def git_submodule(cli):
    for folder in REMOVE_DIRS:
        if normpath(folder).is_dir():
            print(f"Removing '{folder}'")
            shutil.rmtree(folder)

    cli.run(['git', 'submodule', 'sync', '--recursive'], capture_output=False)
    cli.run(['git', 'submodule', 'update', '--init', '--recursive', '--progress'], capture_output=False)