1*55e87721SMatt Gilbride#!/bin/bash 2*55e87721SMatt Gilbride 3*55e87721SMatt Gilbride# This script sets the "current-version" written in versions.txt applied to all 4*55e87721SMatt Gilbride# pom.xml files in this monorepo. 5*55e87721SMatt Gilbride# This script plays supplemental role just in case Release Please pull request 6*55e87721SMatt Gilbride# fails to update all files. 7*55e87721SMatt Gilbride 8*55e87721SMatt Gilbride# Usage: 9*55e87721SMatt Gilbride# # Run this script at the root of the monorepo 10*55e87721SMatt Gilbride# bash generation/apply_current_versions.sh 11*55e87721SMatt Gilbride 12*55e87721SMatt Gilbrideset -e 13*55e87721SMatt Gilbride 14*55e87721SMatt GilbrideSED_OPTIONS="" 15*55e87721SMatt Gilbridefor versions_file in $(find . -mindepth 0 -maxdepth 2 -name versions.txt \ 16*55e87721SMatt Gilbride |sort --dictionary-order); do 17*55e87721SMatt Gilbride for KV in $(cut -f1,3 -d: $versions_file |grep -v "#"); do 18*55e87721SMatt Gilbride K=${KV%:*}; V=${KV#*:} 19*55e87721SMatt Gilbride echo Key:$K, Value:$V; 20*55e87721SMatt Gilbride SED_OPTIONS="$SED_OPTIONS -e /x-version-update:$K:current/{s|<version>.*<\/version>|<version>$V<\/version>|;}" 21*55e87721SMatt Gilbride done 22*55e87721SMatt Gilbridedone 23*55e87721SMatt Gilbride 24*55e87721SMatt Gilbrideecho "Running sed command. It may take few minutes." 25*55e87721SMatt Gilbridefind . -maxdepth 3 -name pom.xml |sort --dictionary-order |xargs sed -i.bak $SED_OPTIONS 26*55e87721SMatt Gilbridefind . -maxdepth 3 -name pom.xml.bak |xargs rm 27