| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | #! /usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Command line parameters | 
					
						
							|  |  |  | if [[ $# != 2 ]]; then | 
					
						
							|  |  |  |     cat <<USAGE | 
					
						
							|  |  |  | usage: | 
					
						
							|  |  |  |   $0 <old> <new> | 
					
						
							|  |  |  | example: | 
					
						
							|  |  |  |   $0 '1.2.3' '1.2.4' | 
					
						
							|  |  |  | USAGE | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Process and show version | 
					
						
							|  |  |  | OLD=`sed 's/\./\\\\./g' <<<"$1"` | 
					
						
							|  |  |  | NEW=`sed 's/\./\\\\./g' <<<"$2"` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | OLD_MAJOR=`sed 's/^\([0-9]\)\.[0-9]\.[0-9]$/\1/' <<<"$1"` | 
					
						
							|  |  |  | NEW_MAJOR=`sed 's/^\([0-9]\)\.[0-9]\.[0-9]$/\1/' <<<"$2"` | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | OLD_MINOR=`sed 's/^[0-9]\.\([0-9]\)\.[0-9]$/\1/' <<<"$1"` | 
					
						
							|  |  |  | NEW_MINOR=`sed 's/^[0-9]\.\([0-9]\)\.[0-9]$/\1/' <<<"$2"` | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | OLD_RELEASE=`sed 's/^[0-9]\.[0-9]\.\([0-9]\)$/\1/' <<<"$1"` | 
					
						
							|  |  |  | NEW_RELEASE=`sed 's/^[0-9]\.[0-9]\.\([0-9]\)$/\1/' <<<"$2"` | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | OLD_THREE="${OLD_MAJOR}${OLD_MINOR}${OLD_RELEASE}" | 
					
						
							|  |  |  | NEW_THREE="${NEW_MAJOR}${NEW_MINOR}${NEW_RELEASE}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OLD_DOT_THREE="${OLD_MAJOR}\\.${OLD_MINOR}\\.${OLD_RELEASE}" | 
					
						
							|  |  |  | NEW_DOT_THREE="${NEW_MAJOR}\\.${NEW_MINOR}\\.${NEW_RELEASE}" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | OLD_DOT_FOUR="${OLD_MAJOR}\\.${OLD_MINOR}\\.${OLD_RELEASE}\\.0" | 
					
						
							|  |  |  | NEW_DOT_FOUR="${NEW_MAJOR}\\.${NEW_MINOR}\\.${NEW_RELEASE}\\.0" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OLD_COMMA_FOUR="${OLD_MAJOR},${OLD_MINOR},${OLD_RELEASE},0" | 
					
						
							|  |  |  | NEW_COMMA_FOUR="${NEW_MAJOR},${NEW_MINOR},${NEW_RELEASE},0" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "#===============================================" | 
					
						
							|  |  |  | echo "# Plain    '${OLD}'     -> '${NEW}'" | 
					
						
							|  |  |  | echo "#-----------------------------------------------" | 
					
						
							|  |  |  | echo "# Major    '${OLD_MAJOR}'           -> '${NEW_MAJOR}'" | 
					
						
							|  |  |  | echo "# Minor    '${OLD_MINOR}'           -> '${NEW_MINOR}'" | 
					
						
							|  |  |  | echo "# Release  '${OLD_RELEASE}'           -> '${NEW_RELEASE}'" | 
					
						
							|  |  |  | echo "#-----------------------------------------------" | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | echo "# 3        '${OLD_THREE}'         -> '${NEW_THREE}'" | 
					
						
							|  |  |  | echo "# Dot 3    '${OLD_DOT_THREE}'     -> '${NEW_DOT_THREE}'" | 
					
						
							|  |  |  | echo "# Dot 4    '${OLD_DOT_FOUR}'  -> '${NEW_DOT_FOUR}'" | 
					
						
							|  |  |  | echo "# Comma 4  '${OLD_COMMA_FOUR}'     -> '${NEW_COMMA_FOUR}'" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | echo "#===============================================" | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Make script safe to call from anywhere by going home first | 
					
						
							| 
									
										
										
										
											2009-02-24 08:56:46 +01:00
										 |  |  | SCRIPT_DIR=`dirname "${PWD}/$0"`/.. | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | echo "Entering directory \`${SCRIPT_DIR}'" | 
					
						
							|  |  |  | pushd "${SCRIPT_DIR}" &>/dev/null || exit 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Patch *.pluginspec | 
					
						
							|  |  |  | while read i ; do | 
					
						
							|  |  |  |     echo "Patching \`$i'" | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  |     TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  |     sed -e 's/version="'"${OLD}"'"/version="'"${NEW}"'"/' \
 | 
					
						
							|  |  |  |             -e 's/compatVersion="'"${OLD}"'"/compatVersion="'"${NEW}"'"/' \
 | 
					
						
							|  |  |  |             "${i}" > "${TMPFILE}" | 
					
						
							|  |  |  |     mv -f "${TMPFILE}" "${i}" | 
					
						
							|  |  |  | done < <(find . -name '*.pluginspec') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Patch coreconstants.h | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | CORE_CONSTANT_H="${SCRIPT_DIR}/src/plugins/coreplugin/coreconstants.h" | 
					
						
							|  |  |  | echo "Patching \`${CORE_CONSTANT_H}'" | 
					
						
							|  |  |  | sed \
 | 
					
						
							|  |  |  |         -e 's/^\(#define IDE_VERSION_MAJOR \)'"${OLD_MAJOR}"'/\1'"${NEW_MAJOR}"'/' \
 | 
					
						
							|  |  |  |         -e 's/^\(#define IDE_VERSION_MINOR \)'"${OLD_MINOR}"'/\1'"${NEW_MINOR}"'/' \
 | 
					
						
							|  |  |  |         -e 's/^\(#define IDE_VERSION_RELEASE \)'"${OLD_RELEASE}"'/\1'"${NEW_RELEASE}"'/' \
 | 
					
						
							|  |  |  |     "${CORE_CONSTANT_H}" > "${TMPFILE}" | 
					
						
							|  |  |  | mv -f "${TMPFILE}" "${CORE_CONSTANT_H}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Patch installer.rc | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2009-02-24 08:56:46 +01:00
										 |  |  | INSTALLER_RC="${SCRIPT_DIR}/../../dev/ide/nightly_builds/installer/installer.rc" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | echo "Patching \`${INSTALLER_RC}'" | 
					
						
							|  |  |  | sed \
 | 
					
						
							|  |  |  |         -e "s/"${OLD_DOT_FOUR}"/"${NEW_DOT_FOUR}"/" \
 | 
					
						
							|  |  |  |         -e "s/"${OLD_COMMA_FOUR}"/"${NEW_COMMA_FOUR}"/" \
 | 
					
						
							|  |  |  |     "${INSTALLER_RC}" > "${TMPFILE}" | 
					
						
							|  |  |  |     p4 edit `sed -e 's/\/\.\//\//g' -e 's/\/[^\/]\+\/\.\.\//\//g' <<<"${INSTALLER_RC}"` | 
					
						
							|  |  |  | mv -f "${TMPFILE}" "${INSTALLER_RC}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | ## Patch Info.plist | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2009-02-24 08:56:46 +01:00
										 |  |  | INFO_PLIST="${SCRIPT_DIR}/share/qtcreator/Info.plist" | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | echo "Patching \`${INFO_PLIST}'" | 
					
						
							|  |  |  | sed \
 | 
					
						
							|  |  |  |         -e "s/"${OLD}"/"${NEW}"/" \
 | 
					
						
							|  |  |  |     "${INFO_PLIST}" > "${TMPFILE}" | 
					
						
							|  |  |  | mv -f "${TMPFILE}" "${INFO_PLIST}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | ## Patch qtcreator.qdocconf | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | QDOCCONF="${SCRIPT_DIR}/doc/qtcreator.qdocconf" | 
					
						
							|  |  |  | echo "Patching \`${QDOCCONF}'" | 
					
						
							|  |  |  | sed \
 | 
					
						
							|  |  |  |         -e "s/"${OLD_DOT_THREE}"/"${NEW_DOT_THREE}"/" \
 | 
					
						
							|  |  |  |         -e "s/"${OLD_THREE}"/"${NEW_THREE}"/" \
 | 
					
						
							|  |  |  |     "${QDOCCONF}" > "${TMPFILE}" | 
					
						
							|  |  |  | mv -f "${TMPFILE}" "${QDOCCONF}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Patch qtcreator.qdoc | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  | TMPFILE=`mktemp versionPatch.XXXXXX` | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  | QDOC="${SCRIPT_DIR}/doc/qtcreator.qdoc" | 
					
						
							|  |  |  | echo "Patching \`${QDOC}'" | 
					
						
							|  |  |  | sed \
 | 
					
						
							| 
									
										
										
										
											2009-02-24 09:01:55 +01:00
										 |  |  |         -e 's/'${OLD_DOT_THREE}'/'${NEW_DOT_THREE}'/' \
 | 
					
						
							| 
									
										
										
										
											2009-01-23 17:12:47 +01:00
										 |  |  |     "${QDOC}" > "${TMPFILE}" | 
					
						
							|  |  |  | mv -f "${TMPFILE}" "${QDOC}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-02 12:01:29 +01:00
										 |  |  | ## Go back to original $PWD | 
					
						
							|  |  |  | echo "Leaving directory \`${SCRIPT_DIR}'" | 
					
						
							|  |  |  | popd &>/dev/null || exit 1 | 
					
						
							|  |  |  | exit 0 |