blob: a0c918640b22053a909e2cdadf57a5b738010c21 [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(
Brian O'Connor1a378662018-12-12 17:27:11 -080011 name = "onos-netty",
12 description = "ONOS Netty dependencies",
13 included_bundles = [
14 "@io_netty_netty//jar",
15 "@io_netty_netty_common//jar",
16 "@io_netty_netty_buffer//jar",
17 "@io_netty_netty_handler//jar",
18 "@io_netty_netty_tcnative_boringssl//jar",
19 "@io_netty_netty_codec//jar",
20 "@io_netty_netty_codec_http//jar",
21 "@io_netty_netty_codec_http2//jar",
22 "@io_netty_netty_transport//jar",
23 "@io_netty_netty_transport_native_epoll//jar",
24 "@io_netty_netty_transport_native_unix_common//jar",
25 "@io_netty_netty_resolver//jar",
26 ],
27 required_features = [],
28 visibility = ["//visibility:public"],
29)
30
31osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070032 name = "onos-thirdparty-base",
33 description = "ONOS 3rd party dependencies",
Ray Milkey644fdbf2018-07-27 15:24:31 -070034 included_bundles = ATOMIX + [
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070035 "@commons_lang//jar",
36 "@commons_lang3//jar",
37 "@commons_text//jar",
Ray Milkey0faa7212018-11-07 09:13:41 -080038 "@commons_codec//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070039 "@commons_configuration//jar",
Carmelo Cascone72893b72018-08-09 00:59:06 -070040 "@com_google_guava_guava//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070041 "@commons_pool//jar",
42 "@commons_math3//jar",
43 "@joda_time//jar",
44 "@metrics_core//jar",
45 "@metrics_json//jar",
46 "@minimal_json//jar",
47 "@kryo//jar",
48 "@reflectasm//jar",
49 "@asm//jar",
50 "@minlog//jar",
51 "@objenesis//jar",
52 "@jackson_core//jar",
53 "@jackson_annotations//jar",
54 "@jackson_databind//jar",
55 "@commons_collections//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070056 "@concurrent_trees//jar",
57 "@commons_io//jar",
Ramon Casellas4663da32018-11-12 15:44:20 +010058 "@commons_jxpath//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070059 "@mapdb//jar",
60 "@bcpkix_jdk15on//jar",
61 "@bcprov_jdk15on//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070062 "@commons_beanutils//jar",
63 "@jdom//jar",
64 "@sigar//jar",
Ray Milkeyd84f89b2018-08-17 14:54:17 -070065 "@org_osgi_util_function//jar",
66 "@org_osgi_util_promise//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070067 ],
Brian O'Connor1a378662018-12-12 17:27:11 -080068 required_features = ["onos-netty"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070069 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070070)
71
Ray Milkeya8cf59e2018-06-06 16:39:45 -070072osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070073 name = "onos-thirdparty-web",
74 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070075 included_bundles = [
76 "@jersey_common//jar",
Carmelo Cascone72893b72018-08-09 00:59:06 -070077 "@javax_annotation_api_mvn//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070078 "@javax_ws_rs_api//jar",
79 "@hk2_api//jar",
80 "@hk2_locator//jar",
81 "@hk2_osgi_resource_locator//jar",
82 "@javax_inject//jar",
83 "@jersey_server//jar",
84 "@jersey_hk2//jar",
85 "@aopalliance_repackaged//jar",
86 "@hk2_utils//jar",
87 "@validation_api//jar",
88 "@javassist//jar",
89 "@jersey_container_servlet//jar",
90 "@jersey_container_servlet_core//jar",
91 "@jersey_media_multipart//jar",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070092 "@jersey_client//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070093 "@mimepull//jar",
94 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070095 required_features = [
96 "war",
97 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070098 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070099 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700100)
101
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700102osgi_feature(
103 name = "onos-api",
104 description = "ONOS services and model API",
105 included_bundles = [
106 "//utils/misc:onlab-misc",
107 "//utils/osgi:onlab-osgi",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700108 "//utils/rest:onlab-rest",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700109 "//core/api:onos-api",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700110 ],
111 required_features = [
112 "scr",
113 "onos-thirdparty-base",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700114 "onos-thirdparty-web",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700115 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700116 visibility = ["//visibility:public"],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700117)
118
119osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700120 name = "onos-core",
121 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700122 included_bundles = [
123 "//core/net:onos-core-net",
124 "//core/common:onos-core-common",
125 "//core/store/dist:onos-core-dist",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700126 "//core/store/primitives:onos-core-primitives",
127 "//core/store/persistence:onos-core-persistence",
128 "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700129 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700130 required_features = ["onos-api"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700131 visibility = ["//visibility:public"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700132)
133
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700134osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700135 name = "onos-rest",
136 description = "ONOS REST API components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700137 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700138 "//web/api:onos-rest",
139 ],
140 required_features = [
141 "onos-api",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700142 ],
143 visibility = ["//visibility:public"],
144)
145
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700146osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700147 name = "onos-cli",
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700148 description = "ONOS admin command console components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700149 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700150 "//cli:onos-cli",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700151 ],
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700152 required_features = ["onos-api"],
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700153 visibility = ["//visibility:public"],
154)
155
Ray Milkey6d94e9f2018-07-15 18:04:26 -0700156osgi_feature(
Ray Milkey6b3775a2018-06-28 11:18:44 -0700157 name = "onos-gui",
158 description = "ONOS GUI console components",
Ray Milkey6b3775a2018-06-28 11:18:44 -0700159 included_bundles = [
Ray Milkey6d94e9f2018-07-15 18:04:26 -0700160 "//web/gui:onos-gui",
Ray Milkey6d94e9f2018-07-15 18:04:26 -0700161 ],
162 required_features = [
163 "onos-api",
Ray Milkey6b3775a2018-06-28 11:18:44 -0700164 ],
165 visibility = ["//visibility:public"],
166)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700167
Sean Condonf6af2a52018-08-19 10:43:24 +0100168osgi_feature(
169 name = "onos-gui2",
170 description = "ONOS GUI2 components",
171 included_bundles = [
172 "//web/gui2:onos-gui2",
Sean Condonf6af2a52018-08-19 10:43:24 +0100173 ],
174 required_features = [
175 "onos-api",
Sean Condonf6af2a52018-08-19 10:43:24 +0100176 ],
177 visibility = ["//visibility:public"],
178)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700179
Thomas Vachuskad0d7ea12018-10-10 10:27:04 -0700180#osgi_feature(
181# name = "onos-security",
182# description = "Security-Mode ONOS",
183# included_bundles = [
184# "@org_apache_felix_framework_security//jar",
185# "//core/security:onos-security",
186# ],
187# required_features = ["onos-api"],
188# visibility = ["//visibility:public"],
189#)