1load("@rules_python//python:py_library.bzl", "py_library")
2load("@rules_python//python:py_test.bzl", "py_test")
3load("@rules_python//python:py_binary.bzl", "py_binary")
4
5package(default_visibility = ["//visibility:private"])
6
7licenses(["notice"])
8
9py_library(
10    name = "flags",
11    srcs = ["__init__.py"],
12    srcs_version = "PY2AND3",
13    visibility = ["//visibility:public"],
14    deps = [
15        ":_argument_parser",
16        ":_defines",
17        ":_exceptions",
18        ":_flag",
19        ":_flagvalues",
20        ":_helpers",
21        ":_validators",
22    ],
23)
24
25py_library(
26    name = "argparse_flags",
27    srcs = ["argparse_flags.py"],
28    srcs_version = "PY2AND3",
29    visibility = ["//visibility:public"],
30    deps = [":flags"],
31)
32
33py_library(
34    name = "_argument_parser",
35    srcs = ["_argument_parser.py"],
36    srcs_version = "PY2AND3",
37    deps = [
38        ":_helpers",
39    ],
40)
41
42py_library(
43    name = "_defines",
44    srcs = ["_defines.py"],
45    srcs_version = "PY2AND3",
46    deps = [
47        ":_argument_parser",
48        ":_exceptions",
49        ":_flag",
50        ":_flagvalues",
51        ":_helpers",
52        ":_validators",
53    ],
54)
55
56py_library(
57    name = "_exceptions",
58    srcs = ["_exceptions.py"],
59    srcs_version = "PY2AND3",
60    deps = [
61        ":_helpers",
62    ],
63)
64
65py_library(
66    name = "_flag",
67    srcs = ["_flag.py"],
68    srcs_version = "PY2AND3",
69    deps = [
70        ":_argument_parser",
71        ":_exceptions",
72        ":_helpers",
73    ],
74)
75
76py_library(
77    name = "_flagvalues",
78    srcs = ["_flagvalues.py"],
79    srcs_version = "PY2AND3",
80    deps = [
81        ":_exceptions",
82        ":_flag",
83        ":_helpers",
84        ":_validators_classes",
85    ],
86)
87
88py_library(
89    name = "_helpers",
90    srcs = ["_helpers.py"],
91    srcs_version = "PY2AND3",
92)
93
94py_library(
95    name = "_validators",
96    srcs = [
97        "_validators.py",
98    ],
99    srcs_version = "PY2AND3",
100    deps = [
101        ":_exceptions",
102        ":_flagvalues",
103        ":_validators_classes",
104    ],
105)
106
107py_library(
108    name = "_validators_classes",
109    srcs = [
110        "_validators_classes.py",
111    ],
112    srcs_version = "PY2AND3",
113    deps = [
114        ":_exceptions",
115    ],
116)
117
118py_test(
119    name = "tests/_argument_parser_test",
120    srcs = ["tests/_argument_parser_test.py"],
121    python_version = "PY3",
122    srcs_version = "PY3",
123    deps = [
124        ":_argument_parser",
125        "//absl/testing:absltest",
126        "//absl/testing:parameterized",
127    ],
128)
129
130py_test(
131    name = "tests/_flag_test",
132    srcs = ["tests/_flag_test.py"],
133    python_version = "PY3",
134    srcs_version = "PY3",
135    deps = [
136        ":_argument_parser",
137        ":_exceptions",
138        ":_flag",
139        "//absl/testing:absltest",
140        "//absl/testing:parameterized",
141    ],
142)
143
144py_test(
145    name = "tests/_flagvalues_test",
146    size = "small",
147    srcs = ["tests/_flagvalues_test.py"],
148    python_version = "PY3",
149    srcs_version = "PY3",
150    deps = [
151        ":_defines",
152        ":_exceptions",
153        ":_flagvalues",
154        ":_helpers",
155        ":_validators",
156        ":tests/module_foo",
157        "//absl/logging",
158        "//absl/testing:absltest",
159        "//absl/testing:parameterized",
160    ],
161)
162
163py_test(
164    name = "tests/_helpers_test",
165    size = "small",
166    srcs = ["tests/_helpers_test.py"],
167    python_version = "PY3",
168    srcs_version = "PY3",
169    deps = [
170        ":_helpers",
171        ":tests/module_bar",
172        ":tests/module_foo",
173        "//absl/testing:absltest",
174    ],
175)
176
177py_test(
178    name = "tests/_validators_test",
179    size = "small",
180    srcs = ["tests/_validators_test.py"],
181    python_version = "PY3",
182    srcs_version = "PY3",
183    deps = [
184        ":_defines",
185        ":_exceptions",
186        ":_flagvalues",
187        ":_validators",
188        "//absl/testing:absltest",
189    ],
190)
191
192py_test(
193    name = "tests/argparse_flags_test",
194    size = "small",
195    srcs = ["tests/argparse_flags_test.py"],
196    data = [":tests/argparse_flags_test_helper"],
197    python_version = "PY3",
198    srcs_version = "PY3",
199    deps = [
200        ":argparse_flags",
201        ":flags",
202        "//absl/logging",
203        "//absl/testing:_bazelize_command",
204        "//absl/testing:absltest",
205        "//absl/testing:parameterized",
206    ],
207)
208
209py_binary(
210    name = "tests/argparse_flags_test_helper",
211    testonly = 1,
212    srcs = ["tests/argparse_flags_test_helper.py"],
213    python_version = "PY3",
214    srcs_version = "PY3",
215    deps = [
216        ":argparse_flags",
217        ":flags",
218        "//absl:app",
219    ],
220)
221
222py_test(
223    name = "tests/flags_formatting_test",
224    size = "small",
225    srcs = ["tests/flags_formatting_test.py"],
226    python_version = "PY3",
227    srcs_version = "PY3",
228    deps = [
229        ":_helpers",
230        ":flags",
231        "//absl/testing:absltest",
232    ],
233)
234
235py_test(
236    name = "tests/flags_helpxml_test",
237    size = "small",
238    srcs = ["tests/flags_helpxml_test.py"],
239    python_version = "PY3",
240    srcs_version = "PY3",
241    deps = [
242        ":_helpers",
243        ":flags",
244        ":tests/module_bar",
245        "//absl/testing:absltest",
246    ],
247)
248
249py_test(
250    name = "tests/flags_numeric_bounds_test",
251    size = "small",
252    srcs = ["tests/flags_numeric_bounds_test.py"],
253    python_version = "PY3",
254    srcs_version = "PY3",
255    deps = [
256        ":_validators",
257        ":flags",
258        "//absl/testing:absltest",
259    ],
260)
261
262py_test(
263    name = "tests/flags_test",
264    size = "small",
265    srcs = ["tests/flags_test.py"],
266    python_version = "PY3",
267    srcs_version = "PY3",
268    deps = [
269        ":_exceptions",
270        ":_helpers",
271        ":flags",
272        ":tests/module_bar",
273        ":tests/module_baz",
274        ":tests/module_foo",
275        "//absl/testing:absltest",
276    ],
277)
278
279py_test(
280    name = "tests/flags_unicode_literals_test",
281    size = "small",
282    srcs = ["tests/flags_unicode_literals_test.py"],
283    python_version = "PY3",
284    srcs_version = "PY3",
285    deps = [
286        ":flags",
287        "//absl/testing:absltest",
288    ],
289)
290
291py_library(
292    name = "tests/module_bar",
293    testonly = 1,
294    srcs = ["tests/module_bar.py"],
295    srcs_version = "PY2AND3",
296    deps = [
297        ":_helpers",
298        ":flags",
299    ],
300)
301
302py_library(
303    name = "tests/module_baz",
304    testonly = 1,
305    srcs = ["tests/module_baz.py"],
306    srcs_version = "PY2AND3",
307    deps = [":flags"],
308)
309
310py_library(
311    name = "tests/module_foo",
312    testonly = 1,
313    srcs = ["tests/module_foo.py"],
314    srcs_version = "PY2AND3",
315    deps = [
316        ":_helpers",
317        ":flags",
318        ":tests/module_bar",
319    ],
320)
321