1d33874951
Go 1.13 and up enforce import paths to be versioned if a project contains a go.mod and has released v2 or up. The current v2.x branches (and releases) do not yet have a go.mod, and therefore are still allowed to be imported with a non-versioned import path (go modules add a `+incompatible` annotation in that case). However, now that this project has a `go.mod` file, incompatible import paths will not be accepted by go modules, and attempting to use code from this repository will fail. This patch uses `v3` for the import-paths (not `v2`), because changing import paths itself is a breaking change, which means that the next release should increment the "major" version to comply with SemVer (as go modules dictate). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
27 lines
596 B
Go
27 lines
596 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
// FprintVersion outputs the version string to the writer, in the following
|
|
// format, followed by a newline:
|
|
//
|
|
// <cmd> <project> <version>
|
|
//
|
|
// For example, a binary "registry" built from github.com/distribution/distribution
|
|
// with version "v2.0" would print the following:
|
|
//
|
|
// registry github.com/distribution/distribution v2.0
|
|
//
|
|
func FprintVersion(w io.Writer) {
|
|
fmt.Fprintln(w, os.Args[0], Package, Version)
|
|
}
|
|
|
|
// PrintVersion outputs the version information, from Fprint, to stdout.
|
|
func PrintVersion() {
|
|
FprintVersion(os.Stdout)
|
|
}
|