Skip to content

Commit

Permalink
Add --version flag
Browse files Browse the repository at this point in the history
  • Loading branch information
adamkpickering committed Mar 4, 2023
1 parent 90cb0e3 commit debc303
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 7 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@

# JSON files (decks are .json files, and we want to create test decks)
*.json

dist/
45 changes: 45 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
# you may remove this if you don't need go generate
- go generate ./...
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin

archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
# use zip for windows archives
format_overrides:
- goos: windows
format: zip
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'

# The lines beneath this are called `modelines`. See `:help modeline`
# Feel free to remove those if you don't want/use them.
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
17 changes: 10 additions & 7 deletions cmd/root.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright © 2021 ADAM PICKERING
ermission is hereby granted, free of charge, to any person obtaining a copy
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
Expand Down Expand Up @@ -39,16 +39,19 @@ It schedules cards according to the principle of spaced repetition
so that you learn most efficiently.`,
}

// Execute adds all child commands to the root command and sets flags appropriately.
// This is called by main.main(). It only needs to happen once to the rootCmd.
func Execute() {
cobra.CheckErr(rootCmd.Execute())
}

func init() {
localDeckDirectory, err := os.Getwd()
if err != nil {
panic(fmt.Errorf("failed to get working directory: %w", err))
}
deckDirectory = localDeckDirectory
}

func Execute() {
cobra.CheckErr(rootCmd.Execute())
}

func SetVersionInfo(version string) {
rootCmd.Version = version
rootCmd.SetVersionTemplate("{{ .Version }}\n")
}
3 changes: 3 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ package main

import "github.com/adamkpickering/clsr/cmd"

var version = "development"

func main() {
cmd.SetVersionInfo(version)
cmd.Execute()
}

0 comments on commit debc303

Please sign in to comment.