Files
atomctl/templates/project/pkg/utils/build_info.go.tpl

44 lines
1.1 KiB
Smarty

package utils
import "fmt"
// 构建信息变量,通过 ldflags 在构建时注入
var (
// Version 应用版本信息
Version string
// BuildAt 构建时间
BuildAt string
// GitHash Git 提交哈希
GitHash string
)
// GetBuildInfo 获取构建信息
func GetBuildInfo() map[string]string {
return map[string]string{
"version": Version,
"buildAt": BuildAt,
"gitHash": GitHash,
}
}
// PrintBuildInfo 打印构建信息
func PrintBuildInfo(appName string) {
buildInfo := GetBuildInfo()
println("========================================")
printf("🚀 %s\n", appName)
println("========================================")
printf("📋 Version: %s\n", buildInfo["version"])
printf("🕐 Build Time: %s\n", buildInfo["buildAt"])
printf("🔗 Git Hash: %s\n", buildInfo["gitHash"])
println("========================================")
println("🌟 Application is starting...")
println()
}
// 为了避免导入 fmt 包,我们使用内置的 print 和 printf 函数
func printf(format string, args ...interface{}) {
print(fmt.Sprintf(format, args...))
}