Restructured javadocs build to make groupings more manageable in the light of mavan-javadoc-plugin's silly treatment of package lists.

Change-Id: I771db3399bf8f0463927b2720ff43f862d7f2d68
diff --git a/tools/build/onos-build-docs b/tools/build/onos-build-docs
index fcdd3f7..10feacc 100755
--- a/tools/build/onos-build-docs
+++ b/tools/build/onos-build-docs
@@ -8,13 +8,35 @@
 
 apidocs=onos-apidocs-${ONOS_VERSION%~*}
 
-set -e -x
+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
-mvn -f external.xml javadoc:aggregate
+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
-mvn -f pom.xml javadoc:aggregate
+processPom internal.xml
+mvn -f aux-internal.xml javadoc:aggregate