22V =v3.0.0
33GITMOJI_VERSION =$(V )
44F =semver.yml
5- SEMVER_FILE_PATH =$(F )
5+ SEMVER_FILE =$(F )
6+ O =./
7+ OUT_DIR =$(O )
68
79BASE_FILE =https://raw.githubusercontent.com/carloscuesta/gitmoji/$(GITMOJI_VERSION ) /src/data/gitmojis.json
810
911# See: https://gist.github.com/rsperl/d2dfe88a520968fbc1f49db0a29345b9
10- COLOR := $(shell tput -Txterm setaf 5)
12+ # define standard colors
13+ BLACK := $(shell tput -Txterm setaf 0)
14+ RED := $(shell tput -Txterm setaf 1)
15+ GREEN := $(shell tput -Txterm setaf 2)
16+ YELLOW := $(shell tput -Txterm setaf 3)
17+ LIGHTPURPLE := $(shell tput -Txterm setaf 4)
18+ PURPLE := $(shell tput -Txterm setaf 5)
19+ BLUE := $(shell tput -Txterm setaf 6)
20+ WHITE := $(shell tput -Txterm setaf 7)
21+
1122RESET := $(shell tput -Txterm sgr0)
1223
1324help :
1425 @echo
15- @echo " Usage:"
16- @echo
26+ @echo " $( GREEN) Usage:$( RESET) "
1727 @echo " make COMMAND [Options]"
1828 @echo
19- @echo " Options:"
29+ @echo " $( GREEN) Commands:$( RESET) "
30+ @echo " gen $( BLUE) Generate gitmojis.json with semver field (alias: g)$( RESET) "
31+ @echo " list $( BLUE) Show generated gitmojis.json (alias: l)$( RESET) "
32+ @echo " scaffold $( BLUE) Generate semantic-release setting files (alias: s)$( RESET) "
2033 @echo
21- @echo " V=version Specify the base gitmoji version"
22- @echo " F=filepath Specify semver.yml file path"
34+ @echo " $( GREEN) Options:$( RESET) "
35+ @echo " V=<version> $( BLUE) Specify the base gitmoji version$( RESET) "
36+ @echo " F=<filepath> $( BLUE) Specify semver.yml file path$( RESET) "
37+ @echo " O=<output dir> $( BLUE) Specify semver.yml file path$( RESET) "
2338 @echo
24- @echo " Commands:"
39+ @echo " $( GREEN) Examples:$( RESET) "
40+ @echo " make gen V=v3.0.0 F=./semver.yml"
41+ @echo " make list"
42+ @echo " make scaffold V=v3.0.0 F=./semver.yml O=[your project directory]"
2543 @echo
26- @echo " gen Generate gitmojis.json with semver field (alias: g)"
27- @echo " list Show generated gitmojis.json (alias: l)"
28- @echo " scaffold Generate semantic-release configs (alias: s)"
29-
30- # Short commands
31- l : list
32- g : gen
33- s : scaffold
34- h : help
3544
3645# Generate gitmojis.json with semver field
3746gen :
3847 @echo
39- @echo " $( COLOR ) # GEN: 1. Fetch gitmojis.json ($( GITMOJI_VERSION) )$( RESET) "
48+ @echo " $( PURPLE ) # GEN: 1. Fetch gitmojis.json ($( GITMOJI_VERSION) )$( RESET) "
4049 mkdir -p build build/src build/dist
4150 curl -so build/src/gitmojis.json $(BASE_FILE )
4251
4352 @echo
4453 @echo
45- @echo "$(COLOR )# GEN: 2. Add semver field$(RESET)"
46- yq '.' $(SEMVER_FILE_PATH ) > build/src/semver.json
54+ @echo "$(PURPLE )# GEN: 2. Add semver field$(RESET)"
55+ yq '.' $(SEMVER_FILE ) > build/src/semver.json
4756 node gitmoji-semver.js
4857 cat build/dist/tmp.json | jq > build/dist/gitmojis.json
4958 yq -y '.' build/dist/gitmojis.json > build/dist/gitmojis.yml
5059 rm build/dist/tmp.json
5160
5261 @echo
5362 @echo
54- @echo "$(COLOR )# GEN: 3. Generated!$(RESET)"
63+ @echo "$(PURPLE )# GEN: 3. Generated!$(RESET)"
5564 @echo "Generated gitmojis.json and gitmojis.yml whith semver field"
5665 @echo "See ./build/dist"
5766
@@ -63,7 +72,7 @@ GITMOJI_FILE=build/dist/gitmojis.json
6372
6473list :
6574 @echo
66- @echo " $( COLOR ) # LIST: show list gitmoji grouped by semver$( RESET) "
75+ @echo " $( PURPLE ) # LIST: show list gitmoji grouped by semver$( RESET) "
6776 @echo " \n# Major (Breaking)"
6877 @cat $(GITMOJI_FILE ) | jq -c ' .gitmojis[] | select(.semver=="major") | $(FORMAT)'
6978 @echo " \n# Minor (Feature)"
@@ -73,11 +82,19 @@ list:
7382 @echo " \n# None"
7483 @cat $(GITMOJI_FILE ) | jq -c ' .gitmojis[] | select(.semver=="none") | $(FORMAT)'
7584
76- scaffold :
77- @echo
78- @echo " $( COLOR) # SCAFFOLD: Generate semantic-release configs$( RESET) "
79- # cp templates/commit-template.hbs build/dist/commit-template.hbs
80- node gen-semantic-release-template.js
81- ls -l build/dist/
85+ scaffold : gen
8286 @echo
87+ @echo " $( PURPLE) # SCAFFOLD: Generate semantic-release configs$( RESET) "
88+ node gen-template.js
89+ mkdir -p $(OUT_DIR ) /.release $(OUT_DIR ) /.github $(OUT_DIR ) /.github/workflows
90+ cp ./semantic-release-template/* $(OUT_DIR ) /.release
91+ mkdir -p $(OUT_DIR ) /.github $(OUT_DIR ) /.github/workflows
92+ mv $(OUT_DIR ) /.release/release.yml $(OUT_DIR ) /.github/workflows
93+ cp ./build/dist/release-template.hbs $(OUT_DIR ) /.release
94+ cp ./build/src/semver.json $(OUT_DIR ) /.release
8395
96+ # Short commands
97+ l : list
98+ g : gen
99+ s : scaffold
100+ h : help
0 commit comments