30 lines
863 B
Python
30 lines
863 B
Python
#!/usr/bin/env python3
|
|
|
|
import argparse
|
|
import json
|
|
import shutil
|
|
from pathlib import Path
|
|
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parents[1]
|
|
SOURCE_DIR = REPO_ROOT / "browser" / "extension"
|
|
|
|
|
|
def main() -> int:
|
|
parser = argparse.ArgumentParser(description="Prepare a Firefox extension directory for web-ext.")
|
|
parser.add_argument("output_dir", help="directory to write the prepared extension into")
|
|
args = parser.parse_args()
|
|
|
|
output_dir = Path(args.output_dir).resolve()
|
|
if output_dir.exists():
|
|
shutil.rmtree(output_dir)
|
|
shutil.copytree(SOURCE_DIR, output_dir)
|
|
|
|
manifest = json.loads((output_dir / "manifest.firefox.json").read_text(encoding="utf-8"))
|
|
(output_dir / "manifest.json").write_text(json.dumps(manifest, indent=2) + "\n", encoding="utf-8")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|