X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fappli%2FbbCreateBlackBox%2FbbCreateBlackBox.sh.in;h=54ebc364a191f091f79f1d7fcf5280e4f2f038ba;hb=501ddfbdce64c1cab01deeb4b7d0634ae2236c1d;hp=b30c85fe7f36471120ce10e2cefc9476ea5a1f47;hpb=f87c49c48b5b99956697759168cffb06826e4fe8;p=bbtk.git diff --git a/kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in b/kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in index b30c85f..54ebc36 100644 --- a/kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in +++ b/kernel/appli/bbCreateBlackBox/bbCreateBlackBox.sh.in @@ -1,91 +1,98 @@ -@echo off - -echo creates the file architecture for a new blackbox - - -if %0%5==%0 goto ERROR01 - - -rem bbCreatePackage path -set BINPATH=%~dp0 -rem Input data path -set INPUT="%BINPATH%\@bbCreateBlackBox_DATA_REL_PATH_FROM_BIN@\xml-templates" - -set OUTPUT=%1 -set PACK=%2 -set BLACKBOX=%3 -set TYPE=%4 -set FORMAT=%5 -set AUTHOR=%6 -set DESCRIPTION=%7 -set FILENAME=bb%PACK%%BLACKBOX% - -echo output= %OUTPUT% -echo bin = %BINPATH% -echo input = %INPUT% -echo pack = %PACK% -echo blackbox = %BLACKBOX% -echo type = %TYPE% -echo format = %FORMAT% -echo author = %AUTHOR% -echo description = %DESCRIPTION% -echo filename = %FILENAME% - -echo "** Creating new black box '%BLACKBOX%' xml/c++ in folder '%OUTPUT%'" - -echo Creating XML file.. -echo copy %INPUT%\%type%-template.xml %OUTPUT%\%FILENAME%.xml -copy %INPUT%\%type%-template.xml %OUTPUT%\%FILENAME%.xml_tmp -%BINPATH%\bbSed %OUTPUT%\%FILENAME%.xml_tmp __BLACKBOXNAME__ %BLACKBOX% > %OUTPUT%\%FILENAME%_1.xml -%BINPATH%\bbSed %OUTPUT%\%FILENAME%_1.xml __AUTHOR__ %AUTHOR% > %OUTPUT%\%FILENAME%_2.xml -%BINPATH%\bbSed %OUTPUT%\%FILENAME%_2.xml __DESCRIPTION__ %DESCRIPTION% > %OUTPUT%\%FILENAME%.xml_tmp -del %OUTPUT%\%FILENAME%_1.xml -del %OUTPUT%\%FILENAME%_2.xml - - -IF %FORMAT%==XML GOTO module_XML -IF %FORMAT%==C++ GOTO module_C++ - -goto ERROR03 - -:module_XML - IF EXIST %OUTPUT%\%FILENAME%.xml GOTO ERROR02 - move %OUTPUT%\%FILENAME%.xml_tmp %OUTPUT%\%FILENAME%.xml -goto END - -:module_C++ - IF EXIST %OUTPUT%\%FILENAME%.cxx GOTO ERROR02 - echo %BINPATH%\bbfy %OUTPUT%\%FILENAME%.xml_tmp %PACK% %OUTPUT% - %BINPATH%\bbfy %OUTPUT%\%FILENAME%.xml_tmp %PACK% %OUTPUT%\ - del %OUTPUT%\%FILENAME%.xml_tmp -goto END - - - -:ERROR01 -echo ----------------------------------------------------------------------------- -echo bbCreateBlackBox.bat " [author] [description] " -echo type: -echo std -echo VTK_ImageAlgorithm -echo VTK_PolyDataAlgorithm -echo widget -echo format: -echo XML -echo C++ -echo ----------------------------------------------------------------------------- -goto END - -:ERROR02 -echo "ERROR : File '%OUTPUT%\%FILENAME%' %FORMAT% already exists !" -del %OUTPUT%\%FILENAME%.xml_tmp -goto end - -:ERROR03 -echo "ERROR : format not match '%FORMAT%' " -del %OUTPUT%\%FILENAME%.xml_tmp -goto end - - -:END +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la SantÈ) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + +#!/bin/bash +# creates the file architecture for a new user package + +if [ $# -lt 5 ] + then + echo "usage : bbCreateBlackBox [author] [description] [category]" + echo " type: " + echo " std " + echo " VTK_ImageAlgorithm " + echo " VTK_PolyDataAlgorithm " + echo " widget " + echo " format: " + echo " XML " + echo " C++ " +#bbCreateBox [author] [description] [category]" + exit +fi + +# bbCreatePackage path +TMP=$(which $0|rev) +BINPATH=$(echo ${TMP#*/}|rev) +#INPUT=$1 + +OUTPUT_DIR=$1 +PACKAGE=$2 +BOX=$3 +TYPE=$4 +FORMAT=$5 +AUTHOR=$6 +DESCRIPTION=$7 +CATEGORY=$8 +# Input template file +INPUT=${BINPATH}/@bbCreateBlackBox_DATA_REL_PATH_FROM_BIN@/xml-templates/${TYPE}-template.xml +FILENAME=bb${PACKAGE}${BOX} + +echo "output dir = " $OUTPUT_DIR +echo "box name = " $BOX +echo "package = " $PACKAGE +echo "author = " $AUTHOR +echo "description = " $DESCRIPTION +echo "category = " $CATEGORY +echo "type = " $TYPE +echo "format = " $FORMAT +echo "input = " $INPUT + + +echo "** Creating new black box '$BOX' in folder '$OUTPUT_DIR'" + +if [ -f ${OUTPUT_DIR}/${FILENAME}.xml ] + then + echo "Error : ${OUTPUT_DIR}/${FILENAME}.xml already exists" + exit +fi + +echo " - Creating ${FILENAME}.xml" + +sed s,__BLACKBOXNAME__,"${BOX}", < ${INPUT} | sed s/__AUTHOR__/"${AUTHOR}"/ | sed s{__DESCRIPTION__{"${DESCRIPTION}"{ | sed s/__CATEGORY__/"${CATEGORY}"/ > ${OUTPUT_DIR}/${FILENAME}.xml + +if [ "${FORMAT}" = "C++" ] + then + if [ -f ${OUTPUT_DIR}/${FILENAME}.h ] + then + echo "Error : ${OUTPUT_DIR}/${FILENAME}.h already exists" + exit + fi + echo " - Creating ${FILENAME}.h/cxx" + ${BINPATH}/bbfy ${OUTPUT_DIR}/${FILENAME}.xml ${PACKAGE} ${OUTPUT_DIR}/ -q + echo " - Deleting ${FILENAME}.xml" + rm ${OUTPUT_DIR}/${FILENAME}.xml +fi + +echo "Black box created !"