tools: release process updates
This commit is contained in:
		
							parent
							
								
									5c3740d354
								
							
						
					
					
						commit
						b8a144e093
					
				
							
								
								
									
										60
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								Makefile
									
									
									
									
									
								
							| @ -45,6 +45,22 @@ DEFINEFLAGS:=-DMAKE -DPATCHLEVEL=$(PATCHLEVEL) $(OPTFLAGS) | |||||||
| BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) -ihledger-lib | BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) -ihledger-lib | ||||||
| TIME:=$(shell date +"%Y%m%d%H%M") | TIME:=$(shell date +"%Y%m%d%H%M") | ||||||
| 
 | 
 | ||||||
|  | # file defining the current release version
 | ||||||
|  | VERSIONFILE=VERSION | ||||||
|  | # two or three-part version string
 | ||||||
|  | VERSION:=$(shell grep -v '^--' $(VERSIONFILE)) | ||||||
|  | # three-part version string
 | ||||||
|  | ifeq ($(shell ghc -e "length (filter (=='.') \"$(VERSION)\")"), 1) | ||||||
|  | VERSION3:=$(VERSION).0 | ||||||
|  | else | ||||||
|  | VERSION3:=$(VERSION) | ||||||
|  | endif | ||||||
|  | # files which should be updated when the version changes
 | ||||||
|  | VERSIONSENSITIVEFILES=\
 | ||||||
|  | 	hledger.cabal \
 | ||||||
|  | 	Hledger/Cli/Version.hs \
 | ||||||
|  | 	hledger-lib/hledger-lib.cabal \
 | ||||||
|  | 
 | ||||||
| default: tag hledger | default: tag hledger | ||||||
| 
 | 
 | ||||||
| ######################################################################
 | ######################################################################
 | ||||||
| @ -197,14 +213,22 @@ quickcabaltest: setversion | |||||||
| 
 | 
 | ||||||
| # make sure cabal is happy in all possible ways
 | # make sure cabal is happy in all possible ways
 | ||||||
| fullcabaltest: setversion | fullcabaltest: setversion | ||||||
| 	@(cabal clean \
 | 	(cd hledger-lib \
 | ||||||
| 		&& cabal check \
 | 	&& cabal clean \
 | ||||||
| 		&& cabal configure -fvty -fweb \
 | 	&& cabal check \
 | ||||||
| 		&& cabal build \
 | 	&& cabal install \
 | ||||||
| 		&& dist/build/hledger/hledger test 2>&1 | tail -1 | grep -q 'Errors: 0  Failures: 0' \
 | 	&& cabal sdist \
 | ||||||
| 		&& cabal sdist \
 | 	&& cabal upload dist/hledger-lib-$(VERSION).tar.gz --check -v3 \
 | ||||||
| 		&& cabal upload dist/hledger-$(VERSION).tar.gz --check -v3 \
 | 	&& cd .. \
 | ||||||
| 		&& echo $@ passed) || echo $@ FAILED | 	&& cabal clean \
 | ||||||
|  | 	&& cabal check \
 | ||||||
|  | 	&& cabal configure -fvty -fweb \
 | ||||||
|  | 	&& cabal build \
 | ||||||
|  | 	&& dist/build/hledger/hledger test 2>&1 | tail -1 | grep -q 'Errors: 0  Failures: 0' \
 | ||||||
|  | 	&& cabal sdist \
 | ||||||
|  | 	&& cabal upload dist/hledger-$(VERSION).tar.gz --check -v3 \
 | ||||||
|  | 	&& echo $@ passed \
 | ||||||
|  | 	) || echo $@ FAILED | ||||||
| 
 | 
 | ||||||
| # run performance benchmarks without saving results.
 | # run performance benchmarks without saving results.
 | ||||||
| # Requires some commands defined in bench.tests and some BENCHEXES defined above.
 | # Requires some commands defined in bench.tests and some BENCHEXES defined above.
 | ||||||
| @ -469,26 +493,10 @@ hoogleindex: | |||||||
| release: releasetest setandrecordversion tagrelease sdist | release: releasetest setandrecordversion tagrelease sdist | ||||||
| 
 | 
 | ||||||
| # Upload the latest cabal package and update hledger.org
 | # Upload the latest cabal package and update hledger.org
 | ||||||
| upload: hackageupload updatesite | upload: hackageupload pushdocs | ||||||
| 
 | 
 | ||||||
| releaseandupload: release upload | releaseandupload: release upload | ||||||
| 
 | 
 | ||||||
| # file defining the current release version
 |  | ||||||
| VERSIONFILE=VERSION |  | ||||||
| # two or three-part version string
 |  | ||||||
| VERSION:=`grep -v '^--' $(VERSIONFILE)` |  | ||||||
| # three-part version string
 |  | ||||||
| ifeq ($(shell ghc -e "length (filter (=='.') \"$(VERSION)\")"), 1) |  | ||||||
| VERSION3:=$(VERSION).0 |  | ||||||
| else |  | ||||||
| VERSION3:=$(VERSION) |  | ||||||
| endif |  | ||||||
| # files which should be updated when the version changes
 |  | ||||||
| VERSIONSENSITIVEFILES=\
 |  | ||||||
| 	hledger.cabal \
 |  | ||||||
| 	Hledger/Cli/Version.hs \
 |  | ||||||
| 	hledger-lib/hledger-lib.cabal \
 |  | ||||||
| 
 |  | ||||||
| Version.hs: $(VERSIONFILE) | Version.hs: $(VERSIONFILE) | ||||||
| 	perl -p -e "s/(^version *= *)\".*?\"/\1\"$(VERSION3)\"/" -i $@ | 	perl -p -e "s/(^version *= *)\".*?\"/\1\"$(VERSION3)\"/" -i $@ | ||||||
| 
 | 
 | ||||||
| @ -511,10 +519,12 @@ tagrelease: | |||||||
| 	darcs tag $(VERSION3) | 	darcs tag $(VERSION3) | ||||||
| 
 | 
 | ||||||
| sdist: | sdist: | ||||||
|  | 	cd hledger-lib; cabal sdist | ||||||
| 	cabal sdist | 	cabal sdist | ||||||
| 
 | 
 | ||||||
| # display a hackage upload command reminder
 | # display a hackage upload command reminder
 | ||||||
| hackageupload: | hackageupload: | ||||||
|  | 	cabal upload hledger-lib/dist/hledger-lib-$(VERSION).tar.gz -v3 | ||||||
| 	cabal upload dist/hledger-$(VERSION).tar.gz -v3 | 	cabal upload dist/hledger-$(VERSION).tar.gz -v3 | ||||||
| 
 | 
 | ||||||
| # send unpushed patches to the mail list
 | # send unpushed patches to the mail list
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user