@@ -7,21 +7,52 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary")
7
7
def gazelle_python_manifest (
8
8
name ,
9
9
requirements ,
10
- pip_deps_repository_name ,
11
10
modules_mapping ,
11
+ pip_repository_name = "" ,
12
+ pip_repository_incremental = False ,
13
+ pip_deps_repository_name = "" ,
12
14
manifest = ":gazelle_python.yaml" ):
13
15
"""A macro for defining the updating and testing targets for the Gazelle manifest file.
14
16
15
17
Args:
16
18
name: the name used as a base for the targets.
17
19
requirements: the target for the requirements.txt file.
18
- pip_deps_repository_name: the name of the pip_install repository target.
20
+ pip_repository_name: the name of the pip_install or pip_repository target.
21
+ pip_repository_incremental: the incremental property of pip_repository.
22
+ pip_deps_repository_name: deprecated - the old pip_install target name.
19
23
modules_mapping: the target for the generated modules_mapping.json file.
20
24
manifest: the target for the Gazelle manifest file.
21
25
"""
26
+ if pip_deps_repository_name != "" :
27
+ # buildifier: disable=print
28
+ print ("DEPRECATED pip_deps_repository_name in //{}:{}. Please use pip_repository_name instead." .format (
29
+ native .package_name (),
30
+ name ,
31
+ ))
32
+ pip_repository_name = pip_deps_repository_name
33
+
34
+ if pip_repository_name == "" :
35
+ # This is a temporary check while pip_deps_repository_name exists as deprecated.
36
+ fail ("pip_repository_name must be set in //{}:{}" .format (native .package_name (), name ))
37
+
22
38
update_target = "{}.update" .format (name )
23
39
update_target_label = "//{}:{}" .format (native .package_name (), update_target )
24
40
41
+ update_args = [
42
+ "--requirements" ,
43
+ "$(rootpath {})" .format (requirements ),
44
+ "--pip-repository-name" ,
45
+ pip_repository_name ,
46
+ "--modules-mapping" ,
47
+ "$(rootpath {})" .format (modules_mapping ),
48
+ "--output" ,
49
+ "$(rootpath {})" .format (manifest ),
50
+ "--update-target" ,
51
+ update_target_label ,
52
+ ]
53
+ if pip_repository_incremental :
54
+ update_args .append ("--pip-repository-incremental" )
55
+
25
56
go_binary (
26
57
name = update_target ,
27
58
embed = ["@rules_python//gazelle/manifest/generate:generate_lib" ],
@@ -30,18 +61,7 @@ def gazelle_python_manifest(
30
61
modules_mapping ,
31
62
requirements ,
32
63
],
33
- args = [
34
- "--requirements" ,
35
- "$(rootpath {})" .format (requirements ),
36
- "--pip-deps-repository-name" ,
37
- pip_deps_repository_name ,
38
- "--modules-mapping" ,
39
- "$(rootpath {})" .format (modules_mapping ),
40
- "--output" ,
41
- "$(rootpath {})" .format (manifest ),
42
- "--update-target" ,
43
- update_target_label ,
44
- ],
64
+ args = update_args ,
45
65
visibility = ["//visibility:private" ],
46
66
tags = ["manual" ],
47
67
)
0 commit comments