Skip to content

Commit 2e40c8d

Browse files
committed
Read version from go build info
Signed-off-by: James Hamlin <jfhamlin@gmail.com>
1 parent 7276b43 commit 2e40c8d

File tree

10 files changed

+29
-22
lines changed

10 files changed

+29
-22
lines changed

pkg/gen/gljimports/gljimports_darwin_amd64.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_darwin_arm64.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_js_wasm.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_linux_amd64.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_linux_arm64.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_windows_amd64.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gen/gljimports/gljimports_windows_arm.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4004,7 +4004,6 @@ func RegisterImports(_register func(string, interface{})) {
40044004
_register("github.com/glojurelang/glojure/pkg/runtime.NewEnvironment", github_com_glojurelang_glojure_pkg_runtime.NewEnvironment)
40054005
_register("github.com/glojurelang/glojure/pkg/runtime.NewFn", github_com_glojurelang_glojure_pkg_runtime.NewFn)
40064006
_register("github.com/glojurelang/glojure/pkg/runtime.NewGenerator", github_com_glojurelang_glojure_pkg_runtime.NewGenerator)
4007-
_register("github.com/glojurelang/glojure/pkg/runtime.ParseVersion", github_com_glojurelang_glojure_pkg_runtime.ParseVersion)
40084007
_register("github.com/glojurelang/glojure/pkg/runtime.RT", github_com_glojurelang_glojure_pkg_runtime.RT)
40094008
_register("github.com/glojurelang/glojure/pkg/runtime.RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)).Elem())
40104009
_register("github.com/glojurelang/glojure/pkg/runtime.*RTEvalError", reflect.TypeOf((*github_com_glojurelang_glojure_pkg_runtime.RTEvalError)(nil)))
@@ -4022,7 +4021,7 @@ func RegisterImports(_register func(string, interface{})) {
40224021
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolSpliceUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolSpliceUnquote)
40234022
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUnquote", github_com_glojurelang_glojure_pkg_runtime.SymbolUnquote)
40244023
_register("github.com/glojurelang/glojure/pkg/runtime.SymbolUserNamespace", github_com_glojurelang_glojure_pkg_runtime.SymbolUserNamespace)
4025-
_register("github.com/glojurelang/glojure/pkg/runtime.VERSION", github_com_glojurelang_glojure_pkg_runtime.VERSION)
4024+
_register("github.com/glojurelang/glojure/pkg/runtime.Version", github_com_glojurelang_glojure_pkg_runtime.Version)
40264025
_register("github.com/glojurelang/glojure/pkg/runtime.WithEnv", github_com_glojurelang_glojure_pkg_runtime.WithEnv)
40274026
_register("github.com/glojurelang/glojure/pkg/runtime.WithFilename", github_com_glojurelang_glojure_pkg_runtime.WithFilename)
40284027
_register("github.com/glojurelang/glojure/pkg/runtime.WithLoadPath", github_com_glojurelang_glojure_pkg_runtime.WithLoadPath)

pkg/gljmain/gljmain.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Examples:
3434
glj --help # Show this help
3535

3636
For more information, visit: https://github.com/glojurelang/glojure
37-
`, runtime.VERSION)
37+
`, runtime.Version)
3838
}
3939

4040
func Main(args []string) {
@@ -43,7 +43,7 @@ func Main(args []string) {
4343
if len(args) == 0 {
4444
repl.Start()
4545
} else if args[0] == "--version" {
46-
fmt.Printf("glojure v%s\n", runtime.VERSION)
46+
fmt.Printf("glojure v%s\n", runtime.Version)
4747
return
4848
} else if args[0] == "--help" || args[0] == "-h" {
4949
printHelp()

pkg/runtime/envinit.go

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,32 @@ import (
55
"fmt"
66
"io"
77
"os"
8+
"runtime/debug"
89
"strconv"
910
"strings"
1011

1112
"github.com/glojurelang/glojure/pkg/lang"
1213
)
1314

14-
// The current version of Glojure
15-
const VERSION = "0.3.0"
15+
var (
16+
// The current version of Glojure
17+
Version = func() string {
18+
info, ok := debug.ReadBuildInfo()
19+
fmt.Println(info, ok)
20+
if !ok {
21+
return "0.0.0"
22+
}
23+
if info.Main.Version == "" || info.Main.Version == "(devel)" {
24+
return "0.0.0"
25+
}
26+
// Trim any leading "v" from the version string
27+
return strings.TrimPrefix(info.Main.Version, "v")
28+
}()
29+
)
1630

17-
// ParseVersion parses the VERSION string and returns a map with major, minor,
31+
// parseVersion parses the Version string and returns a map with major, minor,
1832
// incremental, and qualifier
19-
func ParseVersion(version string) lang.IPersistentMap {
33+
func parseVersion(version string) lang.IPersistentMap {
2034
parts := strings.Split(version, ".")
2135

2236
major, _ := strconv.Atoi(parts[0])
@@ -129,7 +143,7 @@ func NewEnvironment(opts ...EvalOption) lang.Environment {
129143
core := lang.FindNamespace(lang.NewSymbol("clojure.core"))
130144
versionVar := core.FindInternedVar(lang.NewSymbol("*glojure-version*"))
131145
if versionVar != nil {
132-
versionVar.BindRoot(ParseVersion(VERSION))
146+
versionVar.BindRoot(parseVersion(Version))
133147
}
134148

135149
lang.InternVar(core, lang.NewSymbol("load-file"), func(filename string) any {

pkg/stdlib/clojure/core/loader.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)