]> Creatis software - bbtk.git/blob - kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in
54b90f07e2d09d4cec5b390ac9acdda60597f2c4
[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 "format      = " $FORMAT
44 echo "input       = " $INPUT
45
46
47 echo "** Creating new black box  '$BOX' in folder '$OUTPUT_DIR'"
48
49 if [ -f ${OUTPUT_DIR}/${FILENAME}.xml ]
50     then
51     echo "Error : ${OUTPUT_DIR}/${FILENAME}.xml already exists"
52     exit
53 fi
54
55 echo " - Creating ${FILENAME}.xml"
56
57 sed s,__BLACKBOXNAME__,"${BOX}", < ${INPUT} | sed  s/__AUTHOR__/"${AUTHOR}"/ | sed s{__DESCRIPTION__{"${DESCRIPTION}"{ | sed s/__CATEGORY__/"${CATEGORY}"/ > ${OUTPUT_DIR}/${FILENAME}.xml
58            
59 if [ "${FORMAT}" = "C++" ]
60     then
61     if [ -f ${OUTPUT_DIR}/${FILENAME}.h ]
62         then
63         echo "Error : ${OUTPUT_DIR}/${FILENAME}.h already exists"
64         exit
65     fi
66     echo " - Creating ${FILENAME}.h/cxx"
67     ${BINPATH}/bbfy ${OUTPUT_DIR}/${FILENAME}.xml ${PACKAGE} ${OUTPUT_DIR}/ -q
68     echo " - Deleting ${FILENAME}.xml"
69     rm ${OUTPUT_DIR}/${FILENAME}.xml
70 fi
71
72 echo "Black box created !"
73