diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-12-02 19:37:31 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-12-02 19:37:31 +0100 |
commit | 4c5294210a19e79d759b8f0ed7dcef9aafa4059f (patch) | |
tree | e0f069f75a505f1844b59741f8338f5b75a79b0c /plugin.go | |
parent | e180db41f514e3d769f3fa4af436d6a580487c2b (diff) |
make auto plugin building work in dev builds
Diffstat (limited to 'plugin.go')
-rw-r--r-- | plugin.go | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -16,6 +16,14 @@ func BuildPlugin() error { return err } + if version == "(devel)" { + return buildPluginDev(version) + } + + return buildPlugin(version) +} + +func buildPlugin(version string) error { pathVer := "github.com/HimbeerserverDE/mt-multiserver-proxy@" + version if err := goCmd("get", pathVer); err != nil { @@ -33,6 +41,29 @@ func BuildPlugin() error { return nil } +func buildPluginDev(version string) error { + replace := "-replace=github.com/HimbeerserverDE/mt-multiserver-proxy=" + Path() + const dropReplace = "-dropreplace=github.com/HimbeerserverDE/mt-multiserver-proxy" + + if err := goCmd("mod", "edit", replace); err != nil { + return err + } + + if err := goCmd("mod", "tidy"); err != nil { + return err + } + + if err := goCmd("build", "-buildmode=plugin"); err != nil { + return err + } + + if err := goCmd("mod", "edit", dropReplace); err != nil { + return err + } + + return nil +} + func loadPlugins() { pluginsOnce.Do(openPlugins) } |