Migrate 'make git-submodule' to CLI command (#19479)

This commit is contained in:
Joel Challis 2023-01-02 22:11:57 +00:00 committed by GitHub
parent 3a5a4c708f
commit b297531dbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 7 deletions

View file

@ -430,12 +430,7 @@ lib/%:
.PHONY: git-submodule .PHONY: git-submodule
git-submodule: git-submodule:
[ -e lib/ugfx ] && rm -rf lib/ugfx || true $(QMK_BIN) git-submodule
[ -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
.PHONY: git-submodules .PHONY: git-submodules
git-submodules: git-submodule git-submodules: git-submodule

View file

@ -65,7 +65,7 @@ MSG_CLEANING = Cleaning project:
MSG_CREATING_LIBRARY = Creating library: MSG_CREATING_LIBRARY = Creating library:
MSG_GENERATING = Generating: MSG_GENERATING = Generating:
MSG_SUBMODULE_DIRTY = $(WARN_COLOR)WARNING:$(NO_COLOR) Some git submodules are out of date or modified.\n\ 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) MSG_NO_CMP = $(ERROR_COLOR)Error:$(NO_COLOR)$(BOLD) cmp command not found, please install diffutils\n$(NO_COLOR)
define GENERATE_MSG_MAKE_KB define GENERATE_MSG_MAKE_KB

View file

@ -61,6 +61,7 @@ subcommands = [
'qmk.cli.generate.rgb_breathe_table', 'qmk.cli.generate.rgb_breathe_table',
'qmk.cli.generate.rules_mk', 'qmk.cli.generate.rules_mk',
'qmk.cli.generate.version_h', 'qmk.cli.generate.version_h',
'qmk.cli.git.submodule',
'qmk.cli.hello', 'qmk.cli.hello',
'qmk.cli.import.kbfirmware', 'qmk.cli.import.kbfirmware',
'qmk.cli.import.keyboard', 'qmk.cli.import.keyboard',

View file

View file

@ -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)