Skip to content

Commit a49b5d0

Browse files
committed
ci: add release workflow
1 parent 11e4be4 commit a49b5d0

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

cmd/sharepoint-client/main.go

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// sharepoint-go/cmd/sharepoint-client/main.go
2+
13
package main
24

35
import (
@@ -10,6 +12,7 @@ import (
1012
"net/http"
1113
"net/url"
1214
"os"
15+
"runtime"
1316
"sort"
1417
"strings"
1518
"time"
@@ -20,8 +23,17 @@ import (
2023
edgeondemand "sharepoint-go/strategies/edgeondemand"
2124
)
2225

23-
// versão interna do binário
24-
const Version = "v1.0.0"
26+
// Nome e versão por omissão (podem ser sobrepostos por ldflags no build)
27+
const appName = "sharepoint-client"
28+
const defaultVersion = "v1.0.0"
29+
30+
// Estes três são **injetados** pelo build (ldflags -X main.buildVersion=... etc.)
31+
// Valores de fallback para execuções locais (go run / go build sem ldflags).
32+
var (
33+
buildVersion = defaultVersion
34+
buildCommit = "dev"
35+
buildDate = ""
36+
)
2537

2638
func main() {
2739
// Logger "limpo": sem timestamps/flags default, e sempre em stderr.
@@ -66,9 +78,19 @@ func main() {
6678

6779
flag.Parse()
6880

69-
// caso --version seja passado, mostramos e saímos logo
81+
// --version: mostra metadados de build em JSON e sai
7082
if *versionFlag {
71-
fmt.Println(Version)
83+
v := map[string]string{
84+
"name": appName,
85+
"version": buildVersion,
86+
"commit": buildCommit,
87+
"date": buildDate,
88+
"go": runtime.Version(),
89+
"os": runtime.GOOS,
90+
"arch": runtime.GOARCH,
91+
}
92+
b, _ := json.MarshalIndent(v, "", " ")
93+
fmt.Println(string(b))
7294
os.Exit(0)
7395
}
7496

0 commit comments

Comments
 (0)