Blame createrelease

Packit 2035a7
#!/bin/bash
Packit 2035a7
#
Packit 2035a7
# A script for creating release packages. The release packages are create in the home directory.
Packit 2035a7
#
Packit 2035a7
# self check:
Packit 2035a7
# ./cppcheck --library=cppcheck-lib --enable=style --inconclusive --suppress=bitwiseOnBoolean cli gui/*.cpp lib
Packit 2035a7
#
Packit 2035a7
# Update translations
Packit 2035a7
#   lupdate gui.pro
Packit 2035a7
#
Packit 2035a7
# Update copyright year
Packit 2035a7
# git diff 1.82 | grep '^diff --git a/' | sed 's|.* b/||' | xargs sed -i 's/Copyright (C) 2007-201./Copyright (C) 2007-2018/'
Packit 2035a7
# git diff | grep '^diff --git a/'
Packit 2035a7
#
Packit 2035a7
# Make sure "cppcheck --errorlist" works. For example with:
Packit 2035a7
# make test
Packit 2035a7
# ./cppcheck --errorlist > errlist.xml && xmllint --noout errlist.xml
Packit 2035a7
#
Packit 2035a7
# Update AUTHORS using output from:
Packit 2035a7
# git log --format='%aN' 1.81..HEAD | sort -u > AUTHORS2 && diff -y AUTHORS AUTHORS2 | less
Packit 2035a7
#
Packit 2035a7
# Update version numbers in:
Packit 2035a7
# sed -i "s/1.[0-9][0-9].99/1.82/" cli/main.cpp
Packit 2035a7
# sed -i "s/1.[0-9][0-9].99/1.82/" cmake/versions.cmake
Packit 2035a7
# sed -i "s/MINOR [0-9][0-9]/MINOR 82/" lib/version.h
Packit 2035a7
# sed -i "s/1.[0-9][0-9] dev/1.82/" man/manual.docbook
Packit 2035a7
# sed -i "s/1.[0-9][0-9] dev/1.82/" win_installer/productInfo.wxi
Packit 2035a7
# sed -i "s/1.[0-9][0-9].99/1.82/" win_installer/productInfo.wxi
Packit 2035a7
# Verify:
Packit 2035a7
# grep '\.99' */*.[ch]* && grep '[0-9][0-9] dev' */*.[ch]*
Packit 2035a7
# git commit -a -m "1.43: Set versions"
Packit 2035a7
#
Packit 2035a7
# Update the Makefile:
Packit 2035a7
# make dmake && ./dmake --release
Packit 2035a7
# git commit -a -m "1.43: Updated Makefile"
Packit 2035a7
#
Packit 2035a7
# Build and test the windows installer
Packit 2035a7
#
Packit 2035a7
# Tag:
Packit 2035a7
# git tag 1.43
Packit 2035a7
# git push --tags
Packit 2035a7
#
Packit 2035a7
# Create release:
Packit 2035a7
# ./createrelease 1.43
Packit 2035a7
#
Packit 2035a7
# Restore the Makefile:
Packit 2035a7
# ./dmake
Packit 2035a7
# git commit -a -m "Makefile: Set debug mode"
Packit 2035a7
#
Packit 2035a7
# Update download link on index.php main page
Packit 2035a7
#
Packit 2035a7
#
Packit 2035a7
# write a news
Packit 2035a7
#
Packit 2035a7
# save "cppcheck --doc" output on wiki, write new release date on wikis
Packit 2035a7
#
Packit 2035a7
# compile new democlient:
Packit 2035a7
# ssh -t danielmarjamaki,cppcheck@shell.sourceforge.net create
Packit 2035a7
# ./build-cppcheck.sh 1.43
Packit 2035a7
#
Packit 2035a7
# run daca with new release
Packit 2035a7
Packit 2035a7
# Tag to use
Packit 2035a7
tag=$1
Packit 2035a7
Packit 2035a7
# Name of release
Packit 2035a7
releasename=cppcheck-$tag
Packit 2035a7
Packit 2035a7
# Create archives..
Packit 2035a7
git archive --format=tar --prefix=$releasename/ $tag | gzip > ~/$releasename.tar.gz
Packit 2035a7
git archive --format=tar --prefix=$releasename/ $tag | bzip2 > ~/$releasename.tar.bz2
Packit 2035a7
git archive --format=zip -9 --prefix=$releasename/ $tag > ~/$releasename.zip
Packit 2035a7
Packit 2035a7
scp ~/$releasename.* danielmarjamaki,cppcheck@frs.sourceforge.net:/home/frs/project/c/cp/cppcheck/cppcheck/$tag/
Packit 2035a7
Packit 2035a7
# Generate the manual.pdf, manual.html and version.txt
Packit 2035a7
make clean && make
Packit 2035a7
./cppcheck --version > version.txt
Packit 2035a7
scp version.txt danielmarjamaki,cppcheck@web.sourceforge.net:htdocs/
Packit 2035a7
xsltproc -xinclude -o manual.fo /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl man/manual.docbook
Packit 2035a7
fop manual.fo -pdf manual.pdf
Packit 2035a7
#docbook2pdf man/manual.docbook
Packit 2035a7
scp manual.pdf danielmarjamaki,cppcheck@web.sourceforge.net:htdocs/
Packit 2035a7
xsltproc -o manual.html /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl man/manual.docbook
Packit 2035a7
scp manual.html danielmarjamaki,cppcheck@web.sourceforge.net:htdocs/