blob: 3e07c492352d944ac82517fc055c45d9d7498778 [file] [log] [blame]
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Script for migrating from the old style libcloud paths (pre 0.5) to the new
# ones.
# THIS SCRIPT WILL MODIFY FILES IN PLACE. BE SURE TO BACKUP THEM BEFORE RUNNING
# IT. LIBCLOUD TEAM CANNOT BE RESPONSIBLE FOR ANY DAMAGE CAUSED BY THIS SCRIPT.
# Note: If you are on OS X / FreeBSD, you need to install GNU sed.
DIRECTORY=$1
SED=`which gsed gnused sed`
for value in $SED
do
SED=${value}
break
done
if [ ! $DIRECTORY ]; then
echo "Usage: ./migrate_paths.sh <directory with your code>"
exit 1
fi
OLD_PATHS[0]="libcloud.base"
OLD_PATHS[1]="libcloud.deployment"
OLD_PATHS[2]="libcloud.drivers"
OLD_PATHS[3]="libcloud.ssh"
OLD_PATHS[4]="libcloud.types"
OLD_PATHS[5]="libcloud.providers"
UPDATED_PATHS[0]="libcloud.compute.base"
UPDATED_PATHS[1]="libcloud.compute.deployment"
UPDATED_PATHS[2]="libcloud.compute.drivers"
UPDATED_PATHS[3]="libcloud.compute.ssh"
UPDATED_PATHS[4]="libcloud.compute.types"
UPDATED_PATHS[5]="libcloud.compute.providers"
for (( i = 0 ; i < ${#OLD_PATHS[@]} ; i++ ))
do
old_path=${OLD_PATHS[$i]}
new_path=${UPDATED_PATHS[$i]}
cmd1="find ${DIRECTORY} -name '*.py' -type f -print0 | xargs -0 ${SED} -i -e 's/^from ${old_path} import/from ${new_path} import/g'"
cmd2="find ${DIRECTORY} -name '*.py' -type f -print0 | xargs -0 ${SED} -i -e 's/^import ${old_path}/import ${new_path}/g'"
echo "Migrating: ${old_path} -> ${new_path}"
eval "$cmd1"
eval "$cmd2"
done