blob: 6880c26ae3454dad24b18d446dd2ea3033f6ea92 [file] [log] [blame]
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -07001load("//tools/build/bazel:osgi_features.bzl", "osgi_feature", "osgi_feature_repo")
Thomas Vachuska1ae26c62018-07-09 13:40:16 -07002load("//:modules.bzl", "FEATURES")
Ray Milkeya8cf59e2018-06-06 16:39:45 -07003
4osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -07005 name = "onos-thirdparty-base",
6 description = "ONOS 3rd party dependencies",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -07007 included_bundles = [
8 "@atomix//jar",
9 "@commons_lang//jar",
10 "@commons_lang3//jar",
11 "@commons_text//jar",
12 "@commons_configuration//jar",
13 "@guava//jar",
14 "@netty//jar",
15 "@netty_common//jar",
16 "@netty_buffer//jar",
17 "@netty_transport//jar",
18 "@netty_handler//jar",
19 "@netty_codec//jar",
20 "@netty_transport_native_epoll//jar",
21 "@netty_resolver//jar",
22 "@commons_pool//jar",
23 "@commons_math3//jar",
24 "@joda_time//jar",
25 "@metrics_core//jar",
26 "@metrics_json//jar",
27 "@minimal_json//jar",
28 "@kryo//jar",
29 "@reflectasm//jar",
30 "@asm//jar",
31 "@minlog//jar",
32 "@objenesis//jar",
33 "@jackson_core//jar",
34 "@jackson_annotations//jar",
35 "@jackson_databind//jar",
36 "@commons_collections//jar",
37 "@typesafe_config//jar",
38 "@concurrent_trees//jar",
39 "@commons_io//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070040 "@mapdb//jar",
41 "@bcpkix_jdk15on//jar",
42 "@bcprov_jdk15on//jar",
43 "@commons_jxpath//jar",
44 "@commons_beanutils//jar",
45 "@jdom//jar",
46 "@sigar//jar",
47 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070048 required_features = [],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070049 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070050)
51
Ray Milkeya8cf59e2018-06-06 16:39:45 -070052osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070053 name = "onos-thirdparty-web",
54 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070055 included_bundles = [
56 "@jersey_common//jar",
57 "@javax_annotation_api//jar",
58 "@javax_ws_rs_api//jar",
59 "@hk2_api//jar",
60 "@hk2_locator//jar",
61 "@hk2_osgi_resource_locator//jar",
62 "@javax_inject//jar",
63 "@jersey_server//jar",
64 "@jersey_hk2//jar",
65 "@aopalliance_repackaged//jar",
66 "@hk2_utils//jar",
67 "@validation_api//jar",
68 "@javassist//jar",
69 "@jersey_container_servlet//jar",
70 "@jersey_container_servlet_core//jar",
71 "@jersey_media_multipart//jar",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070072 "@jersey_client//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070073 "@mimepull//jar",
74 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070075 required_features = [
76 "war",
77 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070078 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070079 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070080)
81
Ray Milkeya8cf59e2018-06-06 16:39:45 -070082osgi_feature(
83 name = "onos-api",
84 description = "ONOS services and model API",
85 included_bundles = [
86 "//utils/misc:onlab-misc",
87 "//utils/osgi:onlab-osgi",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070088 "//utils/rest:onlab-rest",
Ray Milkeya8cf59e2018-06-06 16:39:45 -070089 "//core/api:onos-api",
90 "//incubator/api:onos-incubator-api",
91 ],
92 required_features = [
93 "scr",
94 "onos-thirdparty-base",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070095 "onos-thirdparty-web",
Ray Milkeya8cf59e2018-06-06 16:39:45 -070096 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070097 visibility = ["//visibility:public"],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070098)
99
100osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700101 name = "onos-core",
102 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700103 included_bundles = [
104 "//core/net:onos-core-net",
105 "//core/common:onos-core-common",
106 "//core/store/dist:onos-core-dist",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700107 "//core/store/primitives:onos-core-primitives",
108 "//core/store/persistence:onos-core-persistence",
109 "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700110 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700111 required_features = ["onos-api"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700112 visibility = ["//visibility:public"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700113)
114
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700115osgi_feature_repo(
116 name = "onos-features",
117 exported_features = FEATURES,
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700118 visibility = ["//visibility:public"],
119)
120
121#osgi_feature (
122# name = "onos-incubator",
123# description = "ONOS core incubator components",
124# required_features = ["onos-core"],
125# included_bundles = [
126# "//incubator/net:onos-incubator-net",
127# "//incubator/store:onos-incubator-store",
128# "//incubator/rpc:onos-incubator-rpc",
129# ]
130#)
131#
132#osgi_feature (
133# name = "onos-rest",
134# description = "ONOS REST API components",
135# required_features = ["onos-api", "onos-thirdparty-web"],
136# included_bundles = [
137# "//utils/rest:onlab-rest",
138# "//web/api:onos-rest",
139# ]
140#)
141#
142#osgi_feature (
143# name = "onos-gui",
144# description = "ONOS GUI console components",
145# required_features = ["onos-api", "onos-thirdparty-web"],
146# included_bundles = [
147# "//lib:jetty_websocket",
148# "//utils/rest:onlab-rest",
149# "//web/gui:onos-gui",
150# ]
151#)
152#
153#osgi_feature (
154# name = "onos-gui2",
155# description = "ONOS GUI2 console components",
156# required_features = ["onos-api", "onos-thirdparty-web"],
157# included_bundles = [
158# "//lib:jetty_websocket",
159# "//utils/rest:onlab-rest",
160# "//web/gui2:onos-gui2",
161# ]
162#)
163#
164#osgi_feature (
165# name = "onos-cli",
166# description ="ONOS admin command console components",
167# required_features = ["onos-api"],
168# included_bundles = [
169# "//cli:onos-cli",
170# ]
171#)
172#
173#osgi_feature (
174# name = "onos-security",
175# description ="Security-Mode ONOS",
176# required_features = ["onos-api"],
177# included_bundles = [
178# "//lib:org.apache.felix.framework.security",
179# "//core/security:onos-security",
180# ]
181#)