#!/bin/sh
. ./config.properties
. ./mytools.inc
if [ ! -d "$DEST_1_CODE" ];
then
echo \"$DEST_CODE\" do not exist
exit 1
fi
if [ ! -d "$DEST_N_CODE" ];then
echo \"$DEST_CODE\" do not exist
exit 1
fi
echo "" >> $1
sed "/^$/d" $1 > temp.log
cat temp.log > $1
rm -f temp.log
function findinnerclass
{
classdir=`dirname $DEST_CODE/$finline`
classname=`basename $DEST_CODE/$finline`
flagname=`echo $classname | awk -F '.' '{print $1}'`
find $classdir -name "$flagname\$*" >> temp_findinnerclass.log
addBlankLine temp_findinnerclass.log
while read innerclass
do
if [ "$innerclass" != "" ];then
echo "find innerclass.....##`basename $innerclass`## for ##`basename $DEST_CODE/$finline`##"
cp $innerclass $patchd > /dev/null 2>&1
if [ "$?" != 0 ];then
echo "cp error"
fi
fi
done < temp_findinnerclass.log
rm -f temp_findinnerclass.log
}
#src/batch/action/ com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#src/batch/action/classes/com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#src/batch/service/ com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java
#src/batch/service/bin/com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java
# src/batch/commeo/action/ /com/huawei/
# src/batch/commeo/action/classes/com/huawei/
# src/batch/commeo/ /com/huawei/
# src/batch/commeo/bin/com/huawei/
# src/batch/ /com/huawei/
# src/batch/bin/com/huawei/
#1 src/batch/action/ /com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#1 src/batch/action/classes/com/huawei/crm/batch/action/business/common/BatchFileChecker.java
#1 src/batch/service/com/huawei/crm/batch/business/addvpnnumber/BatchAddVPNMembersBusiVerifyImpl.java
#N src/cc/action/com/huawei/crm/cc/action/business/accept/subscriber/SubAcceptCommonFactoryYemenCTZ.java
#n src/cc/action/com/huawei/crm/customization/cc/action/business/accept/activesub/ActivationRenewPrepaidFlowServiceYemenCtz.java
#N crm.war/customization/batch/usl/business/accept/business/batchNewSubYemenCtz.usl
#n crm.war/help/customization/pc/book_open.gif
#1 crm.war/corp/image/choose.gif
#1 crm.war/batch/usl/business/accept/business/batch_svcpack.usl
#if [ -d "patch" ];then
# mv patch patch.`date +%Y%m%d`.bak
# if [ "$?" != 0 ];then
# echo "mv failed"
# fi
#fi
if [ -d "$PATCH_1" ];then
rm -rf $PATCH_1
fi
if [ -d "$PATCH_N" ];then
rm -rf $PATCH_N
fi
if [ -d "$PATCH_FIN" ];then
rm -rf $PATCH_FIN
fi
#3.3 也门类型
function getClasses
{
srcjavaline=$line
line=`echo $line | sed 's/.java/.class/g'`
GET_DEST=$DEST_CODE/$line
flagdir=`echo $line | awk -F '/' '{print $1}'`
if [ "$flagdir" = "crm.war" ];then
echo $GET_DEST
tempd=`echo $GET_DEST | sed 's/.*crm.war/crm.war/g'`
patchd=$PATCH_DIR/`dirname $tempd`
echo "------------------------------------------------------------------------"
echo $patchd
echo "------------------------------------------------------------------------"
mkdir -p $patchd
cp -r $GET_DEST $patchd > /dev/null 2>&1
cp -r $GET_DEST $patchd
fi
if [ "$?" != 0 ];then
echo "cp error"
fi
if [ "$flagdir" = "src" ];then
#./src/cc/service/com/huawei/crm/cc/business/accept/ressale/ParamMsisdnInfoValue.java
#
#find ParamMsisdnInfoValue.class
#
#
#./src/cc/service/bin/com/huawei/crm/cc/business/accept/ressale/ParamMsisdnInfoValue.class
#./src/domain/bin/com/huawei/crm/core/domain/cc/subscriber/ParamMsisdnInfoValue.class
#./src/order/service/bin/com/huawei/crm/order/intf/exportor/domain/ParamMsisdnInfoValue.class
#1 crm.war/WEB-INF/i18n/pc/pc_en_US.properties
#1 crm.war/WEB-INF/i18n/pc/pc_zh_CN.properties
cd $DEST_CODE
findflag=`basename $line`
if [ -f /tmp/test.log ];then
rm -f /tmp/test.log
fi
find . -name $findflag >> /tmp/test.log
compareline=`echo $line | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
echo $srcjavaline
while read findline
do
# echo $findline
# echo `echo $findline | awk -F '/' '{print NF}'`
comparefindline=`echo $findline | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
if [ $compareline = $comparefindline ];then
finline=$findline
fi
done < /tmp/test.log
finline=`echo $finline | sed 's/.*\/src\//src\//g'`
GET_DEST=$DEST_CODE/$finline
# echo $GET_DEST
tempd=`echo $finline | sed 's/.*\/com\/huawei\//com\/huawei\//g'`
# echo $tempd
patchd=$PATCH_DIR/`dirname $tempd`
patchd=$PATCH_DIR/`dirname $tempd`
echo "------------------------------------------------------------------------"
echo $patchd
echo "------------------------------------------------------------------------"
mkdir -p $patchd
cp -r $GET_DEST $patchd > /dev/null 2>&1
cp -r $GET_DEST $patchd
findinnerclass
fi
}
loop=1
while read flag line
do
if [ "$flag" = "1" ];then
echo "########################## 1 ####################################$loop"
PATCH_DIR=$PATCH_1
DEST_CODE=$DEST_1_CODE
getClasses
fi
if [ "$flag" = "N" ] || [ "$flag" = "n" ];then
echo "########################## N ####################################$loop"
PATCH_DIR=$PATCH_N
DEST_CODE=$DEST_N_CODE
getClasses
fi
loop=`expr $loop + 1`
done < $1
mkdir -p $PATCH_FIN
if [ -d "$PATCH_1" ];then
cd $PATCH_1
cp -r * $PATCH_FIN
fi
if [ -d "$PATCH_N" ];then
cd $PATCH_N
cp -r * $PATCH_FIN
fi
#3.0
#loop=1
#while read flag line
# do
# if [ "$flag" != "D" ]; then
# echo "#######################################################################$loop"
## CP_DEST=$DEST_CODE/$line
# line=`echo $line | sed 's/.java/.class/g'`
## echo $line
# flagdir=`echo $line | awk -F '/' '{print $1"/"$2"/"$3"/"}'`
## echo $flagdir
#
# case $flagdir in
# web*servlet/*)
# typeflag=`echo $flagdir | awk -F '/' '{print $3}'`
# if [ "$typeflag" != "intf" ];then
# finline=`echo $line | sed 's/\/src\//\/classes\//'`
# echo $DEST_CODE/$finline
# tempd=`echo $finline | sed 's/.*classes/classes/g'`
# patchd=patch/patch/`dirname $tempd`
# echo "------------------------------------------------------------"
# echo $patchd
# echo "------------------------------------------------------------"
# mkdir -p $patchd
# cp $DEST_CODE/$finline $patchd > /dev/null 2>&1
# if [ "$?" != 0 ];then
# echo "cp error"
# fi
#
# findinnerclass
# fi
# ;;
# service*src/* | domain*src/* | common*src/*)
# finline=`echo $line | sed 's/\/src\//\/bin\//'`
# echo $DEST_CODE/$finline
# tempd=`echo $finline | sed 's/.*bin/bin/g'`
# patchd=patch/patch/`dirname $tempd`
# echo "------------------------------------------------------------"
# echo $patchd
# echo "------------------------------------------------------------"
# mkdir -p $patchd
# cp $DEST_CODE/$finline $patchd > /dev/null 2>&1
# if [ "$?" != 0 ];then
# echo "cp error"
# fi
#
# findinnerclass
# ;;
# *)
# echo $DEST_CODE/$line
# tempd=`echo $line | sed 's/.*webapp/webapp/g'`
# patchd=patch/`dirname $tempd`
# echo "------------------------------------------------------------"
# echo $patchd
# echo "------------------------------------------------------------"
# mkdir -p $patchd
# cp $DEST_CODE/$line $patchd > /dev/null 2>&1
# if [ "$?" != 0 ];then
# echo "cp error"
# fi
# ;;
# esac
#
# loop=`expr $loop + 1`
# fi
# done < $1
#rm -f templog.log
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28588485/viewspace-757430/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28588485/viewspace-757430/