1
1
#! /bin/bash
2
2
3
- # Bumps extension manifest + git commit/push
3
+ # Bumps Chromium extension manifest + git commit/push
4
+
5
+ shopt -s nocasematch # enable case-insensitive matching (to flexibly check commit msg for bumps)
4
6
5
7
# Init UI COLORS
6
8
NC=" \033[0m" # no color
@@ -10,32 +12,42 @@ BG="\033[1;92m" # bright green
10
12
BW=" \033[1;97m" # bright white
11
13
12
14
# Init manifest PATH
13
- manifest_path=" chromium/extension/manifest.json"
15
+ MANIFEST_PATH=" chromium/extension/manifest.json"
16
+
17
+ echo -e " ${BY} \nBumping version in ${MANIFEST_PATH} ...${NC} \n"
14
18
15
- # BUMP version
16
- echo -e " ${BY} \nBumping version in ${manifest} ...${NC} \n"
19
+ # Init BUMP vars
17
20
bumped_cnt=0
18
21
TODAY=$( date +' %Y.%-m.%-d' ) # YYYY.M.D format
19
- new_versions=() # for dynamic commit msg
20
- old_ver=$( sed -n ' s/.*"version": *"\([0-9.]*\)".*/\1/p' " $manifest " )
22
+
23
+ # Check latest commit for extension changes
24
+ chromium_manifest_path=$( dirname " $MANIFEST_PATH " | sed ' s|^\./||' )
25
+ echo " Checking last commit details for $chromium_manifest_path ..."
26
+ latest_platform_commit_msg=$( git log -1 --format=%s -- " $chromium_manifest_path " )
27
+ if [[ $latest_platform_commit_msg == bump* (version| manifest)* ]] ; then
28
+ echo -e " No changes found." ; exit ; fi
29
+
30
+ echo " Bumping version in Chromium manifest..."
31
+
32
+ # Determine old/new versions
33
+ old_ver=$( sed -n ' s/.*"version": *"\([0-9.]*\)".*/\1/p' " $MANIFEST_PATH " )
21
34
if [[ $old_ver == " $TODAY " ]] ; then
22
35
new_ver=" $TODAY .1"
23
36
elif [[ $old_ver == " $TODAY ." * ]] ; then
24
37
LAST_NUMBER=$( echo " $old_ver " | awk -F ' .' ' {print $NF}' )
25
38
new_ver=" $TODAY .$(( LAST_NUMBER + 1 )) "
26
39
else new_ver=" $TODAY " ; fi
27
- new_versions+=(" $new_ver " )
28
- sed -i " s/\" version\" : \" $old_ver \" /\" version\" : \" $new_ver \" /" " $manifest_path "
29
- echo -e " Updated: ${BW} v${old_ver}${NC} → ${BG} v${NEW_VER}${NC} "
40
+
41
+ # Bump old version
42
+ sed -i " s/\" version\" : \" $old_ver \" /\" version\" : \" $new_ver \" /" " $MANIFEST_PATH "
43
+ echo -e " Updated: ${BW} v${old_ver}${NC} → ${BG} v${new_ver}${NC} \n"
30
44
(( bumped_cnt++ ))
31
45
32
- # COMMIT/PUSH bump
46
+ # COMMIT/PUSH bump(s)
33
47
if [[ $bumped_cnt -eq 0 ]] ; then echo -e " ${BW} Completed. No manifests bumped.${NC} "
34
48
else
35
- echo -e " \n${BY} \nCommitting bump to Git...\n${NC} "
36
- git add ./** /manifest.json && git commit -n -m " Bumped \` version\` to $NEW_VER "
37
- git push
38
-
39
- # Print FINAL summary
40
- echo -e " \n${BG} Success! ${manifest} updated/committed/pushed to GitHub${NC} "
49
+ echo -e " ${BY} Committing bump to Git...${NC} "
50
+ # git add ./**/manifest.json && git commit -n -m "Bumped \`version\` to $NEW_VER"
51
+ # git push
52
+ echo -e " \n${BG} Success! Manifest updated/committed/pushed to GitHub${NC} "
41
53
fi
0 commit comments