41 lines
No EOL
1 KiB
Markdown
41 lines
No EOL
1 KiB
Markdown
### The "Version" package
|
|
|
|
This package provides --version flag feature to your cli.
|
|
It recognize both short and long flags. Version number is
|
|
automatically added from the latest tag in your git repository.
|
|
|
|
-------------
|
|
|
|
### Usage
|
|
1. Download the package by **go get** command:
|
|
```shell
|
|
go get code.foilhatguy.casa/pub/version
|
|
```
|
|
2. Add the package as a tool dependency to your project in
|
|
tools.go:
|
|
```go
|
|
// +build tools
|
|
|
|
package tools
|
|
|
|
import (
|
|
_ "code.foilhatguy.casa/pub/version"
|
|
)
|
|
```
|
|
3. In the main package add a go:generate directive:
|
|
```go
|
|
//go:generate go run code.foilhatguy.casa/pub/version
|
|
```
|
|
4. Run code generator by **go generate** command:
|
|
```shell
|
|
go generate ./...
|
|
```
|
|
The package will detect a version number from the latest git
|
|
tag from your project. Then it will generate a **version.go**
|
|
file as a part of the main package. It will contain a version
|
|
number as a constant and code for --version flag detection.
|
|
|
|
5. Build and run your application with the --version flag.
|
|
```shell
|
|
go run . --version
|
|
``` |