@@ -35,6 +35,9 @@ def patch_json(file, **kwargs):
3535 def update (data ):
3636 data = json .loads (data ) if data else {}
3737 data .update (kwargs )
38+ for k , v in kwargs .items ():
39+ if v is None :
40+ data .pop (k )
3841 return json .dumps (data , indent = 4 ) + "\n "
3942
4043 patch_file (file , update )
@@ -48,8 +51,21 @@ def update(data):
4851 patch_json (entry / "metadata.json" , versions = [v .name for v in versions ])
4952
5053 for version in versions :
51- patch_json (version / "source.json" , patches = {
52- p .name : sha256 (p ) for p in version .joinpath ("patches" ).iterdir ()
53- })
54- patch_file (version / "MODULE.bazel" ,
55- lambda s : re .sub (r'''version\s*=\s*['"].*['"]''' , f'version = "{ version .name } "' , s , 1 ))
54+ patches = version .joinpath ("patches" )
55+ overlay = version .joinpath ("overlay" )
56+ modules = [version / "MODULE.bazel" , overlay / "MODULE.bazel" ]
57+ for module in modules :
58+ if module .is_file ():
59+ patch_file (
60+ module ,
61+ lambda s : re .sub (r'''version\s*=\s*['"].*['"]''' , f'version = "{ version .name } "' , s , 1 ))
62+ patch_json (
63+ version / "source.json" ,
64+ patches = {
65+ p .name : sha256 (p ) for p in patches .iterdir ()
66+ } if patches .is_dir () else None ,
67+ patch_strip = 1 if patches .is_dir () else None ,
68+ overlay = {
69+ o .name : sha256 (o ) for o in overlay .iterdir ()
70+ } if overlay .is_dir () else None ,
71+ )
0 commit comments