AJ ONeal
5 years ago
12 changed files with 85 additions and 8 deletions
@ -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" |
||||
|
) |
Loading…
Reference in new issue