src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

version.go (953B)


      1 package version
      2 
      3 import (
      4 	"fmt"
      5 	"os"
      6 	"path/filepath"
      7 	"runtime"
      8 )
      9 
     10 const Version = "2026.2"
     11 const MachineVersion = "0.8.0"
     12 
     13 // version returns a version descriptor and reports whether the
     14 // version is a known release.
     15 func version(human, machine string) (human_, machine_ string, known bool) {
     16 	if human != "devel" {
     17 		return human, machine, true
     18 	}
     19 	v, ok := buildInfoVersion()
     20 	if ok {
     21 		return v, "", false
     22 	}
     23 	return "devel", "", false
     24 }
     25 
     26 func Print(human, machine string) {
     27 	human, machine, release := version(human, machine)
     28 
     29 	if release {
     30 		fmt.Printf("%s %s (%s)\n", filepath.Base(os.Args[0]), human, machine)
     31 	} else if human == "devel" {
     32 		fmt.Printf("%s (no version)\n", filepath.Base(os.Args[0]))
     33 	} else {
     34 		fmt.Printf("%s (devel, %s)\n", filepath.Base(os.Args[0]), human)
     35 	}
     36 }
     37 
     38 func Verbose(human, machine string) {
     39 	Print(human, machine)
     40 	fmt.Println()
     41 	fmt.Println("Compiled with Go version:", runtime.Version())
     42 	printBuildInfo()
     43 }