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