fix: add root manifest.json to version bump/sync tooling

This commit is contained in:
Research Assistant 2026-05-06 23:03:38 +08:00
parent 6da983a3f9
commit de60db32f3
3 changed files with 19 additions and 7 deletions

View file

@ -1,7 +1,7 @@
{
"id": "paperforge",
"name": "PaperForge",
"version": "1.4.13",
"version": "1.4.15",
"minAppVersion": "1.0.0",
"description": "PaperForge — Zotero literature pipeline. Sync PDFs, run OCR, and read with AI-assisted deep reading.",
"author": "Lin Zhaoxuan",

View file

@ -21,7 +21,8 @@ ROOT = Path(__file__).resolve().parent.parent
FILES_TO_UPDATE = {
"__init__": ROOT / "paperforge" / "__init__.py",
"manifest": ROOT / "paperforge" / "plugin" / "manifest.json",
"plugin_manifest": ROOT / "paperforge" / "plugin" / "manifest.json",
"root_manifest": ROOT / "manifest.json",
"versions": ROOT / "paperforge" / "plugin" / "versions.json",
}

View file

@ -1,4 +1,4 @@
"""Sync plugin manifest.json and versions.json from paperforge.__version__.
"""Sync plugin manifest.json, root manifest.json, and versions.json from paperforge.__version__.
Keeps plugin metadata in sync with the single version source in __init__.py.
"""
@ -6,17 +6,28 @@ import json
from pathlib import Path
from paperforge import __version__
plugin_dir = Path(__file__).resolve().parent.parent / "paperforge" / "plugin"
ROOT = Path(__file__).resolve().parent.parent
plugin_dir = ROOT / "paperforge" / "plugin"
# manifest.json
# plugin/manifest.json
manifest_path = plugin_dir / "manifest.json"
manifest = json.loads(manifest_path.read_text(encoding="utf-8"))
if manifest["version"] != __version__:
manifest["version"] = __version__
manifest_path.write_text(json.dumps(manifest, indent=2, ensure_ascii=False) + "\n", encoding="utf-8")
print(f"manifest.json: {manifest['version']} -> {__version__}")
print(f"plugin/manifest.json: {manifest['version']} -> {__version__}")
else:
print(f"manifest.json: OK (v{__version__})")
print(f"plugin/manifest.json: OK (v{__version__})")
# root manifest.json (Obsidian community plugin registry)
root_manifest_path = ROOT / "manifest.json"
root_manifest = json.loads(root_manifest_path.read_text(encoding="utf-8"))
if root_manifest["version"] != __version__:
root_manifest["version"] = __version__
root_manifest_path.write_text(json.dumps(root_manifest, indent=2, ensure_ascii=False) + "\n", encoding="utf-8")
print(f"manifest.json (root): {root_manifest['version']} -> {__version__}")
else:
print(f"manifest.json (root): OK (v{__version__})")
# versions.json
vers_path = plugin_dir / "versions.json"