smarter make pypi target: check for uncommitted changes instead of asking the question nepi-6.0.0-pypi
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 5 Nov 2015 07:13:34 +0000 (08:13 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 5 Nov 2015 07:13:34 +0000 (08:13 +0100)
Makefile

index 4629ec7..3c3b841 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -83,10 +83,12 @@ PYPI_TARGET=pypi
 PYPI_TARBALL_HOST=$(BUILD_ID)@build.onelab.eu
 PYPI_TARBALL_TOPDIR=/build/nepi
 
-VERSION=$(shell cat VERSION)
-VERSIONTAG=nepi-$(VERSION)-pypi
-VERSIONTAR=nepi-$(VERSION).tar.gz
-ALREADY_SET=$(shell git tag | grep '^$(VERSIONTAG)$$')
+VERSION = $(shell cat VERSION)
+VERSIONTAG = nepi-$(VERSION)-pypi
+VERSIONTAR = nepi-$(VERSION).tar.gz
+GIT-TAG-ALREADY-SET = $(shell git tag | grep '^$(VERSIONTAG)$$')
+# to check for uncommitted changes
+GIT-CHANGES = $(shell echo $$(git diff HEAD | wc -l))
 
 ##########
 # depending on the value of USE_TWINE, we either do the upload with setup.py itself,
@@ -97,8 +99,8 @@ endef
 
 # run this only once the sources are in on the right tag
 pypi:
-       @echo "Have you committed all changes (type Ctrl-c if not) ? " ; read _
-       @if [ -n "$(ALREADY_SET)" ] ; then echo "tag $(VERSIONTAG) already set"; false; fi
+       @if [ $(GIT-CHANGES) != 0 ]; then echo "You have uncommitted changes - cannot publish"; false; fi
+       @if [ -n "$(GIT-TAG-ALREADY-SET)" ] ; then echo "tag $(VERSIONTAG) already set"; false; fi
        @echo "You are about to release $(VERSION) - OK (Ctrl-c if not) ? " ; read _
        git tag $(VERSIONTAG)
        $(call upload_pypi,pypi)