lw-build-system/skel/scripts/module-rename.sh

47 lines
945 B
Bash
Executable File

#!/bin/bash
# @P@/scripts/module-rename.sh
#
# (c)@YEAR@, @AUTHOR@. Released under the GNU GPL. See file
# COPYING for more information / terms of license.
#
# Renames a source module (e.g. "src/oldlib" -> "src/newlib") by running
# a sed script on all files to change filenames / headers.
# Get the directory of the repository (needed to include functions file)
cd $(dirname $0)
cd $(dirname $(pwd))
[ -z "${VERBOSE}" ] && VERBOSE="0"
source scripts/functions.sh || exit 1
# Get version etc.
if [ $# -ne 2 ]
then
echo "Usage: scripts/module-rename.sh <old> <new>"
exit 1
fi
OLD="src/$1"
NEW="src/$2"
if [ ! -e ${OLD} ]
then
print_failure "${OLD} does not exist"
exit 1
fi
if [ -e ${NEW} ]
then
print_failure "${NEW} already exists"
exit 1
fi
echo "Moving ${OLD} -> ${NEW}"
do_cmd mv ${OLD} ${NEW} || exit 1
do_cmd find ${NEW} -type f -exec sed -e "s,${OLD},${NEW},g" -i {} \; || exit 1
print_success "Done"