blob: 44b5f5fbb3699f3170d9d883527cddbdde94afa0 [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
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",
17 "@commons_configuration//jar",
18 "@guava//jar",
19 "@netty//jar",
20 "@netty_common//jar",
21 "@netty_buffer//jar",
22 "@netty_transport//jar",
23 "@netty_handler//jar",
24 "@netty_codec//jar",
25 "@netty_transport_native_epoll//jar",
26 "@netty_resolver//jar",
27 "@commons_pool//jar",
28 "@commons_math3//jar",
29 "@joda_time//jar",
30 "@metrics_core//jar",
31 "@metrics_json//jar",
32 "@minimal_json//jar",
33 "@kryo//jar",
34 "@reflectasm//jar",
35 "@asm//jar",
36 "@minlog//jar",
37 "@objenesis//jar",
38 "@jackson_core//jar",
39 "@jackson_annotations//jar",
40 "@jackson_databind//jar",
41 "@commons_collections//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070042 "@concurrent_trees//jar",
43 "@commons_io//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070044 "@mapdb//jar",
45 "@bcpkix_jdk15on//jar",
46 "@bcprov_jdk15on//jar",
47 "@commons_jxpath//jar",
48 "@commons_beanutils//jar",
49 "@jdom//jar",
50 "@sigar//jar",
51 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070052 required_features = [],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070053 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070054)
55
Ray Milkeya8cf59e2018-06-06 16:39:45 -070056osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070057 name = "onos-thirdparty-web",
58 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070059 included_bundles = [
60 "@jersey_common//jar",
61 "@javax_annotation_api//jar",
62 "@javax_ws_rs_api//jar",
63 "@hk2_api//jar",
64 "@hk2_locator//jar",
65 "@hk2_osgi_resource_locator//jar",
66 "@javax_inject//jar",
67 "@jersey_server//jar",
68 "@jersey_hk2//jar",
69 "@aopalliance_repackaged//jar",
70 "@hk2_utils//jar",
71 "@validation_api//jar",
72 "@javassist//jar",
73 "@jersey_container_servlet//jar",
74 "@jersey_container_servlet_core//jar",
75 "@jersey_media_multipart//jar",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070076 "@jersey_client//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070077 "@mimepull//jar",
78 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070079 required_features = [
80 "war",
81 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070082 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070083 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070084)
85
Ray Milkeya8cf59e2018-06-06 16:39:45 -070086osgi_feature(
87 name = "onos-api",
88 description = "ONOS services and model API",
89 included_bundles = [
90 "//utils/misc:onlab-misc",
91 "//utils/osgi:onlab-osgi",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070092 "//utils/rest:onlab-rest",
Ray Milkeya8cf59e2018-06-06 16:39:45 -070093 "//core/api:onos-api",
94 "//incubator/api:onos-incubator-api",
95 ],
96 required_features = [
97 "scr",
98 "onos-thirdparty-base",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070099 "onos-thirdparty-web",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700100 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700101 visibility = ["//visibility:public"],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700102)
103
104osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700105 name = "onos-core",
106 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700107 included_bundles = [
108 "//core/net:onos-core-net",
109 "//core/common:onos-core-common",
110 "//core/store/dist:onos-core-dist",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700111 "//core/store/primitives:onos-core-primitives",
112 "//core/store/persistence:onos-core-persistence",
113 "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700114 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700115 required_features = ["onos-api"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700116 visibility = ["//visibility:public"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700117)
118
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700119osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700120 name = "onos-incubator",
121 description = "ONOS core incubator components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700122 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700123 "//incubator/net:onos-incubator-net",
124 "//incubator/store:onos-incubator-store",
125 "//incubator/rpc:onos-incubator-rpc",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700126 ],
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700127 required_features = ["onos-core"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700128 visibility = ["//visibility:public"],
129)
130
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700131osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700132 name = "onos-rest",
133 description = "ONOS REST API components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700134 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700135 "//utils/rest:onlab-rest",
136 "//web/api:onos-rest",
137 ],
138 required_features = [
139 "onos-api",
140 "onos-thirdparty-web",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700141 ],
142 visibility = ["//visibility:public"],
143)
144
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700145osgi_feature(
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700146 name = "onos-cli",
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700147 description = "ONOS admin command console components",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700148 included_bundles = [
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700149 "//cli:onos-cli",
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700150 ],
Ray Milkeya4f8d9d2018-07-11 10:36:23 -0700151 required_features = ["onos-api"],
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700152 visibility = ["//visibility:public"],
153)
154
Ray Milkey6d94e9f2018-07-15 18:04:26 -0700155osgi_feature(
Ray Milkey6b3775a2018-06-28 11:18:44 -0700156 name = "onos-gui",
157 description = "ONOS GUI console components",
Ray Milkey6b3775a2018-06-28 11:18:44 -0700158 included_bundles = [
Ray Milkey6d94e9f2018-07-15 18:04:26 -0700159 "//web/gui:onos-gui",
160 "@jetty_websocket//jar",
161 "//utils/rest:onlab-rest",
162 ],
163 required_features = [
164 "onos-api",
165 "onos-thirdparty-web",
Ray Milkey6b3775a2018-06-28 11:18:44 -0700166 ],
167 visibility = ["//visibility:public"],
168)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700169
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700170#osgi_feature (
Thomas Vachuska0edb2c62018-08-07 14:53:29 -0700171# name = "onos-gui2",
172# description = "ONOS GUI2 console components",
173# included_bundles = [
174# "//web/gui:onos-gui2",
175# "@jetty_websocket//jar",
176# "//utils/rest:onlab-rest",
177# ],
178# required_features = [
179# "onos-api",
180# "onos-thirdparty-web",
181# ],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700182#)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700183
Thomas Vachuska0edb2c62018-08-07 14:53:29 -0700184osgi_feature (
185 name = "onos-security",
186 description ="Security-Mode ONOS",
187 included_bundles = [
188 "@org_apache_felix_framework_security//jar",
189 "//core/security:onos-security",
190 ],
191 required_features = ["onos-api"],
192 visibility = ["//visibility:public"],
193)