#!/usr/bin/env sh # Copyright (C) 2022 WYATT GROUP # Please see the AUTHORS file for details. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . usage=" usage: $(basename "$0") -- create new analyzer files. where: previous_version: last version, for example \`2.2.1\` new_version: new version, for example \`2.2.3\`" old=$1 new=$2 if [ -z "$old" ]; then echo "previous_version cannot be null" echo "${usage}" exit 1 fi if [ -z "$new" ]; then echo "new_version cannot be null" echo "${usage}" exit 1 fi SCRIPT_PATH="${BASH_SOURCE:-$0}" ABS_SCRIPT_PATH="$(realpath "${SCRIPT_PATH}")" ABS_DIRECTORY="$(dirname "${ABS_SCRIPT_PATH}")" OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.yaml" OLD_OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.${old}.yaml" NEW_OPTIONS="${ABS_DIRECTORY}/lib/analysis_options.${new}.yaml" OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.yaml" OLD_OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.${old}.yaml" NEW_OPTIONS_FLUTTER="${ABS_DIRECTORY}/lib/analysis_options.flutter.${new}.yaml" if [ ! -e "$OLD_OPTIONS" ]; then echo "analysis_options.${old}.yaml doesn't exists" echo "${usage}" exit 1 fi if [ ! -e "$OLD_OPTIONS_FLUTTER" ]; then echo "analysis_options.flutter.${old}.yaml doesn't exists" echo "${usage}" exit 1 fi if [ -e "$NEW_OPTIONS" ]; then echo "analysis_options.${new}.yaml already exists" echo "${usage}" exit 1 fi if [ -e "$NEW_OPTIONS_FLUTTER" ]; then echo "analysis_options.flutter.${old}.yaml already exists" echo "${usage}" exit 1 fi # Copy previous version files cp "${OLD_OPTIONS}" "${NEW_OPTIONS}" cp "${OLD_OPTIONS_FLUTTER}" "${NEW_OPTIONS_FLUTTER}" # Search and replace old version string occurences in new files sed -e "s/${old}/${new}/g" "${NEW_OPTIONS_FLUTTER}" > tempfile.tmp mv -f tempfile.tmp "${NEW_OPTIONS_FLUTTER}" echo " # Copyright (C) 2022 WYATT GROUP # Please see the AUTHORS file for details. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . include: package:wyatt_analysis/analysis_options.${new}.yaml " > "${OPTIONS}" echo " # Copyright (C) 2022 WYATT GROUP # Please see the AUTHORS file for details. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . include: package:wyatt_analysis/analysis_options.flutter.${new}.yaml " > "${OPTIONS_FLUTTER}" exit 0