blob: a4749818461c2bf4d67b86b8a806d5b590c5e448 [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",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070013 included_bundles = [
14 "@atomix//jar",
15 "@commons_lang//jar",
16 "@commons_lang3//jar",
17 "@commons_text//jar",
18 "@commons_configuration//jar",
19 "@guava//jar",
20 "@netty//jar",
21 "@netty_common//jar",
22 "@netty_buffer//jar",
23 "@netty_transport//jar",
24 "@netty_handler//jar",
25 "@netty_codec//jar",
26 "@netty_transport_native_epoll//jar",
27 "@netty_resolver//jar",
28 "@commons_pool//jar",
29 "@commons_math3//jar",
30 "@joda_time//jar",
31 "@metrics_core//jar",
32 "@metrics_json//jar",
33 "@minimal_json//jar",
34 "@kryo//jar",
35 "@reflectasm//jar",
36 "@asm//jar",
37 "@minlog//jar",
38 "@objenesis//jar",
39 "@jackson_core//jar",
40 "@jackson_annotations//jar",
41 "@jackson_databind//jar",
42 "@commons_collections//jar",
43 "@typesafe_config//jar",
44 "@concurrent_trees//jar",
45 "@commons_io//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070046 "@mapdb//jar",
47 "@bcpkix_jdk15on//jar",
48 "@bcprov_jdk15on//jar",
49 "@commons_jxpath//jar",
50 "@commons_beanutils//jar",
51 "@jdom//jar",
52 "@sigar//jar",
53 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070054 required_features = [],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070055 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070056)
57
Ray Milkeya8cf59e2018-06-06 16:39:45 -070058osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070059 name = "onos-thirdparty-web",
60 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070061 included_bundles = [
62 "@jersey_common//jar",
63 "@javax_annotation_api//jar",
64 "@javax_ws_rs_api//jar",
65 "@hk2_api//jar",
66 "@hk2_locator//jar",
67 "@hk2_osgi_resource_locator//jar",
68 "@javax_inject//jar",
69 "@jersey_server//jar",
70 "@jersey_hk2//jar",
71 "@aopalliance_repackaged//jar",
72 "@hk2_utils//jar",
73 "@validation_api//jar",
74 "@javassist//jar",
75 "@jersey_container_servlet//jar",
76 "@jersey_container_servlet_core//jar",
77 "@jersey_media_multipart//jar",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070078 "@jersey_client//jar",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070079 "@mimepull//jar",
80 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070081 required_features = [
82 "war",
83 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070084 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070085 visibility = ["//visibility:public"],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070086)
87
Ray Milkeya8cf59e2018-06-06 16:39:45 -070088osgi_feature(
89 name = "onos-api",
90 description = "ONOS services and model API",
91 included_bundles = [
92 "//utils/misc:onlab-misc",
93 "//utils/osgi:onlab-osgi",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -070094 "//utils/rest:onlab-rest",
Ray Milkeya8cf59e2018-06-06 16:39:45 -070095 "//core/api:onos-api",
96 "//incubator/api:onos-incubator-api",
97 ],
98 required_features = [
99 "scr",
100 "onos-thirdparty-base",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700101 "onos-thirdparty-web",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700102 ],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700103 visibility = ["//visibility:public"],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700104)
105
106osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700107 name = "onos-core",
108 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700109 included_bundles = [
110 "//core/net:onos-core-net",
111 "//core/common:onos-core-common",
112 "//core/store/dist:onos-core-dist",
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700113 "//core/store/primitives:onos-core-primitives",
114 "//core/store/persistence:onos-core-persistence",
115 "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700116 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700117 required_features = ["onos-api"],
Thomas Vachuska1ae26c62018-07-09 13:40:16 -0700118 visibility = ["//visibility:public"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700119)
120
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700121osgi_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 ],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700130 visibility = ["//visibility:public"],
131)
132
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700133osgi_feature (
134 name = "onos-rest",
135 description = "ONOS REST API components",
136 required_features = ["onos-api", "onos-thirdparty-web"],
137 included_bundles = [
138 "//utils/rest:onlab-rest",
139 "//web/api:onos-rest",
140 ],
141 visibility = ["//visibility:public"],
142)
143
144osgi_feature (
145 name = "onos-cli",
146 description ="ONOS admin command console components",
147 required_features = ["onos-api"],
148 included_bundles = [
149 "//cli:onos-cli",
150 ],
151 visibility = ["//visibility:public"],
152)
153
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700154#osgi_feature (
155# name = "onos-gui",
156# description = "ONOS GUI console components",
157# required_features = ["onos-api", "onos-thirdparty-web"],
158# included_bundles = [
159# "//lib:jetty_websocket",
160# "//utils/rest:onlab-rest",
161# "//web/gui:onos-gui",
162# ]
163#)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700164
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700165#osgi_feature (
166# name = "onos-gui2",
167# description = "ONOS GUI2 console components",
168# required_features = ["onos-api", "onos-thirdparty-web"],
169# included_bundles = [
170# "//lib:jetty_websocket",
171# "//utils/rest:onlab-rest",
172# "//web/gui2:onos-gui2",
173# ]
174#)
Thomas Vachuska03c608c2018-07-10 16:45:08 -0700175
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700176#osgi_feature (
177# name = "onos-security",
178# description ="Security-Mode ONOS",
179# required_features = ["onos-api"],
180# included_bundles = [
181# "//lib:org.apache.felix.framework.security",
182# "//core/security:onos-security",
183# ]
184#)