blob: b7ad28dcadb876a47b600611ab045aa921d4cc03 [file] [log] [blame]
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -07001load("//tools/build/bazel:osgi_features.bzl", "osgi_feature", "osgi_feature_repo")
Ray Milkeya8cf59e2018-06-06 16:39:45 -07002
3osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -07004 name = "onos-thirdparty-base",
5 description = "ONOS 3rd party dependencies",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -07006 included_bundles = [
7 "@atomix//jar",
8 "@commons_lang//jar",
9 "@commons_lang3//jar",
10 "@commons_text//jar",
11 "@commons_configuration//jar",
12 "@guava//jar",
13 "@netty//jar",
14 "@netty_common//jar",
15 "@netty_buffer//jar",
16 "@netty_transport//jar",
17 "@netty_handler//jar",
18 "@netty_codec//jar",
19 "@netty_transport_native_epoll//jar",
20 "@netty_resolver//jar",
21 "@commons_pool//jar",
22 "@commons_math3//jar",
23 "@joda_time//jar",
24 "@metrics_core//jar",
25 "@metrics_json//jar",
26 "@minimal_json//jar",
27 "@kryo//jar",
28 "@reflectasm//jar",
29 "@asm//jar",
30 "@minlog//jar",
31 "@objenesis//jar",
32 "@jackson_core//jar",
33 "@jackson_annotations//jar",
34 "@jackson_databind//jar",
35 "@commons_collections//jar",
36 "@typesafe_config//jar",
37 "@concurrent_trees//jar",
38 "@commons_io//jar",
39 "@jersey_client//jar",
40 "@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 Vachuskaaab45d12018-06-05 16:39:46 -070049)
50
Ray Milkeya8cf59e2018-06-06 16:39:45 -070051osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070052 name = "onos-thirdparty-web",
53 description = "ONOS 3rd party dependencies for web apps",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070054 included_bundles = [
55 "@jersey_common//jar",
56 "@javax_annotation_api//jar",
57 "@javax_ws_rs_api//jar",
58 "@hk2_api//jar",
59 "@hk2_locator//jar",
60 "@hk2_osgi_resource_locator//jar",
61 "@javax_inject//jar",
62 "@jersey_server//jar",
63 "@jersey_hk2//jar",
64 "@aopalliance_repackaged//jar",
65 "@hk2_utils//jar",
66 "@validation_api//jar",
67 "@javassist//jar",
68 "@jersey_container_servlet//jar",
69 "@jersey_container_servlet_core//jar",
70 "@jersey_media_multipart//jar",
71 "@mimepull//jar",
72 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070073 required_features = [
74 "war",
75 "onos-thirdparty-base",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070076 ],
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070077)
78
Ray Milkeya8cf59e2018-06-06 16:39:45 -070079osgi_feature(
80 name = "onos-api",
81 description = "ONOS services and model API",
82 included_bundles = [
83 "//utils/misc:onlab-misc",
84 "//utils/osgi:onlab-osgi",
85 "//core/api:onos-api",
86 "//incubator/api:onos-incubator-api",
87 ],
88 required_features = [
89 "scr",
90 "onos-thirdparty-base",
91 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -070092)
93
94osgi_feature(
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070095 name = "onos-core",
96 description = "ONOS core components",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -070097 included_bundles = [
98 "//core/net:onos-core-net",
99 "//core/common:onos-core-common",
100 "//core/store/dist:onos-core-dist",
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700101 # "//core/store/primitives:onos-core-primitives",
102 # "//core/store/persistence:onos-core-persistence",
103 # "//core/store/serializers:onos-core-serializers",
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700104 ],
Ray Milkeya8cf59e2018-06-06 16:39:45 -0700105 required_features = ["onos-api"],
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700106)
107
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700108FEATURES = [
Thomas Vachuskaf25c2482018-06-12 13:18:45 -0700109 "//tools/package/features:onos-thirdparty-base",
110 "//tools/package/features:onos-thirdparty-web",
111 "//tools/package/features:onos-api",
112 "//tools/package/features:onos-core",
Ray Milkey15053f02018-06-13 10:00:45 -0700113 # "//tools/package/features:onos-incubator",
114 # "//tools/package/features:onos-rest",
115 # "//tools/package/features:onos-gui",
116 # "//tools/package/features:onos-gui2",
117 # "//tools/package/features:onos-cli",
118 # "//tools/package/features:onos-security",
Thomas Vachuskaa8e1bd42018-06-11 15:45:11 -0700119]
120
121osgi_feature_repo(
122 name = "onos-features",
123 exported_features = FEATURES,
Thomas Vachuskaaab45d12018-06-05 16:39:46 -0700124 visibility = ["//visibility:public"],
125)
126
127#osgi_feature (
128# name = "onos-incubator",
129# description = "ONOS core incubator components",
130# required_features = ["onos-core"],
131# included_bundles = [
132# "//incubator/net:onos-incubator-net",
133# "//incubator/store:onos-incubator-store",
134# "//incubator/rpc:onos-incubator-rpc",
135# ]
136#)
137#
138#osgi_feature (
139# name = "onos-rest",
140# description = "ONOS REST API components",
141# required_features = ["onos-api", "onos-thirdparty-web"],
142# included_bundles = [
143# "//utils/rest:onlab-rest",
144# "//web/api:onos-rest",
145# ]
146#)
147#
148#osgi_feature (
149# name = "onos-gui",
150# description = "ONOS GUI console components",
151# required_features = ["onos-api", "onos-thirdparty-web"],
152# included_bundles = [
153# "//lib:jetty_websocket",
154# "//utils/rest:onlab-rest",
155# "//web/gui:onos-gui",
156# ]
157#)
158#
159#osgi_feature (
160# name = "onos-gui2",
161# description = "ONOS GUI2 console components",
162# required_features = ["onos-api", "onos-thirdparty-web"],
163# included_bundles = [
164# "//lib:jetty_websocket",
165# "//utils/rest:onlab-rest",
166# "//web/gui2:onos-gui2",
167# ]
168#)
169#
170#osgi_feature (
171# name = "onos-cli",
172# description ="ONOS admin command console components",
173# required_features = ["onos-api"],
174# included_bundles = [
175# "//cli:onos-cli",
176# ]
177#)
178#
179#osgi_feature (
180# name = "onos-security",
181# description ="Security-Mode ONOS",
182# required_features = ["onos-api"],
183# included_bundles = [
184# "//lib:org.apache.felix.framework.security",
185# "//core/security:onos-security",
186# ]
187#)