Thomas Vachuska

Restructured javadocs build to make groupings more manageable in the light of ma…

…van-javadoc-plugin's silly treatment of package lists.

Change-Id: I771db3399bf8f0463927b2720ff43f862d7f2d68
org.onosproject
org.onosproject.*
org.onosproject.rest
\ No newline at end of file
*.impl
*.impl.*
org.onlab.jdvue*
org.onlab.stc*
org.onlab.thirdparty
org.onosproject.provider*
org.onosproject.rest
org.onosproject.cli*
org.onosproject.tvue
org.onosproject.foo
org.onosproject.mobility
org.onosproject.proxyarp
org.onosproject.fwd
org.onosproject.ifwd
org.onosproject.optical
org.onosproject.config
org.onosproject.calendar
org.onosproject.sdnip*
org.onosproject.oecfg
org.onosproject.metrics
org.onosproject.store.*
org.onosproject.openflow*
org.onosproject.common*
org.onosproject.routing*
org.onosproject.bgprouter
org.onosproject.intentperf
org.onosproject.maven
org.onosproject.cordfabric*
org.onosproject.driver*
org.onosproject.segmentrouting*
org.onosproject.reactive*
org.onosproject.distributedprimitives*
org.onosproject.messagingperf*
org.onosproject.virtualbng*
org.onosproject.election*
org.onosproject.demo*
org.onosproject.xosintegration*
org.onosproject.app.vtn*
org.onosproject.ovsdb*
org.onosproject.pcep*
org.onosproject.aaa
org.onosproject.acl*
org.onosproject.cip*
org.onos.acl*
org.onosproject.vtn*
org.onosproject.flowanalyzer
org.onosproject.exp
org.onosproject.incubator.*
......@@ -49,27 +49,21 @@
<version>2.10.1</version>
<configuration>
<show>package</show>
<excludePackageNames>org.onlab.thirdparty:*.impl:*.impl.*:org.onosproject.provider.*:org.onosproject.rest:org.onosproject.cli*:org.onosproject.tvue:org.onosproject.foo:org.onosproject.mobility:org.onosproject.proxyarp:org.onosproject.fwd:org.onosproject.ifwd:org.onosproject.optical:org.onosproject.config:org.onosproject.calendar:org.onosproject.sdnip*:org.onosproject.oecfg:org.onosproject.metrics:org.onosproject.store.*:org.onosproject.openflow.*:org.onosproject.common.*:org.onosproject.net.group.impl:org.onosproject.routing*:org.onosproject.bgprouter:org.onosproject.intentperf:org.onosproject.maven:org.onosproject.cordfabric*:org.onosproject.driver*:org.onosproject.segmentrouting*:org.onosproject.reactive*:org.onosproject.distributedprimitives*:org.onosproject.messagingperf*.org.onosproject.virtualbng*.org.onosproject.election*:org.onosproject.demo*:org.onlab.jdvue*:org.onlab.stc*:org.onosproject.xosintegration*:org.onosproject.app.vtn*:org.onosproject.ovsdb*:org.onosproject.aaa:org.onosproject.acl*:org.onosproject.flowanalyzer</excludePackageNames>
<excludePackageNames>@external-excludes</excludePackageNames>
<docfilessubdirs>true</docfilessubdirs>
<doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle>
<groups>
<group>
<title>Network Model &amp; Services</title>
<packages>
org.onosproject:org.onosproject.*:org.onosproject.rest
</packages>
<packages>@external-apis</packages>
</group>
<group>
<title>Utilities</title>
<packages>
org.onlab.*
</packages>
<title>Incubator for Network Model &amp; Services</title>
<packages>@external-incubator-apis</packages>
</group>
<group>
<title>Incubator for Network Model &amp; Services</title>
<packages>
org.onosproject.exp:org.onosproject.incubator.*
</packages>
<title>Utilities</title>
<packages>@utils</packages>
</group>
</groups>
</configuration>
......
org.onosproject
org.onosproject.*
org.onosproject.rest
org.onosproject.security
org.onosproject.app.*
org.onos.acl*
org.onosproject.acl*
org.onosproject.aaa
org.onosproject.fwd
org.onosproject.flowanalyzer
org.onosproject.mobility
org.onosproject.proxyarp
org.onosproject.calendar
org.onosproject.olt*
org.onosproject.optical*
org.onosproject.sdnip
org.onosproject.sdnip.*
org.onosproject.config
org.onosproject.routing
org.onosproject.routing*
org.onosproject.bgprouter
org.onosproject.segmentrouting*
org.onosproject.reactive.routing*
org.onosproject.messagingperf
org.onosproject.virtualbng*
org.onosproject.cordfabric*
org.onosproject.xosintegration*
org.onosproject.cip*
org.onosproject.vtn*
*.impl
*.impl.*
org.onosproject.json
org.onosproject.json.*
:org.onosproject.common.*
org.onosproject.security.*
org.onosproject.driver
org.onosproject.driver.*
org.onlab.jdvue*
org.onlab.stc*
org.onlab.thirdparty
org.onosproject.oecfg
org.onosproject.maven
org.onosproject.ui.impl*
org.onosproject.rest.*
org.onosproject.cli*
org.onosproject.codec.impl
org.onosproject.incubator.net.impl
org.onosproject.incubator.store.impl
org.onosproject.incubator.net.resource.label.impl
org.onosproject.incubator.store.resource.impl
org.onosproject.incubator.net.tunnel.impl
org.onosproject.incubator.store.tunnel.impl
org.onosproject.incubator.net.config.impl
org.onosproject.incubator.net.domain.impl
org.onosproject.incubator.store.config.impl
org.onosproject.incubator*
org.onosproject.provider.netconf*
org.onosproject.openflow.*
org.onosproject.provider.of.*
org.onosproject.provider.ovsdb*
org.onosproject.ovsdb*
org.onosproject.pcep*
org.onosproject.pcepio*
org.onosproject.provider.*
org.onosproject.store.*
org.onosproject.metrics.*
org.onosproject.demo*
org.onosproject.election*
org.onosproject.distributedprimitives*
org.onosproject.intentperf*
org.onosproject.messagingperf*
org.onosproject.optical.testapp*
......@@ -46,98 +46,74 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<version>2.10.3</version>
<configuration>
<show>package</show>
<docfilessubdirs>true</docfilessubdirs>
<doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle>
<excludePackageNames>@internal-excludes</excludePackageNames>
<groups>
<group>
<title>Network Model &amp; Services</title>
<packages>
org.onosproject:org.onosproject.*:org.onosproject.rest:org.onosproject.security
</packages>
<packages>@internal-apis</packages>
</group>
<group>
<title>Incubator for Network Model &amp; Services</title>
<packages>
org.onosproject.exp:org.onosproject.incubator.*
</packages>
<packages>@internal-incubator-apis</packages>
</group>
<group>
<title>Core Subsystems</title>
<packages>
org.onosproject.impl:org.onosproject.core.impl:org.onosproject.cluster.impl:org.onosproject.net.device.impl:org.onosproject.net.link.impl:org.onosproject.net.host.impl:org.onosproject.net.topology.impl:org.onosproject.net.packet.impl:org.onosproject.net.flow.impl:org.onosproject.net.*.impl:org.onosproject.event.impl:org.onosproject.net.intent.impl*:org.onosproject.net.proxyarp.impl:org.onosproject.mastership.impl:org.onosproject.net.resource.impl:org.onosproject.net.newresource.impl:org.onosproject.json:org.onosproject.json.*:org.onosproject.provider.host.impl:org.onosproject.provider.lldp.impl:org.onosproject.net.statistic.impl:org.onosproject.app.impl:org.onosproject.common.*:org.onosproject.net.group.impl:org.onosproject.cfg.impl:org.onosproject.net.driver.impl:org.onosproject.net.flowobjective.impl*:org.onosproject.net.flowext.impl:org.onosproject.net.tunnel.impl:org.onosproject.security.*
</packages>
<packages>@internal-core</packages>
</group>
<group>
<title>Distributed Stores</title>
<packages>
org.onosproject.store.*
</packages>
<packages>@internal-stores</packages>
</group>
<group>
<title>Incubator for Core Subsystems &amp; Distributed Stores</title>
<packages>
org.onosproject.incubator.net.impl:org.onosproject.incubator.store.impl:org.onosproject.incubator.net.resource.label.impl:org.onosproject.incubator.store.resource.impl:org.onosproject.incubator.net.tunnel.impl:org.onosproject.incubator.store.tunnel.impl:org.onosproject.incubator.net.config.impl:org.onosproject.incubator.net.domain.impl:org.onosproject.incubator.store.config.impl
</packages>
<packages>@internal-incubator</packages>
</group>
<group>
<title>OpenFlow Providers &amp; Controller</title>
<packages>
org.onosproject.provider.of.*:org.onosproject.openflow.*
</packages>
<packages>@internal-openflow</packages>
</group>
<group>
<title>NetConf Providers</title>
<packages>
org.onosproject.provider.netconf:org.onosproject.provider.netconf*
</packages>
<packages>@internal-netconf</packages>
</group>
<group>
<title>OVSDB Providers</title>
<packages>
org.onosproject.provider.ovsdb*:org.onosproject.ovsdb*
</packages>
<packages>@internal-ovsdb</packages>
</group>
<group>
<title>PCEP Providers</title>
<packages>@internal-pcep</packages>
</group>
<group>
<title>Other Providers</title>
<packages>
org.onosproject.provider.*
</packages>
<packages>@internal-providers</packages>
</group>
<group>
<title>Built-in Device Drivers</title>
<packages>
org.onosproject.driver:org.onosproject.driver.*
</packages>
<packages>@internal-drivers</packages>
</group>
<group>
<title>Utilities</title>
<packages>
org.onlab.*
</packages>
<packages>@utils</packages>
</group>
<group>
<title>GUI, REST &amp; Command-Line</title>
<packages>
org.onosproject.ui.impl*:org.onosproject.rest*:org.onosproject.cli:org.onosproject.rest.*:org.onosproject.cli.*:org.onosproject.codec.impl
</packages>
<packages>@internal-gui-rest-cli</packages>
</group>
<group>
<title>Builtin Applications</title>
<packages>
org.onosproject.app.*:org.onosproject.acl*:org.onosproject.aaa:org.onosproject.fwd:org.onosproject.flowanalyzer:org.onosproject.mobility:org.onosproject.proxyarp:org.onosproject.calendar:org.onosproject.optical:org.onosproject.optical.*:org.onosproject.sdnip:org.onosproject.sdnip.*:org.onosproject.config:org.onosproject.routing:org.onosproject.routing*:org.onosproject.bgprouter:org.onosproject.segmentrouting:org.onosproject.segmentrouting.*:org.onosproject.reactive.routing*:org.onosproject.messagingperf:org.onosproject.virtualbng:org.onosproject.cordfabric*:org.onosproject.xosintegration*:org.onosproject.pcep*
</packages>
<packages>@internal-apps</packages>
</group>
<group>
<title>Test Instrumentation &amp; Applications</title>
<packages>
org.onosproject.metrics.*:org.onosproject.demo*:org.onosproject.election*:org.onosproject.distributedprimitives*:org.onosproject.intentperf*:org.onosproject.messagingperf*:org.onosproject.optical.testapp*
</packages>
<packages>@internal-test-apps</packages>
</group>
</groups>
<excludePackageNames>org.onlab.thirdparty:org.onosproject.oecfg:org.onosproject.maven:org.onlab.jdvue*:org.onlab.stc*</excludePackageNames>
</configuration>
</plugin>
</plugins>
......
org.onlab.*
......@@ -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
......