]> Creatis software - bbtk.git/blob - kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in
*** empty log message ***
[bbtk.git] / kernel / appli / bbCreateBlackBox / bbCreateBlackBox.sh.in
1 #!/bin/bash
2 # creates the file architecture for a new user package
3
4 if [ $# -lt 5 ]
5     then
6     echo "usage : bbCreateBlackBox <dir-path> <package-name> <blackbox-name> <type> <format> [author] [description] [category]"
7     echo "   type:  "
8     echo "         std  "
9     echo "         VTK_ImageAlgorithm  "
10     echo "         VTK_PolyDataAlgorithm  "
11     echo "         widget  "
12     echo "   format:  "
13     echo "         XML  "
14     echo "         C++ "
15 #bbCreateBox <template-xml-file-name> <box-name> <package-name> [author] [description] [category]"  
16     exit
17 fi
18
19 # bbCreatePackage path
20 TMP=$(which $0|rev)
21 BINPATH=$(echo ${TMP#*/}|rev)
22 #INPUT=$1
23
24 OUTPUT_DIR=$1
25 PACKAGE=$2
26 BOX=$3
27 TYPE=$4
28 FORMAT=$5
29 AUTHOR=$6
30 DESCRIPTION=$7
31 CATEGORY=$8
32 # Input template file 
33 INPUT=${BINPATH}/@bbCreateBlackBox_DATA_REL_PATH_FROM_BIN@/xml-templates/${TYPE}-template.xml
34 FILENAME=bb${PACKAGE}${BOX}
35
36 echo "output dir  = " $OUTPUT_DIR
37 echo "box name    = " $BOX
38 echo "package     = " $PACKAGE
39 echo "author      = " $AUTHOR
40 echo "description = " $DESCRIPTION
41 echo "category    = " $CATEGORY
42 echo "type        = " $TYPE
43 echo "input       = " $INPUT
44
45
46 echo "** Creating new black box  '$BOX' in folder '$OUTPUT_DIR'"
47
48 if [ -f ${OUTPUT_DIR}/${FILENAME}.xml ]
49     then
50     echo "Error : ${OUTPUT_DIR}/${FILENAME}.xml already exists"
51     exit
52 fi
53
54 echo " - Creating ${FILENAME}.xml"
55
56 sed s,__BLACKBOXNAME__,"${BOX}", < ${INPUT} | sed  s/__AUTHOR__/"${AUTHOR}"/ | sed s{__DESCRIPTION__{"${DESCRIPTION}"{ | sed s/__CATEGORY__/"${CATEGORY}"/ > ${OUTPUT_DIR}/${FILENAME}.xml
57            
58 if [ ${FORMAT}="C++" ]
59     then
60     if [ -f ${OUTPUT_DIR}/${FILENAME}.h ]
61         then
62         echo "Error : ${OUTPUT_DIR}/${FILENAME}.h already exists"
63         exit
64     fi
65     echo " - Creating ${FILENAME}.h/cxx"
66     ${BINPATH}/bbfy ${OUTPUT_DIR}/${FILENAME}.xml ${PACKAGE} ${OUTPUT_DIR}/ -q
67     echo " - Deleting ${FILENAME}.xml"
68     rm ${OUTPUT_DIR}/${FILENAME}.xml
69 fi
70
71 echo "Done !"
72