@@ -110,7 +110,7 @@ def generate(version: str) -> dict:
110110 ],
111111 "patches" : [
112112 {
113- "type" : "generated " ,
113+ "type" : "unofficial " ,
114114 "diff" : {
115115 "text" : {
116116 # raqm-version.h.in → raqm-version.h:
@@ -493,25 +493,43 @@ def generate(version: str) -> dict:
493493 "metadata" : {
494494 "timestamp" : now ,
495495 "lifecycles" : [{"phase" : "build" }],
496- "tools" : [
497- {
498- "type" : "application" ,
499- "name" : "generate-sbom.py" ,
500- "vendor" : "Pillow" ,
501- }
502- ],
496+ "tools" : {
497+ "components" : [
498+ {
499+ "type" : "application" ,
500+ "name" : "generate-sbom.py" ,
501+ "group" : "Pillow"
502+ }
503+ ]
504+ },
503505 "component" : metadata_component ,
504506 },
505507 "components" : ext_components + vendored_components + native_deps ,
506508 "dependencies" : dependencies ,
507509 }
508510
509511
510- if __name__ == "__main__" :
512+ def main () -> None :
511513 version = get_version ()
512- output = (
513- Path (sys .argv [1 ]) if len (sys .argv ) > 1 else Path (f"pillow-{ version } .cdx.json" )
514+
515+ parser = argparse .ArgumentParser (
516+ description = __doc__ , formatter_class = argparse .ArgumentDefaultsHelpFormatter
517+ )
518+ parser .add_argument (
519+ "output" ,
520+ nargs = "?" ,
521+ type = Path ,
522+ default = Path (f"pillow-{ version } .cdx.json" ),
523+ help = "output file" ,
514524 )
525+ args = parser .parse_args ()
526+
515527 sbom = generate (version )
516- output .write_text (json .dumps (sbom , indent = 2 ) + "\n " , encoding = "utf-8" )
517- print (f"Wrote { output } (Pillow { version } , { len (sbom ['components' ])} components)" )
528+ args .output .write_text (json .dumps (sbom , indent = 2 ) + "\n " , encoding = "utf-8" )
529+ print (
530+ f"Wrote { args .output } (Pillow { version } , { len (sbom ['components' ])} components)"
531+ )
532+
533+
534+ if __name__ == "__main__" :
535+ main ()
0 commit comments