isle/go/cmd/entrypoint/version.go

34 lines
682 B
Go

package main
import (
"fmt"
"os"
"path/filepath"
)
var subCmdVersion = subCmd{
name: "version",
descr: "Dumps version and build info to stdout",
do: func(ctx subCmdCtx) error {
ctx, err := ctx.withParsedFlags(&withParsedFlagsOpts{
noNetwork: true,
})
if err != nil {
return fmt.Errorf("parsing flags: %w", err)
}
versionPath := filepath.Join(getShareDirPath(), "version")
version, err := os.ReadFile(versionPath)
if err != nil {
return fmt.Errorf("reading version info from %q: %w", versionPath, err)
}
if _, err := os.Stdout.Write(version); err != nil {
return fmt.Errorf("writing version info to stdout: %w", err)
}
return nil
},
}