diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 0000000..5dd35d8 --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,49 @@ +/* +Copyright © 2022 Joel D. Elkins + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ +package cmd + +import ( + _ "embed" + "strings" + + "github.com/spf13/cobra" +) + +// versionCmd represents the version command +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Show version info", + Long: `Output the ccl binary's version`, + Run: func(cmd *cobra.Command, _ []string) { + cmd.Println("ccl version", Version) + }, +} + +var ( + //go:embed version.txt + version string + Version string = strings.TrimSpace(version) +) + +func init() { + rootCmd.AddCommand(versionCmd) +} diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..6187f69 --- /dev/null +++ b/release.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +vers="$1" +if [[ $vers = v*.*.* ]]; then + echo $vers >cmd/version.txt + git add cmd/version.txt + git commit -m "Release version $vers" + git tag $vers +else + echo "bad version format" + exit 1 +fi