blob: ea852221db6c7371fb32be6d52499c81ff32e9df [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",
Ray Milkey324af932018-06-20 19:50:31 -07004]
5
6TEST_DEPS = TEST + [
7 "@commons_math3//jar",
Carmelo Cascone72893b72018-08-09 00:59:06 -07008 "@io_netty_netty_handler//jar",
9 "@io_netty_netty_buffer//jar",
10 "@io_netty_netty_codec//jar",
11 "@io_netty_netty_resolver//jar",
Ray Milkey324af932018-06-20 19:50:31 -070012 "//core/api:onos-api-tests",
13]
14
Ray Milkey644fdbf2018-07-27 15:24:31 -070015_primitive_package_names = [
Jian Lid486a732018-08-03 00:32:11 +090016 "barrier",
17 "collection",
18 "counter",
19 "election",
20 "idgenerator",
21 "iterator",
22 "list",
23 "lock",
Jordan Halterman2b3ed3e2018-11-27 14:38:37 -080024 "log",
Jian Lid486a732018-08-03 00:32:11 +090025 "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
Jordan Halterman28b21d12018-11-12 11:03:35 -080046# A list of all cluster protocol packages for dynamic class loading
47CLUSTER_PACKAGES = ",".join([
48 "io.atomix.cluster.discovery",
49 "io.atomix.cluster.protocol",
50])
51
Ray Milkey644fdbf2018-07-27 15:24:31 -070052# A list of all core protocol packages for dynamic class loading
Jordan Halterman2b3ed3e2018-11-27 14:38:37 -080053PROTOCOL_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])
Ray Milkey644fdbf2018-07-27 15:24:31 -070054
55# A list of all additional core packages used in dynamic class loading
Jian Lid486a732018-08-03 00:32:11 +090056CORE_PACKAGES = ",".join([
57 "io.atomix.core.profile",
58 "io.atomix.core.profile.impl",
59])
Ray Milkey644fdbf2018-07-27 15:24:31 -070060
61# A list of all dynamically loadable Atomix packages
Jian Lid486a732018-08-03 00:32:11 +090062INCLUDE_PACKAGES = ",".join([
Jordan Halterman28b21d12018-11-12 11:03:35 -080063 CLUSTER_PACKAGES,
Jian Lid486a732018-08-03 00:32:11 +090064 PRIMITIVE_PACKAGES,
65 PROTOCOL_PACKAGES,
66 CORE_PACKAGES,
67])
Ray Milkey644fdbf2018-07-27 15:24:31 -070068
Jian Lid486a732018-08-03 00:32:11 +090069ALL_PACKAGES = "*"
Ray Milkey644fdbf2018-07-27 15:24:31 -070070
Ray Milkey324af932018-06-20 19:50:31 -070071osgi_jar_with_tests(
72 name = "onos-core-primitives",
Jian Lid486a732018-08-03 00:32:11 +090073 import_packages = INCLUDE_PACKAGES + "," + ALL_PACKAGES,
Ray Milkey324af932018-06-20 19:50:31 -070074 test_deps = TEST_DEPS,
75 visibility = ["//visibility:public"],
76 deps = COMPILE_DEPS,
Ray Milkey324af932018-06-20 19:50:31 -070077)