Salome HOME
e8ef4e085f108bf645b1d742e5589038c21d4bb0
[tools/hxx2salome.git] / scripts / SA_new_cpp_component
1 #!/bin/bash
2
3 usage()
4 {
5     echo
6     echo Usage :
7     echo
8     echo "  SA_new_cpp_component  Name"
9     echo
10     echo "  -> create the tree to compile a new C++ component linked with MED libs"
11     echo 
12     exit 1
13 }
14
15 rename_dir()
16 {
17     # Rename the first directory containing $oldName in their file name
18     liste=`find . -type d -name "*${oldName}*"`
19     for file in $liste
20     do
21         newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
22         echo "mv -f $file $newFile"
23         mv -f $file $newFile
24         return 1
25     done
26     return 0
27 }
28
29 if [ $# -ne 1 ]
30 then
31    usage
32 fi
33
34 tar xvfz ${HXX2SALOME_ROOT_DIR}/cpp_compo_template.tgz
35 moduleName=${1}CPP_SRC
36 mv Cpp_Template__SRC ${moduleName}
37
38 oldName=Cpp_Template_
39 newName=$1
40
41 today=`date +%d%m%y`
42 cd ${moduleName}
43 echo
44 echo Renamed Directories:
45 echo
46
47 # rename directories one by one
48 rename_dir
49 while [ $? -eq 1 ]
50 do
51     rename_dir
52 done
53
54 # rename files containing ${oldName} in their name
55 echo
56 echo Renamed Files:
57 echo
58 liste=`find . -name "*${oldName}*"`
59 for file in $liste
60 do
61     newFile=`echo $file | sed "s/${oldName}/${newName}/g"`
62     echo "mv -f $file $newFile"
63     mv -f $file $newFile
64 done
65
66 echo
67 echo Modified Files:
68 echo
69 # modify all files containing $oldName, replace occurences by $newName
70 liste=`find -name "*"`
71 for file in $liste
72 do
73     if [ -f $file ]
74     then
75         grep $oldName $file > /dev/null 2>&1
76         if [ $? -eq 0 ]
77         then
78             echo $file
79             cat $file | sed "s/${oldName}/${newName}/g" > fic_temp_${today}
80             cp -f fic_temp_${today} $file
81         fi
82     fi
83 done
84 rm -f fic_temp_${today}
85 cd -