#! /bin/sh

which orogen > /dev/null 2>&1 if [ $? -ne 0 ]; then

echo "'orogen' executable required, but not found, please check that you installed orogen"
exit 1

fi

name=$1 if test -z “$name”; then

if test -f manifest.xml; then
    # We assume that we are in an oroGen package already and should finalize
    # the creation
    orogen *.orogen
    orogen --clean
    git init
    git add .
    git commit -m 'initial commit by rock-create-orogen'
    exit 0
else
    echo "usage: rock-create-orogen dirname"
    exit 1
fi

fi if test -e “$name”; then

echo "$name already exists"
exit 1

fi

# Test if name is a valid orogen component name CMP_NAME_BASE=`echo “$name” | sed 's/.*/(.*)/1/g'` CMP_NAME=`echo “$CMP_NAME_BASE” | grep -e '^[a-z0-9]*$'`

if test -z “$CMP_NAME”; then

echo 
echo "Invalid name ${CMP_NAME_BASE}: The component name must be all lowercase, can contain alphanumeric characters and underscores and start with a letter."
echo 
exit 1

fi

orogen create $name cd $name if test -z “$ROCK_TEMPLATE_PREFIX”; then

ROCK_TEMPLATE_PREFIX=https://github.com/rock-core/base-templates-
ROCK_TEMPLATE_SUFFIX=.git
wget --timeout=5 https://raw.githubusercontent.com/rock-core/base-templates-cmake_lib/master/manifest.xml
wget --timeout=5 https://raw.githubusercontent.com/rock-core/base-templates-cmake_lib/master/config_manifest.sh

if [ $? != 0 ]; then
    echo
    echo "ROCK_TEMPLATE_PREFIX is not set and manifest can currently not be retrieved via github.org"
    echo "Verify your internet connnection or set ROCK_TEMPLATE_PREFIX to <your-rock-installation>/base/templates/"
    echo
    exit 2
fi

sh ./config_manifest.sh

else

CMAKE_LIB_DIR=`echo "${ROCK_TEMPLATE_PREFIX}/cmake_lib" | sed 's/\/\//\//g'`
if ! test -d "$CMAKE_LIB_DIR"; then
    echo
    echo "Package base/templates/cmake_lib is required, but could not be found at ${CMAKE_LIB_DIR}."
    echo "Please make sure you install package base/templates/cmake_lib."
    echo
    exit 3
fi

cp $CMAKE_LIB_DIR/manifest.xml .
sh $CMAKE_LIB_DIR/config_manifest.sh

fi

echo echo “oroGen package template successfully created. You should now cd in the” echo “$name/ folder and edit the $name.orogen file to describe your types” echo “and components.” echo “Then, re-run rock-create-orogen without arguments to finalize the package” echo “creation. If the command fails, you should fix the reported problem(s) and” echo “run rock-create-orogen again until it passes.” echo echo “Once there are no errors left, run then” echo “ amake” echo “to build and install the package” echo