@@ -330,9 +330,7 @@ def add_wheelfile(self):
330330 Wheel-Version: 1.0
331331Generator: bazel-wheelmaker 1.0
332332Root-Is-Purelib: {}
333- """ .format (
334- "true" if self ._platform == "any" else "false"
335- )
333+ """ .format ("true" if self ._platform == "any" else "false" )
336334 for tag in self .disttags ():
337335 wheel_contents += "Tag: %s\n " % tag
338336 self ._whlfile .add_string (self .distinfo_path ("WHEEL" ), wheel_contents )
@@ -365,6 +363,32 @@ def get_files_to_package(input_files):
365363 return files
366364
367365
366+ def get_new_requirement_line (reqs_text : str , extra : str ) -> str :
367+ """Formats a requirement text into a Requires-Dist metadata line."""
368+ from packaging .requirements import Requirement
369+
370+ req = Requirement (reqs_text .strip ())
371+ req_extra_deps = f"[{ ',' .join (req .extras )} ]" if req .extras else ""
372+
373+ # Handle URL requirements (PEP 508)
374+ if req .url :
375+ req_spec = f" @ { req .url } "
376+ else :
377+ req_spec = str (req .specifier )
378+
379+ base = f"Requires-Dist: { req .name } { req_extra_deps } { req_spec } "
380+
381+ if req .marker :
382+ if extra :
383+ return f"{ base } ; ({ req .marker } ) and { extra } "
384+ else :
385+ return f"{ base } ; { req .marker } "
386+ elif extra :
387+ return f"{ base } ; { extra } "
388+ else :
389+ return base
390+
391+
368392def resolve_argument_stamp (
369393 argument : str , volatile_status_stamp : Path , stable_status_stamp : Path
370394) -> str :
@@ -430,7 +454,7 @@ def parse_args() -> argparse.Namespace:
430454 output_group .add_argument (
431455 "--name_file" ,
432456 type = Path ,
433- help = "A file where the canonical name of the " " wheel will be written" ,
457+ help = "A file where the canonical name of the wheel will be written" ,
434458 )
435459
436460 output_group .add_argument (
@@ -578,19 +602,6 @@ def main() -> None:
578602 # Search for any `Requires-Dist` entries that refer to other files and
579603 # expand them.
580604
581- def get_new_requirement_line (reqs_text , extra ):
582- req = Requirement (reqs_text .strip ())
583- req_extra_deps = f"[{ ',' .join (req .extras )} ]" if req .extras else ""
584- if req .marker :
585- if extra :
586- return f"Requires-Dist: { req .name } { req_extra_deps } { req .specifier } ; ({ req .marker } ) and { extra } "
587- else :
588- return f"Requires-Dist: { req .name } { req_extra_deps } { req .specifier } ; { req .marker } "
589- else :
590- return f"Requires-Dist: { req .name } { req_extra_deps } { req .specifier } ; { extra } " .strip (
591- " ;"
592- )
593-
594605 for meta_line in metadata .splitlines ():
595606 if not meta_line .startswith ("Requires-Dist: " ):
596607 continue
0 commit comments