From 41ad4a52e12ab123b78529fb91cdba695e508b44 Mon Sep 17 00:00:00 2001 From: James Cuzella Date: Sun, 14 Jul 2024 14:16:35 -0600 Subject: [PATCH 1/2] Update README w/prerequisites --- .markdownlint.json | 3 +++ README.md | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 .markdownlint.json diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..39128f0 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,3 @@ +{ + "MD003": { "style": "setext_with_atx" } +} diff --git a/README.md b/README.md index 9c0567c..175b2a0 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,23 @@ WTF? software projects. It may be installed as a `git` `submodule` to enable your project `Makefile`s to be more trim, elegant, and classy. 🤵‍♂️ +### Prequisites + +- An initialized `git` repo +- Ability to create a file in this repo: `.uncommon-build-init.mk` +- GNU `make` command +- Bash shell + - `bash` command must be available + - Not necessarily as your default shell +- POSIX shell utilities: `sed`, `grep`, `echo`, `cd`, `rm`, `mkdir`, `awk`, + `sort`, `find`, `xargs`, `basename` + How Do That?! 🤔 ---------------- The simple way to accomplish this, naturally, is to add the following file to -your repo: `.uncommon-build-init.mk` +your repo: `.uncommon-build-init.mk` [$^{...You\ \textbf{\textit{doOo} +\ have\ a\ git\ repo\ already,\ yes?}$][2] ```bash curl -Ls -o .uncommon-build-init.mk https://bit.ly/3K5HcJO @@ -91,9 +103,10 @@ This target executes the following steps: 2. Fetch & Update the `git` submodule to latest 3. Commit the `.uncommon-build` and `.gitmodules` file changes. -*NOTE*: If you need to update `uncommon-build` to some version +_NOTE_: If you need to update `uncommon-build` to some version different than `origin/main` branch, set the `UNCOMMON_BUILD_REF` variable. This accepts any `git` ref. For example: a branch name, tag, or commit SHA. [1]: https://go.dev/ +[2]: https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository From 68e6d437e17b68955c1a71e1cbe25ca03e655c9f Mon Sep 17 00:00:00 2001 From: James Cuzella Date: Sun, 14 Jul 2024 14:18:55 -0600 Subject: [PATCH 2/2] pre-commit: Update to official checkmake fork (Fixes #23) Merged PRs: mrtazz/checkmake#69, and mrtazz/checkmake#70 These were released in `checkmake` version 0.2.2 --- .pre-commit-config.yaml | 4 ++-- install/.uncommon-build-init.mk | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b9c70fd..9b5a8d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -33,7 +33,7 @@ repos: vendor/.*| tmp/.* )$ -- repo: https://github.com/trinitronx/checkmake.git - rev: 0.2.5 +- repo: https://github.com/mrtazz/checkmake.git + rev: 0.2.2 hooks: - id: checkmake diff --git a/install/.uncommon-build-init.mk b/install/.uncommon-build-init.mk index 9b2aafe..b5365c0 100644 --- a/install/.uncommon-build-init.mk +++ b/install/.uncommon-build-init.mk @@ -5,28 +5,28 @@ .PHONY: stylish stylish: ## no-help ifeq (,$(wildcard .uncommon-build)) - @echo "\033[44m🔍\033[0m \033[0;36m... Looking for .uncommon-build ... \033[0m" >&2 - @echo "\033[0;101m👀\033[0;31m .uncommon-build is curiously missing... 🧐 installing submodule\033[0m" >&2 + @echo -e "\033[44m🔍\033[0m \033[0;36m... Looking for .uncommon-build ... \033[0m" >&2 + @echo -e "\033[0;101m👀\033[0;31m .uncommon-build is curiously missing... 🧐 installing submodule\033[0m" >&2 @git submodule add https://github.com/LyraPhase/uncommon-build.git .uncommon-build >&2 - @echo "\033[0;101m✍️ \033[0;\033[0;31m Committing '.uncommon-build' and '.gitmodules'\033[0m" >&2 + @echo -e "\033[0;101m✍️ \033[0;\033[0;31m Committing '.uncommon-build' and '.gitmodules'\033[0m" >&2 git add .uncommon-build .gitmodules && \ git commit -m 'uncommon-build install: Installing .uncommon-build as a submodule' else @# Ensure `.uncommon-build` is updated and committed in .gitmodules - @echo "\033[46m✨\033[0;\033[0;96m Updating '.uncommon-build' and '.gitmodules'\033[0m" >&2 + @echo -e "\033[46m✨\033[0;\033[0;96m Updating '.uncommon-build' and '.gitmodules'\033[0m" >&2 git submodule update --init .uncommon-build >&2 endif - @[ -d .uncommon-build ] && echo "\033[47m🤵‍♂️\033[0m \033[1;92m.uncommon-build is now installed!\033[0m" \ - || echo "\033[41m🤦\033[0m\033[1;91m .uncommon-build installation had issues!\033[0m" >&2 - @echo "\033[44m🔍\033[0m \033[0;36m... Looking for single-colon clean target in Makefile ... \033[0m" >&2 - @clean_rules="$$(grep -c "clean::" Makefile)"; \ - if [ "$${clean_rules}" -eq 0 ]; \ - then \ - echo "\033[40m🫧\033[0;\033[0;96m 'clean:' your colon! 👉 'clean::'\033[0m" >&2; \ - sed -i '' -e "s/^clean:\([^:]*.*\)/clean::\1/" Makefile; \ - echo "\033[0;101m✍️ \033[0;\033[0;31m Committing 'Makefile' with double-colon clean:: \033[0m" >&2; \ - git add Makefile; \ - git commit -m "uncommon-build install: Convert single-colon clean: to double-colon clean:: rule"; \ + @[ -d .uncommon-build ] && echo -e "\033[47m🤵‍♂️\033[0m \033[1;92m.uncommon-build is now installed!\033[0m" \ + || echo -e "\033[41m🤦\033[0m\033[1;91m .uncommon-build installation had issues!\033[0m" >&2 + @echo -e "\033[44m🔍\033[0m \033[0;36m... Looking for single-colon clean target in Makefile ... \033[0m" >&2 + @clean_rules="$$(grep -c "clean::" Makefile)"; \ + if [ "$${clean_rules}" -eq 0 ]; \ + then \ + echo -e "\033[40m🫧\033[0;\033[0;96m 'clean:' your colon! 👉 'clean::'\033[0m" >&2; \ + sed -i '' -e "s/^clean:\([^:]*.*\)/clean::\1/" Makefile; \ + echo -e "\033[0;101m✍️ \033[0;\033[0;31m Committing 'Makefile' with double-colon clean:: \033[0m" >&2; \ + git add Makefile; \ + git commit -m "uncommon-build install: Convert single-colon clean: to double-colon clean:: rule"; \ fi; ifneq ("$(wildcard .uncommon-build/main.mk)","")