Start on implementation of apps with multiple included bundles
Change-Id: I8fc8474d5f2ff1b45e0dccfbe3fc20e27cc9000b
diff --git a/tools/build/bazel/osgi_java_library.bzl b/tools/build/bazel/osgi_java_library.bzl
index de8c28c..8e4fb56 100644
--- a/tools/build/bazel/osgi_java_library.bzl
+++ b/tools/build/bazel/osgi_java_library.bzl
@@ -53,7 +53,7 @@
group = ctx.attr.package_name_root
version = ctx.attr.version
license = ""
- importPackages = "*"
+ import_packages = ctx.attr.import_packages
exportPackages = "*"
includeResources = ""
webContext = "NONE"
@@ -95,13 +95,14 @@
group,
version,
license,
- importPackages,
+ import_packages,
exportPackages,
includeResources,
webContext,
dynamicimportPackages,
classesPath,
]
+
ctx.actions.run(
inputs = inputDependencies,
outputs = [ctx.outputs.osgi_jar],
@@ -116,6 +117,7 @@
"version": attr.string(),
"package_name_root": attr.string(),
"source": attr.label(),
+ "import_packages": attr.string(),
"_bnd_exe": attr.label(
executable = True,
cfg = "host",
@@ -130,8 +132,8 @@
implementation = _bnd_impl,
)
-def wrapped_osgi_jar(name, jar, deps, version = ONOS_VERSION, package_name_root = "org.onosproject", visibility = ["//visibility:private"]):
- _bnd(name = name, source = jar, deps = deps, version = version, package_name_root = package_name_root, visibility = visibility)
+def wrapped_osgi_jar(name, jar, deps, version = ONOS_VERSION, package_name_root = "org.onosproject", import_packages = "*", visibility = ["//visibility:private"]):
+ _bnd(name = name, source = jar, deps = deps, version = version, package_name_root = package_name_root, visibility = visibility, import_packages = import_packages)
def osgi_jar_with_tests(
name = None,
@@ -145,7 +147,9 @@
exclude_tests = None,
test_resources = None,
visibility = ["//visibility:public"],
- version = ONOS_VERSION):
+ version = ONOS_VERSION,
+ import_packages = None,
+ ):
if name == None:
name = "onos-" + native.package_name().replace("/", "-")
if srcs == None:
@@ -162,6 +166,8 @@
deps = COMPILE
if test_deps == None:
test_deps = TEST
+ if import_packages == None:
+ import_packages = "*"
tests_name = name + "-tests"
tests_jar_deps = list(depset(deps + test_deps)) + [name]
all_test_deps = tests_jar_deps + [tests_name]
@@ -174,6 +180,7 @@
version = version,
package_name_root = package_name_root,
visibility = visibility,
+ import_packages = import_packages,
)
if test_srcs != []:
native.java_library(
@@ -194,12 +201,20 @@
def osgi_jar(
name = None,
deps = None,
+ import_packages = None,
package_name_root = "org.onosproject",
srcs = None,
resources_root = None,
resources = None,
visibility = ["//visibility:public"],
- version = ONOS_VERSION):
+ version = ONOS_VERSION,
+ # TODO - implement these for swagger and web.xml
+ web_context = "",
+ api_title = "",
+ api_version = "",
+ api_description = "",
+ api_package = "",
+ ):
if srcs == None:
srcs = _all_java_sources()
if deps == None:
@@ -218,4 +233,5 @@
test_resources = [],
visibility = visibility,
version = version,
+ import_packages = import_packages,
)