aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/build/onos-build-docs
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/build/onos-build-docs')
-rwxr-xr-xframework/src/onos/tools/build/onos-build-docs44
1 files changed, 44 insertions, 0 deletions
diff --git a/framework/src/onos/tools/build/onos-build-docs b/framework/src/onos/tools/build/onos-build-docs
new file mode 100755
index 00000000..93a73c14
--- /dev/null
+++ b/framework/src/onos/tools/build/onos-build-docs
@@ -0,0 +1,44 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Builds the ONOS Java API docs.
+# -----------------------------------------------------------------------------
+
+set -e
+
+[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
+. $ONOS_ROOT/tools/build/envDefaults
+
+apidocs=onos-apidocs-${ONOS_VERSION%~*}
+
+function expandList {
+ list="";
+ while read line; do
+ [ -n "$line" ] && list="$list:$line"
+ done < $1
+ echo "${list#:*}"
+}
+
+function processPom {
+ cp $1 aux-$1
+ egrep '@[a-zA-Z0-9.-]+' $1 | sed 's:^[^@]*@::g' | sed 's:</.*$::g' | while read line; do
+ packages="$(expandList $line)"
+ sed "s/@$line/$packages/" aux-$1 > aux-$1.aux
+ mv aux-$1.aux aux-$1
+ done
+}
+
+set -e
+
+trap "rm aux-internal.xml aux-external.xml 2>/dev/null" EXIT
+rm -fr $ONOS_ROOT/docs/target
+
+cd $ONOS_ROOT/docs
+processPom external.xml
+mvn -f aux-external.xml javadoc:aggregate
+
+cd target && mv site/apidocs $apidocs
+tar zcf $apidocs.tar.gz $apidocs && cp $apidocs.tar.gz /tmp
+
+cd $ONOS_ROOT/docs
+processPom internal.xml
+mvn -f aux-internal.xml javadoc:aggregate