Commit a89dc0ed authored by Maxime Perrotin's avatar Maxime Perrotin

Update build script

parent 0cd1b435
#!/bin/bash
#!/bin/bash -e
# This script will build your TASTE system.
# You should check it before running it to make it fit with your context:
# 1) You may need to fix some paths and filenames (path to interface/deployment views)
# 2) You may need to specify additional paths for the compiler to find .h file
# (e.g. "export C_INCLUDE_PATH=/usr/include/xenomai/analogy/:$C_INCLUDE_PATH")
# 3) You may need to link with pre-built libraries, using the -l option
# (e.g. -l /usr/lib/libanalogy.a,/usr/lib/librtdm.a)
# 4) You may need to change the runtime (add -p flag to select PolyORB-HI-C)
# etc.
# You should not change this file as it was automatically generated.
# Note: TASTE will not overwrite your changes - if you need to update some parts
# you will have to merge the changes with the newly-created file.
# If you need additional preprocessing, there are three hook files
# that you can provide and that are called dring the build:
# user_init_pre.sh, user_init_post.sh and user_init_last.sh
# These files will never get overwritten by TASTE.'
taste-update-data-view || exit 1
# Inside these files you may set some environment variables:
# C_INCLUDE_PATH=/usr/include/xenomai/analogy/:${C_INCLUDE_PATH}
# unset USE_POHIC
CWD=$(pwd)
if [ -t 1 ] ; then
COLORON="\e[1m\e[32m"
COLOROFF="\e[0m"
else
COLORON=""
COLOROFF=""
fi
INFO="${COLORON}[INFO]${COLOROFF}"
if [ -f user_init_pre.sh ]
then
echo -e "${INFO} Executing user-defined init script"
source user_init_pre.sh
fi
# Use PolyORB-HI-C runtime
USE_POHIC=1
# Set Debug mode by default
DEBUG_MODE=--debug
# Detect models from Ellidiss tools v2, and convert them to 1.3
INTERFACEVIEW=InterfaceView.aadl
grep "version => \"2" InterfaceView.aadl >/dev/null && {
echo -e "${INFO} Converting interface view from V2 to V1.3"
TASTE --load-interface-view InterfaceView.aadl --export-interface-view-to-1_3 __iv_1_3.aadl
INTERFACEVIEW=__iv_1_3.aadl
};
if [ -z "$DEPLOYMENTVIEW" ]
then
DEPLOYMENTVIEW=DeploymentView.aadl
fi
# Detect models from Ellidiss tools v2, and convert them to 1.3
grep "version => \"2" "$DEPLOYMENTVIEW" >/dev/null && {
echo -e "${INFO} Converting deployment view from V2 to V1.3"
TASTE --load-deployment-view "$DEPLOYMENTVIEW" --export-deployment-view-to-1_3 __dv_1_3.aadl
DEPLOYMENTVIEW=__dv_1_3.aadl
};
SKELS="./"
cd "$SKELS"
rm -f f1.zip
zip f1 f1/*
rm -f f2.zip
zip f2 f2/*
rm -f f3.zip
zip f3 f3/*
rm -f f4.zip
zip f4 f4/*
cd "$OLDPWD"
# Check if Dataview references existing files
mono $(which taste-extract-asn-from-design.exe) -i "$INTERFACEVIEW" -j /tmp/dv.asn
# Generate code for OpenGEODE function f1
cd "$SKELS"/f1 && opengeode --toAda f1.pr system_structure.pr && cd $OLDPWD
# Generate code for OpenGEODE function f2
cd "$SKELS"/f2 && opengeode --toAda f2.pr system_structure.pr && cd $OLDPWD
# Generate code for OpenGEODE function f3
cd "$SKELS"/f3 && opengeode --toAda f3.pr system_structure.pr && cd $OLDPWD
# Generate code for OpenGEODE function f4
cd "$SKELS"/f4 && opengeode --toAda f4.pr system_structure.pr && cd $OLDPWD
cd "$SKELS" && rm -f f1.zip && zip f1 f1/* && cd $OLDPWD
[ ! -z "$CLEANUP" ] && rm -rf binary
cd "$SKELS" && rm -f f2.zip && zip f2 f2/* && cd $OLDPWD
cd "$SKELS" && rm -f f3.zip && zip f3 f3/* && cd $OLDPWD
cd "$SKELS" && rm -f f4.zip && zip f4 f4/* && cd $OLDPWD
[ ! -z "$CLEANUP" ] && rm -rf binary*
if [ -f ConcurrencyView.pro ]
then
ORCHESTRATOR_OPTIONS+=" -w ConcurrencyView.pro "
elif [ -f ConcurrencyView_Properties.aadl ]
then
ORCHESTRATOR_OPTIONS+=" -w ConcurrencyView_Properties.aadl "
fi
if [ -f user_init_post.sh ]
then
echo -e "${INFO} Executing user-defined post-init script"
source user_init_post.sh
fi
if [ -f additionalCommands.sh ]
then
source additionalCommands.sh
fi
if [ ! -z "$USE_POHIC" ]
......@@ -51,12 +112,13 @@ then
else
OUTPUTDIR=binary
fi
assert-builder-ocarina.py \
--fast -p \
--debug \
cd "$CWD" && assert-builder-ocarina.py \
--fast \
$DEBUG_MODE \
--aadlv2 \
--keep-case \
--interfaceView InterfaceView.aadl \
--interfaceView "$INTERFACEVIEW" \
--deploymentView "$DEPLOYMENTVIEW" \
-o "$OUTPUTDIR" \
--subAda f1:"$SKELS"/f1.zip \
......@@ -64,3 +126,10 @@ assert-builder-ocarina.py \
--subAda f3:"$SKELS"/f3.zip \
--subAda f4:"$SKELS"/f4.zip \
$ORCHESTRATOR_OPTIONS
if [ -f user_init_last.sh ]
then
echo -e "${INFO} Executing user-defined post-build script"
source user_init_last.sh
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment