SCRIPT_NAME=$(basename "$0")
repo_location="./"
-release_data_file="./pf_release_data.csv"
+release_data_file="pf_release_data.csv"
+release_data_file_tag=""
# Use the bash internal OSTYPE variable to check for MacOS
if [[ "$OSTYPE" == "darwin"* ]]
echo " -x - update policy/apex-pdp references"
echo " -k - update docker base images in Dockerfiles"
echo " -f - update release data in policy parent"
+ echo " -t tag - tag the release data file with the given tag"
echo " -s - update release references to snapshot references,"
echo " if omitted, snapshot references are updated to release references"
echo ""
update_docker=false
update_file=false
-while getopts "hd:l:r:pcmoxkfs" opt
+while getopts "hd:l:r:pcmoxkft:s" opt
do
case $opt in
h)
f)
update_file=true
;;
+ t)
+ release_data_file_tag="$OPTARG"_
+ ;;
s)
update_snapshot=true
;;
major_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^([0-9]*)\.[0-9]*\.[0-9]*$/\1/')
minor_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^[0-9]*\.([0-9]*)\.[0-9]*$/\1/')
patch_version=$(echo "$parent_latest_released_tag" | $SED -E 's/^[0-9]*\.[0-9]*\.([0-9]*)$/\1/')
- new_patch_version=$(("$patch_version"+1))
+ new_patch_version=$((patch_version+1))
new_snapshot_tag="$major_version"."$minor_version"."$new_patch_version"-SNAPSHOT
echo updating policy parent reference to "$new_snapshot_tag" on "$repo_location/$target_repo" . . .
if [ "$update_docker" = true ] && [ "$target_docker_images" != "" ]
then
- echo "updating docker base images to version $docker_latest_released_tag on repo $repo_location/$target_repo . . ."
- find "$repo_location/$target_repo" \
- -name '*Docker*'
- find "$repo_location/$target_repo" \
- -name '*Docker*' \
- -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9]*$/\1$docker_latest_released_tag/" {} \;
- result_code=$?
+ if [ "$specified_repo" = "policy/docker" ]
+ then
+ if [ "$update_snapshot" = true ]
+ then
+ major_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^([0-9]*)\.[0-9]*\.[0-9]*$/\1/')
+ minor_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^[0-9]*\.([0-9]*)\.[0-9]*$/\1/')
+ patch_version=$(echo "$docker_latest_released_tag" | $SED -E 's/^[0-9]*\.[0-9]*\.([0-9]*)$/\1/')
+
+ new_patch_version=$((patch_version+1))
+ new_snapshot_tag="$major_version"."$minor_version"."$new_patch_version"-SNAPSHOT
+
+ echo "updating docker base images to version $new_snapshot_tag on repo $repo_location/$target_repo . . ."
+ find "$repo_location/$target_repo" \
+ -name '*Docker*' \
+ -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$new_snapshot_tag/" {} \;
+ result_code=$?
+ else
+ next_release_version=${docker_latest_snapshot_tag%-*}
+
+ echo "updating docker base images to version $next_release_version on repo $repo_location/$target_repo . . ."
+ find "$repo_location/$target_repo" \
+ -name '*Docker*' \
+ -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$next_release_version/" {} \;
+ result_code=$?
+ fi
+ else
+ if [ "$update_snapshot" == true ]
+ then
+ echo "updating docker base images to version $docker_latest_snapshot_tag on repo $repo_location/$target_repo . . ."
+ find "$repo_location/$target_repo" \
+ -name '*Docker*' \
+ -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$docker_latest_snapshot_tag/" {} \;
+ result_code=$?
+ else
+ echo "updating docker base images to version $docker_latest_released_tag on repo $repo_location/$target_repo . . ."
+ find "$repo_location/$target_repo" \
+ -name '*Docker*' \
+ -exec $SED -r -i "s/^(FROM onap\/policy-j[d|r][k|e]-alpine:)[0-9]*.[0-9]*.[0-9].*$/\1$docker_latest_released_tag/" {} \;
+ result_code=$?
+ fi
+ fi
+
if [[ "$result_code" -eq 0 ]]
then
echo "docker base images updated on $repo_location/$target_repo"
exit 1
fi
- echo "updating release data at $repo_location/$target_repo/integration/src/main/resources/release . . ."
- cp "$release_data_file" "$repo_location/$target_repo"/integration/src/main/resources/release
- echo "updated release data at $repo_location/$target_repo/integration/src/main/resources/release"
+ release_data_file_name="$release_data_file_tag$release_data_file"
+
+ echo \
+ "updating release data at" \
+ "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name"
+ cp \
+ "$release_data_file" \
+ "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name"
+ echo \
+ "updated release data at" \
+ "$repo_location/$target_repo/integration/src/main/resources/release/$release_data_file_name"
fi