Permalink
Fetching contributors…
Cannot retrieve contributors at this time
84 lines (67 sloc) 2.11 KB
SHELL:=bash
BUNDLE?=./node_modules/.bin/browserify
JSHINT?=./node_modules/.bin/jshint
DOCCO?=./node_modules/.bin/docco
define assert_no_local_changes
@git --no-pager diff --exit-code --quiet || \
(echo "You must commit or stash your changes first" 1>&2 && \
exit 1)
@git --no-pager diff --exit-code --quiet --cached || \
(echo "You must commit your staged changes first" 1>&2 && \
exit 1)
endef
define assert_master_branch
@git rev-parse --abbrev-ref HEAD \
| grep 'master' > /dev/null 2>&1 || \
(echo "You must be on the master branch" 1>&2 && \
exit 1)
endef
define assert_remote
@git remote -v | grep origin | \
grep "raoulmillais/7digital-api" > /dev/null 2>&1 || \
(echo "Your origin must be the source repository " \
"raoulmillais/7digital-api" && exit 1)
endef
define assert_all_changes_pushed
test -z "`git rev-list @{upstream}.. -n 1`" || \
(echo "You must push all your changes first" 1>&2 && \
exit 1)
endef
define assert_is_owner
npm --registry=http://registry.npmjs.org --loglevel=warn owner ls | \
awk '{print $1}' | \
grep "`npm whoami`" > /dev/null 2>&1 || \
(echo "You must be an owner to publish" 1>&2 && \
exit 1)
endef
test: check
@npm test
check:
$(JSHINT) lib/*.js examples/*.js
bundle:
$(BUNDLE) build.js > build/7digital.js
docs:
$(DOCCO) --layout linear {lib,examples}/*.js
publish-check:
$(assert_remote)
$(assert_master_branch)
$(assert_no_local_changes)
publish-docs: test docs publish-check
git checkout gh-pages
git pull --rebase origin gh-pages
rm *.{html,css}
rm -rf public
cp -R docs/* .
git add -A
-git commit -m "Publish docs"
git push origin gh-pages
git checkout master
publish: publish-docs
test -n "$(version)" || (echo \
"Supply a version: make publish version=x.x.x" && \
exit 1)
$(assert_is_owner)
npm version $(version) --registry=http://registry.npmjs.org
git push origin master --tags
npm publish --registry=http://registry.npmjs.org
.PHONY: test check docs build publish-docs publish