forked from bazelbuild/intellij
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_compose_dependencies.bzl
More file actions
37 lines (31 loc) · 1.18 KB
/
build_compose_dependencies.bzl
File metadata and controls
37 lines (31 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Aspects to build and collect project's compose dependencies."""
load("//third_party/bazel_rules/rules_java/java:defs.bzl", "JavaInfo")
ComposeDependenciesInfo = provider(
"The compose dependencies",
fields = {
"render_jars": "a list of render jars generated for project files and external dependencies",
},
)
def _package_compose_dependencies_impl(target, ctx): # @unused
return [OutputGroupInfo(
render_jars = target[ComposeDependenciesInfo].render_jars.to_list(),
)]
package_compose_dependencies = aspect(
implementation = _package_compose_dependencies_impl,
required_aspect_providers = [[ComposeDependenciesInfo]],
)
def _collect_compose_dependencies_impl(target, ctx): # @unused
if JavaInfo not in target:
return [ComposeDependenciesInfo(
render_jars = depset(),
)]
return [
ComposeDependenciesInfo(
render_jars = depset([], transitive = [target[JavaInfo].transitive_runtime_jars]),
),
]
collect_compose_dependencies = aspect(
implementation = _collect_compose_dependencies_impl,
provides = [ComposeDependenciesInfo],
attr_aspects = ["deps", "exports", "_android_sdk"],
)