aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/build/onos-build-docs
blob: f7d0a0b837007714a5542dcf08ae1ce1f93edcfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 "$@"