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
1 +org.onosproject
2 +org.onosproject.*
3 +org.onosproject.rest
...\ No newline at end of file ...\ No newline at end of file
1 +*.impl
2 +*.impl.*
3 +
4 +org.onlab.jdvue*
5 +org.onlab.stc*
6 +
7 +org.onlab.thirdparty
8 +org.onosproject.provider*
9 +org.onosproject.rest
10 +org.onosproject.cli*
11 +org.onosproject.tvue
12 +org.onosproject.foo
13 +org.onosproject.mobility
14 +org.onosproject.proxyarp
15 +org.onosproject.fwd
16 +org.onosproject.ifwd
17 +org.onosproject.optical
18 +org.onosproject.config
19 +org.onosproject.calendar
20 +org.onosproject.sdnip*
21 +org.onosproject.oecfg
22 +org.onosproject.metrics
23 +org.onosproject.store.*
24 +org.onosproject.openflow*
25 +org.onosproject.common*
26 +org.onosproject.routing*
27 +org.onosproject.bgprouter
28 +org.onosproject.intentperf
29 +org.onosproject.maven
30 +org.onosproject.cordfabric*
31 +org.onosproject.driver*
32 +org.onosproject.segmentrouting*
33 +org.onosproject.reactive*
34 +org.onosproject.distributedprimitives*
35 +org.onosproject.messagingperf*
36 +org.onosproject.virtualbng*
37 +org.onosproject.election*
38 +org.onosproject.demo*
39 +org.onosproject.xosintegration*
40 +org.onosproject.app.vtn*
41 +org.onosproject.ovsdb*
42 +org.onosproject.pcep*
43 +org.onosproject.aaa
44 +org.onosproject.acl*
45 +org.onosproject.cip*
46 +org.onos.acl*
47 +org.onosproject.vtn*
48 +org.onosproject.flowanalyzer
1 +org.onosproject.exp
2 +org.onosproject.incubator.*
...@@ -49,27 +49,21 @@ ...@@ -49,27 +49,21 @@
49 <version>2.10.1</version> 49 <version>2.10.1</version>
50 <configuration> 50 <configuration>
51 <show>package</show> 51 <show>package</show>
52 - <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> 52 + <excludePackageNames>@external-excludes</excludePackageNames>
53 <docfilessubdirs>true</docfilessubdirs> 53 <docfilessubdirs>true</docfilessubdirs>
54 <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle> 54 <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle>
55 <groups> 55 <groups>
56 <group> 56 <group>
57 <title>Network Model &amp; Services</title> 57 <title>Network Model &amp; Services</title>
58 - <packages> 58 + <packages>@external-apis</packages>
59 - org.onosproject:org.onosproject.*:org.onosproject.rest
60 - </packages>
61 </group> 59 </group>
62 <group> 60 <group>
63 - <title>Utilities</title> 61 + <title>Incubator for Network Model &amp; Services</title>
64 - <packages> 62 + <packages>@external-incubator-apis</packages>
65 - org.onlab.*
66 - </packages>
67 </group> 63 </group>
68 <group> 64 <group>
69 - <title>Incubator for Network Model &amp; Services</title> 65 + <title>Utilities</title>
70 - <packages> 66 + <packages>@utils</packages>
71 - org.onosproject.exp:org.onosproject.incubator.*
72 - </packages>
73 </group> 67 </group>
74 </groups> 68 </groups>
75 </configuration> 69 </configuration>
......
1 +org.onosproject
2 +org.onosproject.*
3 +org.onosproject.rest
4 +org.onosproject.security
1 +org.onosproject.app.*
2 +
3 +org.onos.acl*
4 +org.onosproject.acl*
5 +org.onosproject.aaa
6 +org.onosproject.fwd
7 +org.onosproject.flowanalyzer
8 +org.onosproject.mobility
9 +org.onosproject.proxyarp
10 +org.onosproject.calendar
11 +org.onosproject.olt*
12 +org.onosproject.optical*
13 +org.onosproject.sdnip
14 +org.onosproject.sdnip.*
15 +org.onosproject.config
16 +org.onosproject.routing
17 +org.onosproject.routing*
18 +org.onosproject.bgprouter
19 +org.onosproject.segmentrouting*
20 +org.onosproject.reactive.routing*
21 +org.onosproject.messagingperf
22 +org.onosproject.virtualbng*
23 +org.onosproject.cordfabric*
24 +org.onosproject.xosintegration*
25 +org.onosproject.cip*
26 +org.onosproject.vtn*
1 +*.impl
2 +*.impl.*
3 +
4 +org.onosproject.json
5 +org.onosproject.json.*
6 +:org.onosproject.common.*
7 +org.onosproject.security.*
1 +org.onosproject.driver
2 +org.onosproject.driver.*
1 +org.onlab.jdvue*
2 +org.onlab.stc*
3 +org.onlab.thirdparty
4 +org.onosproject.oecfg
5 +org.onosproject.maven
1 +org.onosproject.ui.impl*
2 +org.onosproject.rest.*
3 +org.onosproject.cli*
4 +org.onosproject.codec.impl
1 +org.onosproject.incubator.net.impl
2 +org.onosproject.incubator.store.impl
3 +org.onosproject.incubator.net.resource.label.impl
4 +org.onosproject.incubator.store.resource.impl
5 +org.onosproject.incubator.net.tunnel.impl
6 +org.onosproject.incubator.store.tunnel.impl
7 +org.onosproject.incubator.net.config.impl
8 +org.onosproject.incubator.net.domain.impl
9 +org.onosproject.incubator.store.config.impl
1 +org.onosproject.incubator*
1 +org.onosproject.provider.netconf*
1 +org.onosproject.openflow.*
2 +org.onosproject.provider.of.*
1 +org.onosproject.provider.ovsdb*
2 +org.onosproject.ovsdb*
1 +org.onosproject.pcep*
2 +org.onosproject.pcepio*
1 +org.onosproject.provider.*
1 +org.onosproject.store.*
1 +org.onosproject.metrics.*
2 +org.onosproject.demo*
3 +org.onosproject.election*
4 +org.onosproject.distributedprimitives*
5 +org.onosproject.intentperf*
6 +org.onosproject.messagingperf*
7 +org.onosproject.optical.testapp*
...@@ -46,98 +46,74 @@ ...@@ -46,98 +46,74 @@
46 <plugin> 46 <plugin>
47 <groupId>org.apache.maven.plugins</groupId> 47 <groupId>org.apache.maven.plugins</groupId>
48 <artifactId>maven-javadoc-plugin</artifactId> 48 <artifactId>maven-javadoc-plugin</artifactId>
49 - <version>2.10.1</version> 49 + <version>2.10.3</version>
50 <configuration> 50 <configuration>
51 <show>package</show> 51 <show>package</show>
52 <docfilessubdirs>true</docfilessubdirs> 52 <docfilessubdirs>true</docfilessubdirs>
53 <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle> 53 <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle>
54 + <excludePackageNames>@internal-excludes</excludePackageNames>
54 <groups> 55 <groups>
55 <group> 56 <group>
56 <title>Network Model &amp; Services</title> 57 <title>Network Model &amp; Services</title>
57 - <packages> 58 + <packages>@internal-apis</packages>
58 - org.onosproject:org.onosproject.*:org.onosproject.rest:org.onosproject.security
59 - </packages>
60 </group> 59 </group>
61 <group> 60 <group>
62 <title>Incubator for Network Model &amp; Services</title> 61 <title>Incubator for Network Model &amp; Services</title>
63 - <packages> 62 + <packages>@internal-incubator-apis</packages>
64 - org.onosproject.exp:org.onosproject.incubator.*
65 - </packages>
66 </group> 63 </group>
67 <group> 64 <group>
68 <title>Core Subsystems</title> 65 <title>Core Subsystems</title>
69 - <packages> 66 + <packages>@internal-core</packages>
70 - 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.*
71 - </packages>
72 </group> 67 </group>
73 <group> 68 <group>
74 <title>Distributed Stores</title> 69 <title>Distributed Stores</title>
75 - <packages> 70 + <packages>@internal-stores</packages>
76 - org.onosproject.store.*
77 - </packages>
78 </group> 71 </group>
79 <group> 72 <group>
80 <title>Incubator for Core Subsystems &amp; Distributed Stores</title> 73 <title>Incubator for Core Subsystems &amp; Distributed Stores</title>
81 - <packages> 74 + <packages>@internal-incubator</packages>
82 - 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
83 - </packages>
84 </group> 75 </group>
85 <group> 76 <group>
86 <title>OpenFlow Providers &amp; Controller</title> 77 <title>OpenFlow Providers &amp; Controller</title>
87 - <packages> 78 + <packages>@internal-openflow</packages>
88 - org.onosproject.provider.of.*:org.onosproject.openflow.*
89 - </packages>
90 </group> 79 </group>
91 <group> 80 <group>
92 <title>NetConf Providers</title> 81 <title>NetConf Providers</title>
93 - <packages> 82 + <packages>@internal-netconf</packages>
94 - org.onosproject.provider.netconf:org.onosproject.provider.netconf*
95 - </packages>
96 </group> 83 </group>
97 <group> 84 <group>
98 <title>OVSDB Providers</title> 85 <title>OVSDB Providers</title>
99 - <packages> 86 + <packages>@internal-ovsdb</packages>
100 - org.onosproject.provider.ovsdb*:org.onosproject.ovsdb* 87 + </group>
101 - </packages> 88 + <group>
89 + <title>PCEP Providers</title>
90 + <packages>@internal-pcep</packages>
102 </group> 91 </group>
103 <group> 92 <group>
104 <title>Other Providers</title> 93 <title>Other Providers</title>
105 - <packages> 94 + <packages>@internal-providers</packages>
106 - org.onosproject.provider.*
107 - </packages>
108 </group> 95 </group>
109 <group> 96 <group>
110 <title>Built-in Device Drivers</title> 97 <title>Built-in Device Drivers</title>
111 - <packages> 98 + <packages>@internal-drivers</packages>
112 - org.onosproject.driver:org.onosproject.driver.*
113 - </packages>
114 </group> 99 </group>
115 <group> 100 <group>
116 <title>Utilities</title> 101 <title>Utilities</title>
117 - <packages> 102 + <packages>@utils</packages>
118 - org.onlab.*
119 - </packages>
120 </group> 103 </group>
121 <group> 104 <group>
122 <title>GUI, REST &amp; Command-Line</title> 105 <title>GUI, REST &amp; Command-Line</title>
123 - <packages> 106 + <packages>@internal-gui-rest-cli</packages>
124 - org.onosproject.ui.impl*:org.onosproject.rest*:org.onosproject.cli:org.onosproject.rest.*:org.onosproject.cli.*:org.onosproject.codec.impl
125 - </packages>
126 </group> 107 </group>
127 <group> 108 <group>
128 <title>Builtin Applications</title> 109 <title>Builtin Applications</title>
129 - <packages> 110 + <packages>@internal-apps</packages>
130 - 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*
131 - </packages>
132 </group> 111 </group>
133 <group> 112 <group>
134 <title>Test Instrumentation &amp; Applications</title> 113 <title>Test Instrumentation &amp; Applications</title>
135 - <packages> 114 + <packages>@internal-test-apps</packages>
136 - org.onosproject.metrics.*:org.onosproject.demo*:org.onosproject.election*:org.onosproject.distributedprimitives*:org.onosproject.intentperf*:org.onosproject.messagingperf*:org.onosproject.optical.testapp*
137 - </packages>
138 </group> 115 </group>
139 </groups> 116 </groups>
140 - <excludePackageNames>org.onlab.thirdparty:org.onosproject.oecfg:org.onosproject.maven:org.onlab.jdvue*:org.onlab.stc*</excludePackageNames>
141 </configuration> 117 </configuration>
142 </plugin> 118 </plugin>
143 </plugins> 119 </plugins>
......
1 +org.onlab.*
...@@ -8,13 +8,35 @@ ...@@ -8,13 +8,35 @@
8 8
9 apidocs=onos-apidocs-${ONOS_VERSION%~*} 9 apidocs=onos-apidocs-${ONOS_VERSION%~*}
10 10
11 -set -e -x 11 +function expandList {
12 + list="";
13 + while read line; do
14 + [ -n "$line" ] && list="$list:$line"
15 + done < $1
16 + echo "${list#:*}"
17 +}
18 +
19 +function processPom {
20 + cp $1 aux-$1
21 + egrep '@[a-zA-Z0-9.-]+' $1 | sed 's:^[^@]*@::g' | sed 's:</.*$::g' | while read line; do
22 + packages="$(expandList $line)"
23 + sed "s/@$line/$packages/" aux-$1 > aux-$1.aux
24 + mv aux-$1.aux aux-$1
25 + done
26 +}
27 +
28 +set -e
29 +
30 +trap "rm aux-internal.xml aux-external.xml 2>/dev/null" EXIT
12 rm -fr $ONOS_ROOT/docs/target 31 rm -fr $ONOS_ROOT/docs/target
13 32
14 cd $ONOS_ROOT/docs 33 cd $ONOS_ROOT/docs
15 -mvn -f external.xml javadoc:aggregate 34 +processPom external.xml
35 +mvn -f aux-external.xml javadoc:aggregate
36 +
16 cd target && mv site/apidocs $apidocs 37 cd target && mv site/apidocs $apidocs
17 tar zcf $apidocs.tar.gz $apidocs && cp $apidocs.tar.gz /tmp 38 tar zcf $apidocs.tar.gz $apidocs && cp $apidocs.tar.gz /tmp
18 39
19 cd $ONOS_ROOT/docs 40 cd $ONOS_ROOT/docs
20 -mvn -f pom.xml javadoc:aggregate 41 +processPom internal.xml
42 +mvn -f aux-internal.xml javadoc:aggregate
......