onos-create-app 1.04 KB
#!/bin/bash
# -----------------------------------------------------------------------------
# Tool to create an application from scratch using ONOS Maven archetypes.
# -----------------------------------------------------------------------------

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults

type=${1:-bundle}

if [ "$1" = "-?" -o "$1" = "-h" -o "$1" = "--help" ]; then
    echo "usage: $(basename $0) {bundle|ui|cli|api} groupId artifactId version package mvn-options"
    echo "        All arguments are optional"
    exit 1
fi

otherOptions=""
[ -n "$1" ] && shift
[ -n "$1" ] && otherOptions="$otherOptions -DgroupId=$1" && shift
[ -n "$1" ] && otherOptions="$otherOptions -DartifactId=$1" && shift
[ -n "$1" ] && otherOptions="$otherOptions -Dversion=$1" && shift
[ -n "$1" ] && otherOptions="$otherOptions -Dpackage=$1" && shift

mvn archetype:generate -DarchetypeGroupId=org.onosproject \
    -DarchetypeArtifactId=onos-$type-archetype -DarchetypeVersion=$ONOS_POM_VERSION \
    $otherOptions "$@"