6 SCR_DIR=`readlink -f $0 | xargs dirname`
7 PROJECT_ROOT=$(readlink -f $SCR_DIR/../../..)
20 [ -n "$msg" ] && echo -e "\n${msg}\n"
30 echo "------------------------------------------------------"
31 echo " ADML with HTTP support installation "
32 echo "------------------------------------------------------"
34 [ ! -d $PROJECT_ROOT/build/${VARIANT} ] && _exit "Cannot locate neither '${VARIANT}' variant. Build the project !"
35 echo "Variant: ${VARIANT}"
37 build_type_letter=$(echo $VARIANT | cut -c1 | tr '[:upper:]' '[:lower:]')
39 version__dflt=v"`date +'%y'`.`date +'%m'`.`date +'%d'`$build_type_letter"
40 INSTALL__dflt=$HOME/3rdParty/anna-adml-http-builds/v"`date +'%y'`.`date +'%m'`.`date +'%d'`$build_type_letter"
42 echo "Choose the target path for installation [$INSTALL__dflt]:"
43 echo " (enter a non-existent directory)"
45 [ -z "$INSTALL" ] && INSTALL=$INSTALL__dflt
46 INSTALL=`readlink -m $INSTALL`
47 [ -d $INSTALL ] && _exit "The target installation directory ($INSTALL) already exists ! (if you want to reinstall, remove it first)"
50 echo "Stage 1: Deploying resources ......................"
53 cp -rL $SCR_DIR/deployments/adml/* $INSTALL
55 # VARIABLES ######################################
57 LDIR=${PROJECT_ROOT}/example/diameter/launcher
58 BIN_DIR=${PROJECT_ROOT}/build/$VARIANT/bin
59 LIB_DIR=${PROJECT_ROOT}/build/$VARIANT/lib
64 DYNLIBS=${ADML}/dynlibs
65 ##################################################
68 echo "Variant: $VARIANT"
72 mkdir -p ${ADML}/counters
73 mkdir -p ${ADML}/test-reports
76 cp ${PROJECT_ROOT}/example/diameter/launcher/resources/scripts/operation.sh ${ADML}
80 cp ${PROJECT_ROOT}/include/anna/diameter/codec/message.dtd ${DTDs}
81 cp ${PROJECT_ROOT}/include/anna/diameter/stack/dictionary.dtd ${DTDs}
82 cp ${PROJECT_ROOT}/example/diameter/launcher/resources/services_examples/services.dtd ${DTDs}
84 # Main Launcher and dynamic libraries:
85 cp ${BIN_DIR}/anna_diameter_launcher ${ADML}/ADML
86 cp -r $LIB_DIR/dynamic/launcher ${DYNLIBS}
87 cp $LIB_DIR/libanna_testing_shared.so ${DYNLIBS}
89 # Get stuff from leaf directories:
90 cd $LIB_DIR/dynamic/launcher
91 leafs=( $(find . -type d -links 2) )
94 cd ${PROJECT_ROOT}/dynamic/launcher
95 for dir in ${leafs[@]}
97 cp $dir/*.xml ${DYNLIBS}/$dir 2>/dev/null
98 cp $dir/dynamic.suffix ${DYNLIBS}/$dir 2>/dev/null
99 cp -r $dir/services ${DYNLIBS}/$dir 2>/dev/null
103 # ADML dynamic libs selection script:
104 cp ${LDIR}/resources/scripts/select_dynlib.sh ${DYNLIBS}/select.sh
106 # Default dynamic library:
108 ln -sf default/libanna_launcher_procedure_default_shared.so
111 # ADML Agent shall use http server:
112 httpOpt="--httpServerShared --httpServer \`grep -v ^# .httpServer\`"
113 echo "${httpOpt}" >> ${ADML}/args.ft
114 echo "${httpOpt}" >> ${ADML}/args.st
115 echo "localhost:8000" > ${ADML}/.httpServer
118 cp ${PROJECT_ROOT}/example/diameter/launcher/resources/HELP.md ${ADML}
120 # Simple services which only loads the diameter base dictionary:
121 cat << EOF > ${ADML}/services.xml
123 <stack id="0" dictionary="stacks/diameter_base.0.xml" fixMode="Never"/>
127 # Remove AOTS actions:
128 rm ${ADML}/ACTIONS.md