aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/dev/bin/onos-create-app
diff options
context:
space:
mode:
authorAshlee Young <ashlee@onosfw.com>2015-09-09 22:15:21 -0700
committerAshlee Young <ashlee@onosfw.com>2015-09-09 22:15:21 -0700
commit13d05bc8458758ee39cb829098241e89616717ee (patch)
tree22a4d1ce65f15952f07a3df5af4b462b4697cb3a /framework/src/onos/tools/dev/bin/onos-create-app
parent6139282e1e93c2322076de4b91b1c85d0bc4a8b3 (diff)
ONOS checkin based on commit tag e796610b1f721d02f9b0e213cf6f7790c10ecd60
Change-Id: Ife8810491034fe7becdba75dda20de4267bd15cd
Diffstat (limited to 'framework/src/onos/tools/dev/bin/onos-create-app')
-rwxr-xr-xframework/src/onos/tools/dev/bin/onos-create-app42
1 files changed, 42 insertions, 0 deletions
diff --git a/framework/src/onos/tools/dev/bin/onos-create-app b/framework/src/onos/tools/dev/bin/onos-create-app
new file mode 100755
index 00000000..65b00b65
--- /dev/null
+++ b/framework/src/onos/tools/dev/bin/onos-create-app
@@ -0,0 +1,42 @@
+#!/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}
+
+[ $type = app ] && archetype=bundle || archetype=$type
+
+if [ "$1" = "-?" -o "$1" = "-h" -o "$1" = "--help" ]; then
+ echo "usage: $(basename $0) {app|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" && dir=$1 && shift
+[ -n "$1" ] && otherOptions="$otherOptions -Dversion=$1" && shift
+[ -n "$1" ] && otherOptions="$otherOptions -Dpackage=$1" && shift
+
+mvn archetype:generate -DarchetypeGroupId=org.onosproject \
+ -DarchetypeArtifactId=onos-$archetype-archetype \
+ -DarchetypeVersion=$ONOS_POM_VERSION $otherOptions "$@"
+
+# Patch the pom.xml file to make this an app.
+if [ $type = app ]; then
+ # We need to add a few lines to the pom.xml to make this an app
+ if [ -n "$dir" ] && [ -d $dir ]; then
+ egrep -v " (<!--|-->)" $dir/pom.xml > $dir/pom.app.xml
+ mv $dir/pom.app.xml $dir/pom.xml
+ else
+ echo
+ echo "IMPORTANT:"
+ echo "To build the application, you need to uncomment the 'onos.app.name' and 'onos.app.origin' properties in the pom.xml"
+ echo
+ fi
+fi