1*68017707SAndroid Build Coastguard Worker#!/bin/bash 2*68017707SAndroid Build Coastguard Worker 3*68017707SAndroid Build Coastguard Workerif [ "$#" -ne 2 ] 4*68017707SAndroid Build Coastguard Worker then 5*68017707SAndroid Build Coastguard Worker echo "Use: ./bump-version old_version new_version" 6*68017707SAndroid Build Coastguard Worker exit 7*68017707SAndroid Build Coastguard Workerfi 8*68017707SAndroid Build Coastguard Worker 9*68017707SAndroid Build Coastguard Workerold_version=$1 10*68017707SAndroid Build Coastguard Workernew_version=$2 11*68017707SAndroid Build Coastguard Worker 12*68017707SAndroid Build Coastguard Workerupdate_version() { 13*68017707SAndroid Build Coastguard Worker echo "Updating version from '$old_version' to '$new_version' in $1" 14*68017707SAndroid Build Coastguard Worker sed -i.bak s/$old_version/$new_version/g $1 15*68017707SAndroid Build Coastguard Worker rm $1.bak 16*68017707SAndroid Build Coastguard Worker} 17*68017707SAndroid Build Coastguard Worker 18*68017707SAndroid Build Coastguard Workerupdate_version "README.md" 19*68017707SAndroid Build Coastguard Workerupdate_version "gradle.properties" 20*68017707SAndroid Build Coastguard Worker 21*68017707SAndroid Build Coastguard Worker# Escape dots, e.g. 1.0.0 -> 1\.0\.0 22*68017707SAndroid Build Coastguard Workerescaped_old_version=$(echo $old_version | sed s/[.]/\\\\./g) 23*68017707SAndroid Build Coastguard Workerresult=$(find ./ -type f \( -iname \*.properties -o -iname \*.md \) | grep -v "\.gradle" | grep -v "build" | xargs -I{} grep -H "$escaped_old_version" {} | grep -v CHANGES.md) 24*68017707SAndroid Build Coastguard Workerif [ -z "$result" ]; 25*68017707SAndroid Build Coastguard Workerthen 26*68017707SAndroid Build Coastguard Worker echo "Done" 27*68017707SAndroid Build Coastguard Workerelse 28*68017707SAndroid Build Coastguard Worker echo "ERROR: Previous version is present in the project: $result" 29*68017707SAndroid Build Coastguard Worker exit -1 30*68017707SAndroid Build Coastguard Workerfi 31