xref: /aosp_15_r20/external/google-cloud-java/generation/apply_current_versions.sh (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
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