Reorder Makefile
OK, we finally have a make file where I can do a complete release, including all the git updates on master and maint branches, with a single command: make release TAG=N.NN It is important that the working directory is clean when calling this command. Since this command can fail and then leave the git repo in an uncertain state, it is best to first run this: make testrelease This will create a throw-away branch "testrelease" and try alll the commands there, to make sure everything is fine.
This commit is contained in:
parent
bdad4a1aff
commit
8d0735b89e
93
Makefile
93
Makefile
|
@ -272,6 +272,41 @@ pdf: doc/org.pdf doc/orgguide.pdf
|
|||
|
||||
card: doc/orgcard.pdf doc/orgcard_letter.pdf doc/orgcard.txt
|
||||
|
||||
testrelease:
|
||||
git checkout -b testrelease maint
|
||||
git merge -s recursive -X theirs master
|
||||
UTILITIES/set-version.pl testing
|
||||
git commit -a -m "Release testing"
|
||||
make distfile TAG=testversion
|
||||
make cleanrel
|
||||
rm -rf org-testversion*
|
||||
git reset --hard
|
||||
git checkout master
|
||||
git branch -D testrelease
|
||||
|
||||
release:
|
||||
git checkout maint
|
||||
git merge -s recursive -X theirs master
|
||||
UTILITIES/set-version.pl $(TAG)
|
||||
git commit -a -m "Release $(TAG)"
|
||||
make relup TAG=$(TAG)
|
||||
make cleanrel
|
||||
rm -rf org-$(TAG)
|
||||
rm org-$(TAG)*.zip
|
||||
rm org-$(TAG)*.tar.gz
|
||||
make pushreleasetag TAG=$(TAG)
|
||||
git push origin maint
|
||||
git checkout master
|
||||
UTILITIES/set-version.pl -o $(TAG)
|
||||
git commit -a -m "Update website to show $(TAG) as current release"
|
||||
git push
|
||||
make updateweb
|
||||
|
||||
relup:
|
||||
${MAKE} makerelease
|
||||
${MAKE} upload_release
|
||||
${MAKE} upload_manual
|
||||
|
||||
distfile:
|
||||
@if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
|
||||
touch doc/org.texi doc/orgcard.tex # force update
|
||||
|
@ -315,44 +350,15 @@ upload_manual:
|
|||
rsync -avuz --delete doc/manual/ cdominik@orgmode.org:orgmode.org/manual/
|
||||
rsync -avuz --delete doc/guide/ cdominik@orgmode.org:orgmode.org/guide/
|
||||
|
||||
relup0:
|
||||
${MAKE} makerelease
|
||||
${MAKE} upload_release
|
||||
cleanall:
|
||||
${MAKE} clean
|
||||
rm -f lisp/org-install.el
|
||||
|
||||
relup:
|
||||
${MAKE} makerelease
|
||||
${MAKE} upload_release
|
||||
${MAKE} upload_manual
|
||||
|
||||
testrelease:
|
||||
git checkout -b testrelease maint
|
||||
git merge -s recursive -X theirs master
|
||||
UTILITIES/set-version.pl testing
|
||||
git commit -a -m "Release testing"
|
||||
make distfile TAG=testversion
|
||||
make cleanrel
|
||||
rm -rf org-testversion*
|
||||
git reset --hard
|
||||
git checkout master
|
||||
git branch -D testrelease
|
||||
|
||||
release:
|
||||
git checkout maint
|
||||
git merge -s recursive -X theirs master
|
||||
UTILITIES/set-version.pl $(TAG)
|
||||
git commit -a -m "Release $(TAG)"
|
||||
make relup TAG=$(TAG)
|
||||
make cleanrel
|
||||
rm -rf org-$(TAG)
|
||||
rm org-$(TAG)*.zip
|
||||
rm org-$(TAG)*.tar.gz
|
||||
make pushreleasetag TAG=$(TAG)
|
||||
git push origin maint
|
||||
git checkout master
|
||||
UTILITIES/set-version.pl -o $(TAG)
|
||||
git commit -a -m "Update website to show $(TAG) as current release"
|
||||
git push
|
||||
make updateweb
|
||||
clean:
|
||||
${MAKE} cleanelc
|
||||
${MAKE} cleandoc
|
||||
${MAKE} cleanrel
|
||||
rm -f *~ */*~ */*/*~
|
||||
|
||||
cleancontrib:
|
||||
find contrib -name \*~ -exec rm {} \;
|
||||
|
@ -371,16 +377,6 @@ cleanrel:
|
|||
rm -rf org-6.*
|
||||
rm -rf org-6*zip org-6*tar.gz
|
||||
|
||||
clean:
|
||||
${MAKE} cleanelc
|
||||
${MAKE} cleandoc
|
||||
${MAKE} cleanrel
|
||||
rm -f *~ */*~ */*/*~
|
||||
|
||||
cleanall:
|
||||
${MAKE} clean
|
||||
rm -f lisp/org-install.el
|
||||
|
||||
.el.elc:
|
||||
$(ELC) $<
|
||||
|
||||
|
@ -396,9 +392,6 @@ pushreleasetag:
|
|||
git-tag -m "Adding release tag" -a release_$(TAG)
|
||||
git-push git+ssh://repo.or.cz/srv/git/org-mode.git release_$(TAG)
|
||||
|
||||
dummy:
|
||||
echo ${prefix}
|
||||
|
||||
# Dependencies
|
||||
|
||||
lisp/org.elc: lisp/org-macs.el lisp/org-compat.el lisp/org-faces.el
|
||||
|
|
Loading…
Reference in New Issue