feat: add task review 1.0.0 workspace plugin
This commit is contained in:
1 parent
b780a60e8d
commit
7bcdb2acca
9 files changed
+569
No files matched your search
@@ -0,0 +1,30 @@
|
||||
"""Build the declarative task review plugin without runtime dependencies."""
|
||||
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import zipfile
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--output", type=Path, default=Path("artifacts/task-review"))
|
||||
args = parser.parse_args()
|
||||
package = Path(__file__).resolve().parents[1] / "plugins" / "task-review"
|
||||
manifest = json.loads((package / "plugin.json").read_text(encoding="utf-8"))
|
||||
args.output.mkdir(parents=True, exist_ok=True)
|
||||
target = args.output / f"task-review-{manifest['version']}.zip"
|
||||
with zipfile.ZipFile(target, "w", compression=zipfile.ZIP_DEFLATED) as archive:
|
||||
for name in ("plugin.json", "README.md", "LICENSE", "VERIFICATION.md", "RELEASE.md"):
|
||||
info = zipfile.ZipInfo(name, date_time=(2026, 10, 27, 0, 0, 0))
|
||||
info.compress_type = zipfile.ZIP_DEFLATED
|
||||
info.external_attr = 0o100644 << 16
|
||||
archive.writestr(info, (package / name).read_bytes())
|
||||
digest = hashlib.sha256(target.read_bytes()).hexdigest()
|
||||
(args.output / "SHA256SUMS.txt").write_text(f"{digest} {target.name}\n", encoding="ascii")
|
||||
print(f"{target}\nSHA256 {digest}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in new issue
Block a user