Better module checking/initializing mechanism

1. Print a message to tell if modules need to be initialized when running `make serve` or other similar targets, and stop current make procedure.
2. Provide `module-init` target to initialize all dependencies

Co-authored-by: Tim Bannister <tim@scalefactory.com>
This commit is contained in:
Ray Wang
2020-12-03 17:29:26 +08:00
committed by Ray
parent 0b69ba78f0
commit 57f12c3660
+5 -1
View File
@@ -19,7 +19,11 @@ help: ## Show this help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
module-check:
@git submodule status --recursive | awk '/^[+-]/ {printf "\033[31mWARNING\033[0m Submodule not initialized: \033[34m%s\033[0m\n",$$2}' 1>&2
@git submodule status --recursive | awk '/^[+-]/ {err = 1; printf "\033[31mWARNING\033[0m Submodule not initialized: \033[34m%s\033[0m\n",$$2} END { if (err != 0) print "You need to run \033[32mmake module-init\033[0m to initialize missing modules first"; exit err }' 1>&2
module-init:
@echo "Initializing submodules..." 1>&2
@git submodule update --init --recursive --depth 1
all: build ## Build site with production settings and put deliverables in ./public