summaryrefslogtreecommitdiff
path: root/vendor/github.com/tetratelabs/wazero/internal/version/version.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/internal/version/version.go')
-rw-r--r--vendor/github.com/tetratelabs/wazero/internal/version/version.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/internal/version/version.go b/vendor/github.com/tetratelabs/wazero/internal/version/version.go
deleted file mode 100644
index 9261df0f7..000000000
--- a/vendor/github.com/tetratelabs/wazero/internal/version/version.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package version
-
-import (
- "runtime/debug"
- "strings"
-)
-
-// Default is the default version value used when none was found.
-const Default = "dev"
-
-// version holds the current version from the go.mod of downstream users or set by ldflag for wazero CLI.
-var version string
-
-// GetWazeroVersion returns the current version of wazero either in the go.mod or set by ldflag for wazero CLI.
-//
-// If this is not CLI, this assumes that downstream users of wazero imports wazero as "github.com/tetratelabs/wazero".
-// To be precise, the returned string matches the require statement there.
-// For example, if the go.mod has "require github.com/tetratelabs/wazero 0.1.2-12314124-abcd",
-// then this returns "0.1.2-12314124-abcd".
-//
-// Note: this is tested in ./testdata/main_test.go with a separate go.mod to pretend as the wazero user.
-func GetWazeroVersion() (ret string) {
- if len(version) != 0 {
- return version
- }
-
- info, ok := debug.ReadBuildInfo()
- if ok {
- for _, dep := range info.Deps {
- // Note: here's the assumption that wazero is imported as github.com/tetratelabs/wazero.
- if strings.Contains(dep.Path, "github.com/tetratelabs/wazero") {
- ret = dep.Version
- }
- }
-
- // In wazero CLI, wazero is a main module, so we have to get the version info from info.Main.
- if versionMissing(ret) {
- ret = info.Main.Version
- }
- }
- if versionMissing(ret) {
- return Default // don't return parens
- }
-
- // Cache for the subsequent calls.
- version = ret
- return ret
-}
-
-func versionMissing(ret string) bool {
- return ret == "" || ret == "(devel)" // pkg.go defaults to (devel)
-}