1010ROOT = Path (__file__ ).resolve ().parent .parent
1111
1212
13- def archive_name (version , target ):
14- return f"diffr -{ version } -{ target } .tar.gz"
13+ def archive_name (version , target , artifact = "diffr" ):
14+ return f"{ artifact } -{ version } -{ target } .tar.gz"
1515
1616
1717def pack (version , target , install , output ):
1818 actual = subprocess .check_output ([install / "bin/diffr" , "--version" ], text = True ).strip ()
1919 if actual != f"diffr { version } " :
2020 raise ValueError (f"Release version mismatch: { actual } " )
21- with tarfile .open (output / archive_name (version , target ), "w:gz" ) as archive :
22- for name in ("diffr" , "diffr-tui" ):
23- archive .add (install / "bin" / name , arcname = name )
24- for name in ("LICENSE" , "NOTICE" , "tui/LICENSE" , "tui/themes/LICENSE" ):
25- archive .add (ROOT / name , arcname = name )
21+ for artifact in ("diffr" , "diffr-cli" ):
22+ with tarfile .open (output / archive_name (version , target , artifact ), "w:gz" ) as archive :
23+ binaries = ("diffr" , "diffr-tui" ) if artifact == "diffr" else ("diffr" ,)
24+ for name in binaries :
25+ archive .add (install / "bin" / name , arcname = name )
26+ for name in ("LICENSE" , "NOTICE" , "tui/LICENSE" , "tui/themes/LICENSE" ):
27+ archive .add (ROOT / name , arcname = name )
2628
2729
2830def formula (version , output ):
2931 checksums = {}
3032 for target in TARGETS :
31- name = archive_name (version , target )
32- checksums [target ] = hashlib .sha256 ((output / name ).read_bytes ()).hexdigest ()
33+ for artifact in ("diffr" , "diffr-cli" ):
34+ name = archive_name (version , target , artifact )
35+ checksums [name ] = hashlib .sha256 ((output / name ).read_bytes ()).hexdigest ()
3336 (output / "SHA256SUMS" ).write_text ("" .join (
34- f"{ checksums [ target ] } { archive_name ( version , target ) } \n " for target in TARGETS
37+ f"{ checksum } { name } \n " for name , checksum in checksums . items ()
3538 ))
3639 url = f"https://github.com/devdotfast/diffr/releases/download/{ version } /diffr-{ version } "
3740 (output / "diffr.rb" ).write_text (f'''class Diffr < Formula
@@ -43,18 +46,18 @@ def formula(version, output):
4346 on_macos do
4447 on_arm do
4548 url "{ url } -aarch64-apple-darwin.tar.gz"
46- sha256 "{ checksums ['aarch64-apple-darwin' ]} "
49+ sha256 "{ checksums [archive_name ( version , 'aarch64-apple-darwin' ) ]} "
4750 end
4851 on_intel do
4952 url "{ url } -x86_64-apple-darwin.tar.gz"
50- sha256 "{ checksums ['x86_64-apple-darwin' ]} "
53+ sha256 "{ checksums [archive_name ( version , 'x86_64-apple-darwin' ) ]} "
5154 end
5255 end
5356
5457 on_linux do
5558 depends_on arch: :x86_64
5659 url "{ url } -x86_64-unknown-linux-gnu.tar.gz"
57- sha256 "{ checksums ['x86_64-unknown-linux-gnu' ]} "
60+ sha256 "{ checksums [archive_name ( version , 'x86_64-unknown-linux-gnu' ) ]} "
5861 end
5962
6063 def install
0 commit comments