blob: 0a925d1e4fee1c2bb4d2b4ca9ef4d07beabf0062 [file] [log] [blame]
Ray Milkey28d77f32018-07-27 09:21:49 -07001COMPILE_DEPS = CORE_DEPS + KRYO + ATOMIX + [
Ray Milkey324af932018-06-20 19:50:31 -07002 "//core/common:onos-core-common",
3 "//core/store/serializers:onos-core-serializers",
4 "//incubator/api:onos-incubator-api",
5]
6
7TEST_DEPS = TEST + [
8 "@commons_math3//jar",
9 "@netty_handler//jar",
10 "@netty_buffer//jar",
11 "@netty_codec//jar",
12 "@netty_resolver//jar",
13 "//core/api:onos-api-tests",
14]
15
Ray Milkey644fdbf2018-07-27 15:24:31 -070016_primitive_package_names = [
Jian Lid486a732018-08-03 00:32:11 +090017 "barrier",
18 "collection",
19 "counter",
20 "election",
21 "idgenerator",
22 "iterator",
23 "list",
24 "lock",
25 "map",
26 "multimap",
27 "multiset",
28 "queue",
29 "semaphore",
30 "set",
31 "transaction",
32 "tree",
33 "value",
34 "workqueue",
Ray Milkey644fdbf2018-07-27 15:24:31 -070035]
36
37# A list of all core primitive packages for dynamic class loading
Jian Lid486a732018-08-03 00:32:11 +090038PRIMITIVE_PACKAGES = ",".join(["io.atomix.primitive.session.impl"] + ["io.atomix.core.{primitive},io.atomix.core.{primitive}.impl".format(primitive = primitive) for primitive in _primitive_package_names])
Ray Milkey644fdbf2018-07-27 15:24:31 -070039
40# Base package names for core Atomix protocols
41_protocol_package_names = [
Jian Lid486a732018-08-03 00:32:11 +090042 "raft",
43 "backup",
Ray Milkey644fdbf2018-07-27 15:24:31 -070044]
45
46# A list of all core protocol packages for dynamic class loading
Jian Lid486a732018-08-03 00:32:11 +090047PROTOCOL_PACKAGES = ",".join(["io.atomix.primitive.partition.impl"] + ["io.atomix.protocols.{protocol},io.atomix.protocols.{protocol}.partition".format(protocol = protocol) for protocol in _protocol_package_names] + ["io.atomix.protocols.gossip"])
Ray Milkey644fdbf2018-07-27 15:24:31 -070048
49# A list of all additional core packages used in dynamic class loading
Jian Lid486a732018-08-03 00:32:11 +090050CORE_PACKAGES = ",".join([
51 "io.atomix.core.profile",
52 "io.atomix.core.profile.impl",
53])
Ray Milkey644fdbf2018-07-27 15:24:31 -070054
55# A list of all dynamically loadable Atomix packages
Jian Lid486a732018-08-03 00:32:11 +090056INCLUDE_PACKAGES = ",".join([
57 PRIMITIVE_PACKAGES,
58 PROTOCOL_PACKAGES,
59 CORE_PACKAGES,
60])
Ray Milkey644fdbf2018-07-27 15:24:31 -070061
Jian Lid486a732018-08-03 00:32:11 +090062ALL_PACKAGES = "*"
Ray Milkey644fdbf2018-07-27 15:24:31 -070063
Ray Milkey324af932018-06-20 19:50:31 -070064osgi_jar_with_tests(
65 name = "onos-core-primitives",
Jian Lid486a732018-08-03 00:32:11 +090066 import_packages = INCLUDE_PACKAGES + "," + ALL_PACKAGES,
Ray Milkey324af932018-06-20 19:50:31 -070067 test_deps = TEST_DEPS,
68 visibility = ["//visibility:public"],
69 deps = COMPILE_DEPS,
Ray Milkey324af932018-06-20 19:50:31 -070070)