Automates bumping js file versions. Experimental, please revert Makefile
if it causes problems.
This commit is contained in:
parent
fb5550bc38
commit
e5fa02a1d4
|
@ -2,3 +2,4 @@ node_modules
|
||||||
*.swp
|
*.swp
|
||||||
.idea/
|
.idea/
|
||||||
*.iml
|
*.iml
|
||||||
|
.*.tmp
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -21,4 +21,4 @@ clean:
|
||||||
@rm -f $(OUTPUT_DIR)/*.bundle.js
|
@rm -f $(OUTPUT_DIR)/*.bundle.js
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
@mkdir -p $(DEPLOY_DIR) && cp $(OUTPUT_DIR)/*.bundle.js $(DEPLOY_DIR)
|
@mkdir -p $(DEPLOY_DIR) && cp $(OUTPUT_DIR)/*.bundle.js $(DEPLOY_DIR) && ./bump-js-versions.sh
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script finds all js files included from index.html which have been
|
||||||
|
# modified and bumps their version (the value of the "v" parameter used
|
||||||
|
# in index.html)
|
||||||
|
|
||||||
|
# contents of index.html at HEAD (excluding not-committed changes)
|
||||||
|
index=`git show HEAD:index.html`
|
||||||
|
|
||||||
|
# js files included from index.html. The sort needed for comm
|
||||||
|
jsfiles=.bump-js-versions-jsfiles.tmp
|
||||||
|
echo "$index" | grep '<script src=".*"' -o | sed -e 's/<script src="//' | sed -e 's/\?.*//' | tr -d \" | sort > $jsfiles
|
||||||
|
|
||||||
|
# modified files since the last commit
|
||||||
|
gitmodified=.bump-js-versions-gitmodified.tmp
|
||||||
|
git ls-files -m | sort > $gitmodified
|
||||||
|
|
||||||
|
for file in `comm -12 $jsfiles $gitmodified` ;do
|
||||||
|
old_version=`echo "$index" | grep "<script src=\"${file}?v=[0-9]*" -o | sed -e 's/.*v=//'| tr -d \"`
|
||||||
|
new_version=$((1+$old_version))
|
||||||
|
echo Bumping version of $file from $old_version to $new_version
|
||||||
|
sed -i.tmp -e "s%script src=\"${file}\?v=.*\"%script src=\"$file?v=$new_version\"%" index.html
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f $jsfiles $gitmodified index.html.tmp
|
Loading…
Reference in New Issue