INNER CODE UNIT · Python
main
KSwordDEV/KSword · GhidraRuntimePlugin/package.py:122
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--ghidra-archive', type=Path, required=True)
parser.add_argument('--jdk-archive', type=Path, required=True)
parser.add_argument('--output', type=Path)
parser.add_argument('--zip', type=Path, help='Optional deterministic private/offline plugin ZIP')
parser.add_argument('--inventory-only', action='store_true')
args = parser.parse_args()
description = json.loads((SOURCE / 'runtime-assets.json').read_text(encoding='utf-8'))
archives = (args.ghidra_archive.resolve(), args.jdk_archive.resolve())
profiles = description['assets']
inspections = [inspect_archive(path, profile) for path, profile in zip(archives, profiles)]
if args.inventory_only:
for item in inspections:
print(json.dumps({key: value for key, value in item.items() if key != 'files'}))
print('GHIDRA_PLUGIN_ARCHIVES=PASS')
return
if args.output is None: