| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
- // SPDX-License-Identifier: Apache-2.0
- package version // import "miniflux.app/v2/internal/version"
- import (
- "runtime/debug"
- )
- // Variables populated at build time when using LD_FLAGS.
- var (
- Version = ""
- Commit = ""
- BuildDate = ""
- )
- func getCommit() string {
- if info, ok := debug.ReadBuildInfo(); ok {
- for _, setting := range info.Settings {
- if setting.Key == "vcs.revision" {
- if len(setting.Value) >= 8 {
- return setting.Value[:8]
- }
- return setting.Value
- }
- }
- }
- return "Unknown (built outside VCS)"
- }
- func getBuildDate() string {
- if info, ok := debug.ReadBuildInfo(); ok {
- for _, setting := range info.Settings {
- if setting.Key == "vcs.time" {
- return setting.Value
- }
- }
- }
- return "Unknown (built outside VCS)"
- }
- // Populate build information from VCS metadata if LDFLAGS are not set.
- // Falls back to values from the Go module's build info when available.
- func init() {
- if Version == "" {
- // Some Miniflux clients expect a specific version format.
- // For example, Flux News converts the string version to an integer.
- Version = "2.2.x-dev"
- }
- if Commit == "" {
- Commit = getCommit()
- }
- if BuildDate == "" {
- BuildDate = getBuildDate()
- }
- }
|