From f6e09fde4b5fe32f912dda15ed15e32cae3d1f3a Mon Sep 17 00:00:00 2001 From: Alex Dunmow Date: Wed, 19 Aug 2026 23:22:26 +0800 Subject: [PATCH] feat(plugin): parse admin API compatibility --- plugin/mod.go | 1 + plugin/mod_test.go | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugin/mod.go b/plugin/mod.go index 9a4e035..42da729 100644 --- a/plugin/mod.go +++ b/plugin/mod.go @@ -57,6 +57,7 @@ type ModPlugin struct { type ModCompat struct { BlockCore string `toml:"block_core"` + AdminAPI string `toml:"admin_api"` } type ModRequirement struct { diff --git a/plugin/mod_test.go b/plugin/mod_test.go index 7eaa9ce..ab5ab83 100644 --- a/plugin/mod_test.go +++ b/plugin/mod_test.go @@ -278,6 +278,7 @@ version = "0.2.0" [compatibility] block_core = ">=1.5 <2.0" +admin_api = ">=0.1.2 <0.2.0" [[requires]] name = "@blockninja/smartblock" @@ -291,8 +292,14 @@ version = ">=1.2" if err != nil { t.Fatalf("ParseModFull err: %v", err) } - if m.Compatibility == nil || m.Compatibility.BlockCore != ">=1.5 <2.0" { - t.Errorf("Compat = %+v", m.Compatibility) + if m.Compatibility == nil { + t.Fatal("Compatibility is nil") + } + if m.Compatibility.BlockCore != ">=1.5 <2.0" { + t.Errorf("Compat.BlockCore = %q", m.Compatibility.BlockCore) + } + if m.Compatibility.AdminAPI != ">=0.1.2 <0.2.0" { + t.Errorf("Compat.AdminAPI = %q", m.Compatibility.AdminAPI) } if len(m.Requires) != 2 { t.Fatalf("Requires len = %d, want 2", len(m.Requires))