AJ ONeal
před 5 roky
12 změnil soubory, kde provedl 85 přidání a 8 odebrání
@ -0,0 +1,24 @@ |
|||
# Example |
|||
|
|||
Prints the version or a nice message |
|||
|
|||
# Doesn't have a separate tools package |
|||
|
|||
This is just like `examples/sub-package` except that its `//go:generate` is in `main.go` |
|||
and it outputs `./version/zversion.go` instead of `xversion.go`. |
|||
|
|||
See `examples/basic` for more details. |
|||
|
|||
# Demo |
|||
|
|||
```bash |
|||
go mod tidy |
|||
go mod vendor |
|||
``` |
|||
|
|||
```bash |
|||
go generate -mod=vendor ./... |
|||
go build -mod=vendor -o hello *.go |
|||
./hello |
|||
./hello --version |
|||
``` |
@ -0,0 +1,5 @@ |
|||
module example.com/hello |
|||
|
|||
go 1.12 |
|||
|
|||
require git.rootprojects.org/root/go-gitver v1.1.0 |
@ -0,0 +1,24 @@ |
|||
//go:generate go run -mod=vendor git.rootprojects.org/root/go-gitver --package version --outfile ./version/zversion.go
|
|||
|
|||
package main |
|||
|
|||
import ( |
|||
"flag" |
|||
"fmt" |
|||
|
|||
"example.com/hello/version" |
|||
) |
|||
|
|||
func main() { |
|||
showVersion := flag.Bool("version", false, "Print version and exit") |
|||
flag.Parse() |
|||
|
|||
if *showVersion { |
|||
fmt.Println(version.GitRev) |
|||
fmt.Println(version.GitVersion) |
|||
fmt.Println(version.GitTimestamp) |
|||
return |
|||
} |
|||
|
|||
fmt.Println("Hello, World!") |
|||
} |
@ -0,0 +1,8 @@ |
|||
// +build tools
|
|||
|
|||
// This is a dummy package for build tooling
|
|||
package tools |
|||
|
|||
import ( |
|||
_ "git.rootprojects.org/root/go-gitver" |
|||
) |
@ -0,0 +1,7 @@ |
|||
package version |
|||
|
|||
var ( |
|||
GitRev = "0000000" |
|||
GitVersion = "v0.0.0-pre0+0000000" |
|||
GitTimestamp = "0000-00-00T00:00:00+0000" |
|||
) |
Načítá se…
Odkázat v novém úkolu