diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-10-21 01:49:36 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-10-21 01:49:36 +0900 |
| commit | 766dd89ffa198a315b043230f904636461c41efe (patch) | |
| tree | 163290a35109da0cae36c6453fc4b56529cf4d54 /internal | |
| parent | 699c19e972a3cbcc714403aedffcb5ff74386cfc (diff) | |
internal: clean up build strings
These names are less ambiguous and should be understandable without reading the source code.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/comp.go | 17 | ||||
| -rw-r--r-- | internal/path.go | 20 | ||||
| -rw-r--r-- | internal/path_test.go | 1 | ||||
| -rw-r--r-- | internal/version.go | 19 |
4 files changed, 29 insertions, 28 deletions
diff --git a/internal/comp.go b/internal/comp.go deleted file mode 100644 index 28ee6224..00000000 --- a/internal/comp.go +++ /dev/null @@ -1,17 +0,0 @@ -package internal - -const compPoison = "INVALIDINVALIDINVALIDINVALIDINVALID" - -var ( - version = compPoison -) - -// checkComp validates string value set at compile time. -func checkComp(s string) (string, bool) { return s, s != compPoison && s != "" } - -func Version() string { - if v, ok := checkComp(version); ok { - return v - } - return "impure" -} diff --git a/internal/path.go b/internal/path.go index 888689f5..85e93eaf 100644 --- a/internal/path.go +++ b/internal/path.go @@ -6,20 +6,20 @@ import ( "hakurei.app/container/check" ) -var ( - hmain = compPoison - hsu = compPoison -) +// Absolute paths to the Hakurei installation. +// +// These are set by the linker. +var hakureiPath, hsuPath string -// MustHakureiPath returns the absolute path to hakurei, configured at compile time. -func MustHakureiPath() *check.Absolute { return mustCheckPath(log.Fatal, "hakurei", hmain) } +// MustHakureiPath returns the [check.Absolute] path to hakurei. +func MustHakureiPath() *check.Absolute { return mustCheckPath(log.Fatal, "hakurei", hakureiPath) } -// MustHsuPath returns the absolute path to hakurei, configured at compile time. -func MustHsuPath() *check.Absolute { return mustCheckPath(log.Fatal, "hsu", hsu) } +// MustHsuPath returns the [check.Absolute] to hsu. +func MustHsuPath() *check.Absolute { return mustCheckPath(log.Fatal, "hsu", hsuPath) } -// mustCheckPath checks a pathname against compPoison, then [container.NewAbs], calling fatal if either step fails. +// mustCheckPath checks a pathname to not be zero, then [check.NewAbs], calling fatal if either step fails. func mustCheckPath(fatal func(v ...any), name, pathname string) *check.Absolute { - if pathname != compPoison && pathname != "" { + if pathname != "" { if a, err := check.NewAbs(pathname); err != nil { fatal(err.Error()) return nil // unreachable diff --git a/internal/path_test.go b/internal/path_test.go index 5bcdd851..f670c786 100644 --- a/internal/path_test.go +++ b/internal/path_test.go @@ -15,7 +15,6 @@ func TestMustCheckPath(t *testing.T) { pathname string wantFatal string }{ - {"poison", compPoison, "invalid test path, this program is compiled incorrectly"}, {"zero", "", "invalid test path, this program is compiled incorrectly"}, {"not absolute", "\x00", `path "\x00" is not absolute`}, {"success", "/proc/nonexistent", ""}, diff --git a/internal/version.go b/internal/version.go new file mode 100644 index 00000000..5c671084 --- /dev/null +++ b/internal/version.go @@ -0,0 +1,19 @@ +package internal + +// FallbackVersion is returned when a version string was not set by the linker. +const FallbackVersion = "dirty" + +// buildVersion is the Hakurei tree's version string at build time. +// +// This is set by the linker. +var buildVersion string + +// Version returns the Hakurei tree's version string. +// It is either the value of the constant [FallbackVersion] or, +// when possible, a release tag like "v1.0.0". +func Version() string { + if buildVersion != "" { + return buildVersion + } + return FallbackVersion +} |
