blob: 1d6f9c97b9c5a90295c2d43c07dfce3590b841d5 [file] [log] [blame]
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -07001load("//tools/build/bazel:osgi_features.bzl", "osgi_feature", "osgi_feature_repo")
Ray Milkey5a520c72018-11-01 10:35:06 -07002load("//tools/build/bazel:modules.bzl", "FEATURES")
Ray Milkeya8cf59e2018-06-06 16:39:45 -07003
Thomas Vachuska03c608c2018-07-10 16:45:08 -07004osgi_feature_repo(
5 name = "onos-features",
6 exported_features = FEATURES,
7 visibility = ["//visibility:public"],
8)
9
Ray Milkeya8cf59e2018-06-06 16:39:45 -070010osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070011 name = "onos-thirdparty-base",
12 description = "ONOS 3rd party dependencies",
Ray Milkey644fdbf2018-07-27 15:24:31 -070013 included_bundles = ATOMIX + [
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070014 "@commons_lang//jar",
15 "@commons_lang3//jar",
16 "@commons_text//jar",
Ray Milkey0faa7212018-11-07 09:13:41 -080017 "@commons_codec//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070018 "@commons_configuration//jar",
Carmelo Cascone72893b72018-08-09 00:59:06 -070019 "@com_google_guava_guava//jar",
Ray Milkeyfb503a72018-12-19 14:03:17 -080020 "@io_netty_netty//jar",
21 "@io_netty_netty_common//jar",
22 "@io_netty_netty_buffer//jar",
Ray Milkeyfb503a72018-12-19 14:03:17 -080023 "@io_netty_netty_handler//jar",
Brian O'Connorc6943832018-12-12 17:27:11 -080024 "@io_netty_netty_tcnative_boringssl//jar",
Ray Milkeyfb503a72018-12-19 14:03:17 -080025 "@io_netty_netty_codec//jar",
Carmelo Cascone0f8b7be2019-01-29 16:10:57 -080026 "@io_netty_netty_codec_http//jar",
27 "@io_netty_netty_codec_http2//jar",
28 "@io_netty_netty_codec_socks//jar",
29 "@io_netty_netty_handler_proxy//jar",
Brian O'Connorc6943832018-12-12 17:27:11 -080030 "@io_netty_netty_transport//jar",
Ray Milkeyfb503a72018-12-19 14:03:17 -080031 "@io_netty_netty_transport_native_epoll//jar",
32 "@io_netty_netty_transport_native_unix_common//jar",
33 "@io_netty_netty_resolver//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070034 "@commons_pool//jar",
35 "@commons_math3//jar",
36 "@joda_time//jar",
37 "@metrics_core//jar",
38 "@metrics_json//jar",
39 "@minimal_json//jar",
40 "@kryo//jar",
41 "@reflectasm//jar",
42 "@asm//jar",
43 "@minlog//jar",
44 "@objenesis//jar",
45 "@jackson_core//jar",
46 "@jackson_annotations//jar",
47 "@jackson_databind//jar",
48 "@commons_collections//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070049 "@concurrent_trees//jar",
50 "@commons_io//jar",
Ramon Casellas4663da32018-11-12 15:44:20 +010051 "@commons_jxpath//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070052 "@mapdb//jar",
53 "@bcpkix_jdk15on//jar",
54 "@bcprov_jdk15on//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070055 "@commons_beanutils//jar",
56 "@jdom//jar",
57 "@sigar//jar",
Ray Milkeyd84f89b2018-08-17 14:54:17 -070058 "@org_osgi_util_function//jar",
59 "@org_osgi_util_promise//jar",
Ray Milkey11ce9302019-02-07 14:41:17 -080060 "@jaxb_api//jar",
Daniele Moro58d18662020-03-11 09:33:50 -070061 "@kafka_clients//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070062 ],
Ray Milkeyfb503a72018-12-19 14:03:17 -080063 required_features = [],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070064 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070065)
66
Ray Milkeya8cf59e2018-06-06 16:39:45 -070067osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070068 name = "onos-thirdparty-web",
69 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070070 included_bundles = [
71 "@jersey_common//jar",
Carmelo Casconeb9536692019-05-28 18:15:23 -070072 "@javax_annotation_javax_annotation_api//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070073 "@javax_ws_rs_api//jar",
74 "@hk2_api//jar",
75 "@hk2_locator//jar",
76 "@hk2_osgi_resource_locator//jar",
77 "@javax_inject//jar",
78 "@jersey_server//jar",
79 "@jersey_hk2//jar",
80 "@aopalliance_repackaged//jar",
81 "@hk2_utils//jar",
82 "@validation_api//jar",
83 "@javassist//jar",
84 "@jersey_container_servlet//jar",
85 "@jersey_container_servlet_core//jar",
86 "@jersey_media_multipart//jar",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070087 "@jersey_client//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070088 "@mimepull//jar",
89 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070090 required_features = [
91 "war",
92 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070093 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070094 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070095)
96
Ray Milkeya8cf59e2018-06-06 16:39:45 -070097osgi_feature(
98 name = "onos-api",
99 description = "ONOS services and model API",
100 included_bundles = [
101 "//utils/misc:onlab-misc",
102 "//utils/osgi:onlab-osgi",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700103 "//utils/rest:onlab-rest",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700104 "//core/api:onos-api",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700105 ],
106 required_features = [
107 "scr",
108 "onos-thirdparty-base",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700109 "onos-thirdparty-web",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700110 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700111 visibility = ["//visibility:public"],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700112)
113
114osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700115 name = "onos-core",
116 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700117 included_bundles = [
118 "//core/net:onos-core-net",
119 "//core/common:onos-core-common",
120 "//core/store/dist:onos-core-dist",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700121 "//core/store/primitives:onos-core-primitives",
122 "//core/store/persistence:onos-core-persistence",
123 "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700124 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700125 required_features = ["onos-api"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700126 visibility = ["//visibility:public"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700127)
128
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700129osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700130 name = "onos-rest",
131 description = "ONOS REST API components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700132 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700133 "//web/api:onos-rest",
134 ],
135 required_features = [
136 "onos-api",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700137 ],
138 visibility = ["//visibility:public"],
139)
140
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700141osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700142 name = "onos-cli",
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700143 description = "ONOS admin command console components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700144 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700145 "//cli:onos-cli",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700146 ],
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700147 required_features = ["onos-api"],
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700148 visibility = ["//visibility:public"],
149)
150
Thomas Vachuskad0d7ea12018-10-10 10:27:04 -0700151#osgi_feature(
152# name = "onos-security",
153# description = "Security-Mode ONOS",
154# included_bundles = [
155# "@org_apache_felix_framework_security//jar",
156# "//core/security:onos-security",
157# ],
158# required_features = ["onos-api"],
159# visibility = ["//visibility:public"],
160#)