#!/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 $ONOS_STAGE_ROOT

cd $ONOS_ROOT/docs
processPom internal.xml
mvn -f aux-internal.xml javadoc:aggregate "$@"
