xref: /aosp_15_r20/external/google-cloud-java/generation/readme_update.sh (revision 55e87721aa1bc457b326496a7ca40f3ea1a63287)
1*55e87721SMatt Gilbride#!/bin/bash
2*55e87721SMatt Gilbride# This script should run as a part of new-library generation process.
3*55e87721SMatt Gilbride# This script introduces release-please annotations if they don't exist in the readme file
4*55e87721SMatt Gilbride
5*55e87721SMatt Gilbridefor module in $(find . -mindepth 2 -maxdepth 2 -name pom.xml | sort | xargs dirname); do
6*55e87721SMatt Gilbride
7*55e87721SMatt Gilbride  if [[ "${module}" = *java-core ]] || [[ "${module}" = *java-shared-dependencies ]]; then
8*55e87721SMatt Gilbride    continue
9*55e87721SMatt Gilbride  fi
10*55e87721SMatt Gilbride
11*55e87721SMatt Gilbride  readme_file="${module}/README.md"
12*55e87721SMatt Gilbride
13*55e87721SMatt Gilbride  if [ -e ${readme_file} ] && ! [[ $(grep "x-version-update-start" ${readme_file}) ]]; then
14*55e87721SMatt Gilbride
15*55e87721SMatt Gilbride    artifactId_line=$(grep --max-count=1 'artifactId' "${readme_file}")
16*55e87721SMatt Gilbride
17*55e87721SMatt Gilbride    prefix="  <artifactId>"
18*55e87721SMatt Gilbride    suffix="</artifactId>"
19*55e87721SMatt Gilbride    string=${artifactId_line}
20*55e87721SMatt Gilbride    new_string=${string#"$prefix"}
21*55e87721SMatt Gilbride    artifactId=${new_string%"$suffix"}
22*55e87721SMatt Gilbride
23*55e87721SMatt Gilbride    echo "Handling ${artifactId}"
24*55e87721SMatt Gilbride
25*55e87721SMatt Gilbride    line_number=$(grep -n -m 1 "<dependency>" ${readme_file} | sed 's/\([0-9]*\).*/\1/')
26*55e87721SMatt Gilbride    start_line=${line_number}-2
27*55e87721SMatt Gilbride    line_number_end=$(grep -n -m 1 "Scala" ${readme_file} | sed 's/\([0-9]*\).*/\1/')
28*55e87721SMatt Gilbride    end_line=${line_number_end}+4
29*55e87721SMatt Gilbride
30*55e87721SMatt Gilbride    start_line_append="<!-- {x-version-update-start:${artifactId}:released} -->"
31*55e87721SMatt Gilbride
32*55e87721SMatt Gilbride    printf '%s\n' H ${start_line}i "${start_line_append}" . w | ed -s ${readme_file}
33*55e87721SMatt Gilbride    printf '%s\n' H ${end_line}i "<!-- {x-version-update-end} -->" . w | ed -s ${readme_file}
34*55e87721SMatt Gilbride
35*55e87721SMatt Gilbride  fi
36*55e87721SMatt Gilbride
37*55e87721SMatt Gilbridedone
38