endpat = startpat # end pattern
op = "^" ws "---" ws "$" # match files starts with "---"
- next_release_tag = "^" ws "next-release-tag: " curr_tag
+ next_release_tag = "^" ws "next-release-tag: '{stream}'"
master = "'master'"
new_branch = "'stable/" new_release "'"
curr_branch = "'stable/" curr_release "'"
# replace block for autorelease-projects
#new_rel_yaml_tag = "- " new_release ":";
- next_rel_tag_new_yaml_tag = " next-release-tag: " new_tag;
+ next_rel_tag_new_yaml_tag = " next-release-tag: '{stream}'";
#br_master_yaml_tag = " branch: 'master'";
jdk_yaml_tag = " jdk: 'openjdk8'";
intg_test_yaml_tag = " integration-test: " new_release;
#curr_rel_yaml_tag = "- " curr_release ":";
- next_rel_tag_curr_yaml_tag = " next-release-tag: " curr_tag;
+ next_rel_tag_curr_yaml_tag = " next-release-tag: '{stream}'";
#br_stable_curr_yaml_tag = " branch: 'stable/" curr_release "'";
# search patterns
smaster = "^" ws "- master:"
sstream = "^" ws "stream:"
srelease = "^" ws "- " curr_release ":"
+ snext_release_tag = "^" ws "next-release-tag:"
#if (l ~ next_release_tag) { next_release_tag = 1; continue; }
sbranch = "^" ws "branch: " master
+ sfunctionality = "^" ws "functionality:"
debug = 0 # set to 1 to print debug info
file_format = 2 # project stream format
release_found = 0
stream_found = 0
nrt_found = 0
+ func_found = 0
}
{
l = firstblk[i]
if (l ~ sstream) { stream_found = 1; }
if (l ~ srelease) { release_found = 1; indent = substr(l, 1, index(l, "-")-1); continue; }
- if (l ~ next_release_tag) { nrt_found = 1; continue; }
+ if (l ~ sfunctionality) { func_found = 1; }
+ if (l ~ snext_release_tag) { nrt_found = 1; }
if (l ~ sbranch) {
# append lines
if (stream_found && release_found && !nrt_found) {
newblk[++nex3] = indent new_rel_yaml_tag;
newblk[++nex3] = indent br_master_yaml_tag;
- newblk[++nex3] = indent jre_yaml_tag;
+ # set 'jdk' macro for patch-test jobs
+ if (!func_found) {
+ newblk[++nex3] = indent jdk_yaml_tag;
+ } else {
+ newblk[++nex3] = indent jre_yaml_tag;
+ }
newblk[++nex3] = indent curr_rel_yaml_tag;
newblk[++nex3] = indent br_stable_curr_yaml_tag;
- stream_found = 0; release_found = 0;
+ stream_found = 0;
+ release_found = 0;
+ func_found = 0;
continue;
}
if (stream_found && release_found && nrt_found) {
#
##############################################################################
-# List of files exclude
+# List of directories, files to exclude
declare -a excludes=("releng-defaults.yaml"
- "releng-macros.yaml")
+ "releng-macros.yaml"
+ "global-jjb"
+ "lf-infra"
+ "-macros.yaml"
+ "validate-autorelease"
+ "opflex-dependencies.yaml")
TEMP="/tmp/tmp.yaml"
mod=0
count=0
function usage {
- echo "Usage: $(basename $0) options (-n [next release]) (-c [current release]) (-p [previous release]) -h for help";
- exit 1;
+ echo "Usage: $(basename $0) options (-c [current release]) (-n [next release]) (-p [previous release]) -h for help";
+ echo "example:"
+ echo "branch_cutter.sh -n oxygen -c nitrogen -p carbon"
+ exit 0;
}
if ( ! getopts ":n:c:p:h" opt ); then
echo "Start Branch Cutting:"
-while IFS="" read -r y; do
+while IFS="" read -r file; do
found=0
- for f in "${excludes[@]}"; do
- if [[ $y =~ $f && $found -eq 0 ]]; then
+ for exclude in "${excludes[@]}"; do
+ if [[ $file =~ $exclude && $found -eq 0 ]]; then
found=1
break
fi
done
if [[ $found -eq 1 ]]; then
- echo "Ignore file $y found in excludes list"
+ echo "Ignore file $file found in excludes list"
else
- ./branch_cut.awk -v new_reltag="$new_reltag" -v curr_reltag="$curr_reltag" -v prev_reltag="$prev_reltag" "$y" > "$TEMP"
- [[ ! -s "$TEMP" ]] && echo "$y: excluded"
- [[ -s "$TEMP" ]] && mv "$TEMP" "$y" && echo "$y: Done" && let "mod++"
+ ./branch_cut.awk -v new_reltag="$new_reltag" -v curr_reltag="$curr_reltag" -v prev_reltag="$prev_reltag" "$file" > "$TEMP"
+ [[ ! -s "$TEMP" ]] && echo "$file: excluded"
+ [[ -s "$TEMP" ]] && mv "$TEMP" "$file" && echo "$file: Done" && let "mod++"
let "count++"
fi
done < <(find ../../jjb -name "*.yaml")