-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy pathscala_rules.bzl
110 lines (106 loc) · 6.46 KB
/
scala_rules.bzl
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under both the MIT license found in the
# LICENSE-MIT file in the root directory of this source tree and the Apache
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
# of this source tree.
load(":common.bzl", "AbiGenerationMode", "ForkMode", "LogLevel", "SourceAbiVerificationMode", "TestType", "UnusedDependenciesAction", "prelude_rule")
load(":jvm_common.bzl", "jvm_common")
scala_library = prelude_rule(
name = "scala_library",
docs = "",
examples = None,
further = None,
attrs = (
# @unsorted-dict-items
{
"abi_generation_mode": attrs.option(attrs.enum(AbiGenerationMode), default = None),
"annotation_processor_deps": attrs.list(attrs.dep(), default = []),
"annotation_processor_params": attrs.list(attrs.string(), default = []),
"annotation_processors": attrs.list(attrs.string(), default = []),
"contacts": attrs.list(attrs.string(), default = []),
"default_host_platform": attrs.option(attrs.configuration_label(), default = None),
"deps": attrs.list(attrs.dep(), default = []),
"exported_deps": attrs.list(attrs.dep(), default = []),
"exported_provided_deps": attrs.list(attrs.dep(), default = []),
"extra_arguments": attrs.list(attrs.string(), default = []),
"java_version": attrs.option(attrs.string(), default = None),
"labels": attrs.list(attrs.string(), default = []),
"licenses": attrs.list(attrs.source(), default = []),
"manifest_file": attrs.option(attrs.source(), default = None),
"maven_coords": attrs.option(attrs.string(), default = None),
"never_mark_as_unused_dependency": attrs.option(attrs.bool(), default = None),
"on_unused_dependencies": attrs.option(attrs.enum(UnusedDependenciesAction), default = None),
"proguard_config": attrs.option(attrs.source(), default = None),
"provided_deps": attrs.list(attrs.dep(), default = []),
"remove_classes": attrs.list(attrs.regex(), default = []),
"required_for_source_only_abi": attrs.bool(default = False),
"resources": attrs.list(attrs.source(), default = []),
"resources_root": attrs.option(attrs.string(), default = None),
"runtime_deps": attrs.list(attrs.dep(), default = []),
"source": attrs.option(attrs.string(), default = None),
"source_abi_verification_mode": attrs.option(attrs.enum(SourceAbiVerificationMode), default = None),
"source_only_abi_deps": attrs.list(attrs.dep(), default = []),
"srcs": attrs.list(attrs.source(), default = []),
"target": attrs.option(attrs.string(), default = None),
} | jvm_common.plugins() | jvm_common.javac()
),
)
scala_test = prelude_rule(
name = "scala_test",
docs = "",
examples = None,
further = None,
attrs = (
# @unsorted-dict-items
{
"abi_generation_mode": attrs.option(attrs.enum(AbiGenerationMode), default = None),
"annotation_processor_deps": attrs.list(attrs.dep(), default = []),
"annotation_processor_params": attrs.list(attrs.string(), default = []),
"annotation_processors": attrs.list(attrs.string(), default = []),
"contacts": attrs.list(attrs.string(), default = []),
"cxx_library_whitelist": attrs.list(attrs.dep(), default = []),
"default_cxx_platform": attrs.option(attrs.string(), default = None),
"default_host_platform": attrs.option(attrs.configuration_label(), default = None),
"deps": attrs.list(attrs.dep(), default = []),
"deps_query": attrs.option(attrs.query(), default = None),
"env": attrs.dict(key = attrs.string(), value = attrs.arg(), sorted = False, default = {}),
"exported_deps": attrs.list(attrs.dep(), default = []),
"exported_provided_deps": attrs.list(attrs.dep(), default = []),
"extra_arguments": attrs.list(attrs.string(), default = []),
"fork_mode": attrs.enum(ForkMode, default = "none"),
"java_version": attrs.option(attrs.string(), default = None),
"labels": attrs.list(attrs.string(), default = []),
"licenses": attrs.list(attrs.source(), default = []),
"manifest_file": attrs.option(attrs.source(), default = None),
"maven_coords": attrs.option(attrs.string(), default = None),
"never_mark_as_unused_dependency": attrs.option(attrs.bool(), default = None),
"on_unused_dependencies": attrs.option(attrs.enum(UnusedDependenciesAction), default = None),
"proguard_config": attrs.option(attrs.source(), default = None),
"provided_deps": attrs.list(attrs.dep(), default = []),
"remove_classes": attrs.list(attrs.regex(), default = []),
"required_for_source_only_abi": attrs.bool(default = False),
"resources": attrs.list(attrs.source(), default = []),
"resources_root": attrs.option(attrs.string(), default = None),
"run_test_separately": attrs.bool(default = False),
"runtime_deps": attrs.list(attrs.dep(), default = []),
"source": attrs.option(attrs.string(), default = None),
"source_abi_verification_mode": attrs.option(attrs.enum(SourceAbiVerificationMode), default = None),
"source_only_abi_deps": attrs.list(attrs.dep(), default = []),
"srcs": attrs.list(attrs.source(), default = []),
"std_err_log_level": attrs.option(attrs.one_of(attrs.enum(LogLevel), attrs.int()), default = None),
"std_out_log_level": attrs.option(attrs.one_of(attrs.enum(LogLevel), attrs.int()), default = None),
"target": attrs.option(attrs.string(), default = None),
"test_case_timeout_ms": attrs.option(attrs.int(), default = None),
"test_rule_timeout_ms": attrs.option(attrs.int(), default = None),
"test_type": attrs.option(attrs.enum(TestType), default = None),
"use_cxx_libraries": attrs.option(attrs.bool(), default = None),
"use_dependency_order_classpath": attrs.option(attrs.bool(), default = None),
"vm_args": attrs.list(attrs.arg(), default = []),
} | jvm_common.plugins() | jvm_common.javac()
),
)
scala_rules = struct(
scala_library = scala_library,
scala_test = scala_test,
)