diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c31d9a2..732bb731 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/lang/zh-CN/ ## [Unreleased] +### Fixed + +- 修复插件元数据不合法时 metadata.json 为空的问题 + ## [4.0.8] - 2024-11-20 ### Fixed diff --git a/src/providers/docker_test/plugin_test.py b/src/providers/docker_test/plugin_test.py index 8bfd0511..b3fa94d8 100644 --- a/src/providers/docker_test/plugin_test.py +++ b/src/providers/docker_test/plugin_test.py @@ -128,7 +128,10 @@ def default(self, o): "supported_adapters": plugin.metadata.supported_adapters, }} with open("metadata.json", "w", encoding="utf-8") as f: - f.write(f"{{json.dumps(metadata, cls=SetEncoder)}}") + try: + f.write(f"{{json.dumps(metadata, cls=SetEncoder)}}") + except Exception: + f.write("{{}}") if plugin.metadata.config and not issubclass(plugin.metadata.config, BaseModel): logger.error("插件配置项不是 Pydantic BaseModel 的子类")