blob: 840d28a2ae49cd1f4e21b14fbdd9ce716f053f81 [file] [log] [blame]
Thomas Vachuskac3226e92018-07-25 12:00:57 -07001load("//tools/build/bazel:project_javadoc.bzl", "project_javadoc")
Ray Milkeydd5a7bf2018-07-26 13:06:33 -07002load("//tools/build/bazel:generate_workspace.bzl", "CORE_DEPS", "ONOS_VERSION")
Thomas Vachuskac3226e92018-07-25 12:00:57 -07003
4SOURCES = glob(["src/main/javadoc/doc-files/*"]) + [
5 "src/main/javadoc/overview.html",
6 "//utils/osgi:onlab-osgi-sources",
7 "//utils/junit:onlab-junit-sources",
8 "//utils/misc:onlab-misc-sources",
9 "//utils/rest:onlab-rest-sources",
10 "//core/api:onos-api-sources",
11 "//incubator/api:onos-incubator-api-sources",
12 "//core/net:onos-core-net-sources",
13 "//core/common:onos-core-common-sources",
14 "//core/store/primitives:onos-core-primitives-sources",
15 "//core/store/serializers:onos-core-serializers-sources",
16 "//core/store/dist:onos-core-dist-sources",
17 "//core/security:onos-security-sources",
18 "//core/store/persistence:onos-core-persistence-sources",
19 "//incubator/net:onos-incubator-net-sources",
20 "//incubator/store:onos-incubator-store-sources",
21 "//incubator/rpc:onos-incubator-rpc-sources",
22 "//cli:onos-cli-sources",
23 "//web/api:onos-rest",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070024 "//apps/cpman/api:onos-apps-cpman-api-sources",
25 "//apps/routing-api:onos-apps-routing-api-sources",
26 "//apps/dhcp/api:onos-apps-dhcp-api-sources",
27]
28
29INTERNAL_SOURCES = [
30 "//protocols/rest/api:onos-protocols-rest-api-sources",
31 "//protocols/rest/ctl:onos-protocols-rest-ctl-sources",
32 "//protocols/bgp/bgpio:onos-protocols-bgp-bgpio-sources",
33 "//protocols/bgp/api:onos-protocols-bgp-api-sources",
34 "//protocols/bgp/ctl:onos-protocols-bgp-ctl-sources",
35 "//protocols/netconf/api:onos-protocols-netconf-api-sources",
36 "//protocols/netconf/ctl:onos-protocols-netconf-ctl-sources",
37 "//protocols/openflow/api:onos-protocols-openflow-api-sources",
38 "//protocols/openflow/ctl:onos-protocols-openflow-ctl-sources",
39 "//protocols/ospf/api:onos-protocols-ospf-api-sources",
40 "//protocols/ospf/protocol:onos-protocols-ospf-protocol-sources",
41 "//protocols/ospf/ctl:onos-protocols-ospf-ctl-sources",
42 "//protocols/ovsdb/rfc:onos-protocols-ovsdb-rfc-sources",
43 "//protocols/ovsdb/api:onos-protocols-ovsdb-api-sources",
44 "//protocols/ovsdb/ctl:onos-protocols-ovsdb-ctl-sources",
Thomas Vachuska6796e022018-08-09 14:53:04 -070045 # "//protocols/p4runtime/api:onos-protocols-p4runtime-api-sources",
46 # "//protocols/p4runtime/model:onos-protocols-p4runtime-model-sources",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070047 "//protocols/pcep/pcepio:onos-protocols-pcep-pcepio-sources",
48 "//protocols/pcep/server/api:onos-protocols-pcep-server-api-sources",
49 "//protocols/pcep/server/ctl:onos-protocols-pcep-server-ctl-sources",
50 "//protocols/snmp/api:onos-protocols-snmp-api-sources",
51 "//protocols/snmp/ctl:onos-protocols-snmp-ctl-sources",
52 "//protocols/isis/api:onos-protocols-isis-api-sources",
53 "//protocols/isis/ctl:onos-protocols-isis-ctl-sources",
54 "//protocols/isis/isisio:onos-protocols-isis-isisio-sources",
55 "//protocols/lisp/api:onos-protocols-lisp-api-sources",
56 "//protocols/lisp/ctl:onos-protocols-lisp-ctl-sources",
57 "//protocols/lisp/msg:onos-protocols-lisp-msg-sources",
58 "//protocols/tl1/api:onos-protocols-tl1-api-sources",
59 "//protocols/tl1/ctl:onos-protocols-tl1-ctl-sources",
60 "//protocols/restconf/client/api:onos-protocols-restconf-client-api-sources",
61 "//protocols/restconf/client/ctl:onos-protocols-restconf-client-ctl-sources",
62 "//protocols/xmpp/core/api:onos-protocols-xmpp-core-api-sources",
63 "//protocols/xmpp/core/ctl:onos-protocols-xmpp-core-ctl-sources",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070064 "//drivers/utilities:onos-drivers-utilities-sources",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070065 "//providers/netconf/device:onos-providers-netconf-device-sources",
66 "//providers/openflow/device:onos-providers-openflow-device-sources",
67 "//providers/openflow/packet:onos-providers-openflow-packet-sources",
68 "//providers/openflow/flow:onos-providers-openflow-flow-sources",
69 "//providers/openflow/group:onos-providers-openflow-group-sources",
70 "//providers/openflow/meter:onos-providers-openflow-meter-sources",
71 "//providers/ovsdb/device:onos-providers-ovsdb-device-sources",
72 "//providers/ovsdb/tunnel:onos-providers-ovsdb-tunnel-sources",
73 "//providers/rest/device:onos-providers-rest-device-sources",
74 "//providers/snmp/device:onos-providers-snmp-device-sources",
75 "//providers/isis/cfg:onos-providers-isis-cfg-sources",
76 "//providers/isis/topology:onos-providers-isis-topology-sources",
77 "//providers/lisp/device:onos-providers-lisp-device-sources",
78 "//providers/tl1/device:onos-providers-tl1-device-sources",
79 "//providers/general/device:onos-providers-general-device-sources",
Ray Milkeydd5a7bf2018-07-26 13:06:33 -070080 # "//providers/p4runtime/packet:onos-providers-p4runtime-packet-sources",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070081 "//apps/pcep-api:onos-apps-pcep-api-sources",
82 "//apps/optical-model:onos-apps-optical-model-sources",
83 "//apps/mappingmanagement/api:onos-apps-mappingmanagement-api-sources",
84]
85
Thomas Vachuska1d735e42018-08-08 16:00:09 -070086JAVADOC_DEPS = CORE_DEPS + KRYO + ATOMIX + REST + CLI + JACKSON + TEST + NETTY + METRICS + ONOS_YANG + [
Thomas Vachuska6796e022018-08-09 14:53:04 -070087 "@io_netty_netty//jar",
88 "@io_netty_netty_codec//jar",
89 "@io_netty_netty_transport//jar",
90 "@io_netty_netty_handler//jar",
91 "@io_netty_netty_transport_native_epoll//jar",
Thomas Vachuskac3226e92018-07-25 12:00:57 -070092 "@commons_math3//jar",
93 "@joda_time//jar",
94 "@mapdb//jar",
95 "@httpclient_osgi//jar",
96 "@httpcore_osgi//jar",
97 "@bndlib//jar",
98 "@jersey_client//jar",
99 "@jersey_server//jar",
100 "@jersey_security//jar",
101 "@org_apache_felix_scr_bnd//jar",
102 "@openflowj//jar",
103 "@org_apache_servicemix_bundles_snmp4j//jar",
104 "@snmp_core//jar",
105 "@mibs_net_snmp//jar",
106 "@mibs_rfc//jar",
107 "@tinder_xmpp//jar",
108 "@aalto_xml//jar",
109 "@stax2_api//jar",
110 "@bcprov_jdk15on//jar",
111 "@bcpkix_jdk15on//jar",
112 "@sshd_core//jar",
113 "@ganymed_ssh2//jar",
114 "@concurrent_trees//jar",
115]
116
117EXTERNAL_GROUPS = {
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700118 "Network Model & Services": ["org.onosproject.*"],
119 "Incubator for Network Model & Services": ["org.onosproject.incubator.*"],
120 "Utilities": ["org.onlab.*"],
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700121 "App & Extensions": [
122 "org.onosproject.dhcp",
123 "org.onosproject.cpman",
124 "org.onosproject.routing",
125 ],
126}
127
128INTERNAL_GROUPS = {
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700129 "Network Model & Services": ["org.onosproject.*"],
130 "Incubator for Network Model & Services": ["org.onosproject.incubator.*"],
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700131 "Core Subsystems": [
132 "org.onosproject.cfg.impl",
133 "org.onosproject.cluster.impl",
134 "org.onosproject.core.impl",
135 "org.onosproject.event.impl",
136 "org.onosproject.net.config.impl",
137 "org.onosproject.net.device.impl",
138 "org.onosproject.net.driver.impl",
139 "org.onosproject.net.edgeservice.impl",
140 "org.onosproject.net.flow.impl",
141 "org.onosproject.net.flowobjective.impl",
142 "org.onosproject.net.flowobjective.impl.composition",
143 "org.onosproject.net.group.impl",
144 "org.onosproject.net.host.impl",
145 "org.onosproject.net.intent.impl",
146 "org.onosproject.net.intent.impl.compiler",
147 "org.onosproject.net.intent.impl.phase",
148 "org.onosproject.net.intf.impl",
149 "org.onosproject.net.link.impl",
150 "org.onosproject.net.newresource.impl",
151 "org.onosproject.net.packet.impl",
152 "org.onosproject.net.proxyarp.impl",
153 "org.onosproject.net.resource.impl",
154 "org.onosproject.net.statistic.impl",
155 "org.onosproject.net.topology.impl",
156 "org.onosproject.json",
157 "org.onosproject.json.*",
158 "org.onosproject.common.*",
159 "org.onosproject.security.impl",
160 "org.onosproject.security.store",
161 ],
162 "Distributed Stores": [
163 "org.onosproject.store.*",
164 "org.onosproject.persistence.impl",
165 ],
166 "Incubator for Core Subsystems & Distributed Stores": [
167 "org.onosproject.incubator.net.impl",
168 "org.onosproject.incubator.store.impl",
169 "org.onosproject.incubator.net.resource.label.impl",
170 "org.onosproject.incubator.store.resource.impl",
171 "org.onosproject.incubator.net.tunnel.impl",
172 "org.onosproject.incubator.store.tunnel.impl",
173 "org.onosproject.incubator.net.config.impl",
174 "org.onosproject.incubator.net.domain.impl",
175 "org.onosproject.incubator.store.config.impl",
176 "org.onosproject.incubator.net.meter.impl",
177 "org.onosproject.incubator.net.resource.label",
178 "org.onosproject.incubator.store.meter.impl",
179 ],
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700180 "Utilities": ["org.onlab.*"],
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700181 "GUI, REST & Command-Line": [
182 "org.onosproject.ui.impl*",
183 "org.onosproject.rest.*",
184 "org.onosproject.cli*",
185 "org.onosproject.codec.impl",
186 ],
187 "Builtin Applications": [
188 "org.onosproject.app.*",
189 "org.onosproject.acl*",
190 "org.onosproject.aaa",
191 "org.onosproject.fwd",
192 "org.onosproject.dhcp*",
193 "org.onosproject.flowanalyzer",
194 "org.onosproject.cpman*",
195 "org.onosproject.mobility",
196 "org.onosproject.proxyarp",
197 "org.onosproject.calendar",
198 "org.onosproject.olt*",
199 "org.onosproject.optical*",
200 "org.onosproject.newoptical*",
201 "org.onosproject.sdnip",
202 "org.onosproject.sdnip.*",
203 "org.onosproject.config",
204 "org.onosproject.routing",
205 "org.onosproject.routing*",
206 "org.onosproject.bgprouter",
207 "org.onosproject.segmentrouting*",
208 "org.onosproject.reactive.routing*",
209 "org.onosproject.messagingperf",
210 "org.onosproject.virtualbng*",
211 "org.onosproject.cordfabric*",
212 "org.onosproject.xosintegration*",
213 "org.onosproject.cip*",
214 "org.onosproject.vtn*",
215 "org.onosproject.cord*",
216 "org.onosproject.mcast*",
217 "org.onosproject.mfwd*",
218 "org.onosproject.mlb*",
219 "org.onosproject.igmp*",
220 "org.onosproject.pim*",
221 "org.onosproject.vpls*",
222 "org.onosproject.vrouter*",
223 "org.onosproject.faultmanagement*",
224 "org.onosproject.iptopology*",
225 "org.onosproject.drivermatrix*",
226 "org.onosproject.pathpainter*",
227 "org.onosproject.openstack*",
228 "org.onosproject.scalablegateway*",
229 "org.onosproject.forwarder*",
230 "org.onosproject.sfc*",
231 "org.onosproject.netcfgmonitor*",
232 "org.onosproject.flowperf",
233 "org.onosproject.loadtest",
234 "org.onosproject.events",
235 "org.onosproject.bmv2*",
236 "org.onosproject.xosclient*",
237 "org.onosproject.kafkaintegration*",
238 "org.onosproject.gangliametrics*",
239 "org.onosproject.graphitemetrics*",
240 "org.onosproject.influxdbmetrics*",
241 "org.onosproject.yms*",
242 ],
243 "Test Instrumentation & Applications": [
244 "org.onosproject.metrics.*",
245 "org.onosproject.demo*",
246 "org.onosproject.election*",
247 "org.onosproject.distributedprimitives*",
248 "org.onosproject.intentperf*",
249 "org.onosproject.messagingperf*",
250 "org.onosproject.optical.testapp*",
251 ],
252 "OpenFlow Providers & Controller": [
253 "org.onosproject.openflow.*",
254 "org.onosproject.provider.of.*",
255 ],
256 "NetConf Protocol & Providers": [
257 "org.onosproject.netconf*",
258 "org.onosproject.provider.netconf*",
259 ],
260 "OVSDB Protocol & Providers": [
261 "org.onosproject.provider.ovsdb*",
262 "org.onosproject.ovsdb*",
263 ],
264 "PCEP Protocol & Providers": [
265 "org.onosproject.pce.*",
266 "org.onosproject.pcerest*",
267 "org.onosproject.pceweb*",
268 "org.onosproject.pcep*",
269 "org.onosproject.pcepio*",
270 "org.onosproject.provider.pcep*",
271 ],
272 "BGP-LS Protocol & Providers": [
273 "org.onosproject.bgp.controller*",
274 "org.onosproject.bgp*",
275 "org.onosproject.provider.bgp*",
276 ],
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700277 "OSPF Protocol & Providers": ["org.onosproject.ospf*"],
278 "ISIS Protocol & Providers": ["org.onosproject.isis*"],
279 "LISP Protocol & Providers": ["org.onosproject.lisp*"],
280 "SNMP Protocol & Providers": ["org.onosproject.snmp*"],
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700281 "REST Protocol & Providers": [
282 "org.onosproject.protocol.rest*",
283 "org.onosproject.provider.rest*",
284 ],
285 "Other Providers": [
286 "org.onosproject.provider.*",
287 "org.onosproject.protocol.*",
288 ],
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700289 "Device Drivers": ["org.onosproject.driver*"],
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700290}
291
292project_javadoc(
293 name = "external",
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700294 srcs = SOURCES,
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700295 groups = EXTERNAL_GROUPS,
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700296 title = "ONOS Java API (%s)" % ONOS_VERSION,
297 deps = JAVADOC_DEPS,
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700298)
299
300project_javadoc(
Ray Milkeydd5a7bf2018-07-26 13:06:33 -0700301 name = "internal",
302 srcs = SOURCES + INTERNAL_SOURCES,
303 groups = INTERNAL_GROUPS,
304 internal = True,
305 title = "ONOS Java API (%s)" % ONOS_VERSION,
306 deps = JAVADOC_DEPS,
Thomas Vachuskac3226e92018-07-25 12:00:57 -0700307)