Once the version command is fully generic, it can be reused in other projects/apps, as `build` has been in PRM. ## Acceptance Criteria - [ ] Add a `VersionCommand` struct to the `cmd/version/version.go` which has the `version`, `buildDate`, `commit`, `appName`, and `appSourceUrl` properties. - [ ] Add a `VersionCommandI` interface which must implement the `CreateVersionCommand()` and `Format()` functions - [ ] Modify `VersionCommand()` to use the `VersionCommand` struct instead of parameters - [ ] Modify the `Format()` function to use the `VersionCommand` struct instead of parameters and to not hard-code the application name - [ ] Modify the `changelogURL()` private function to use the `VersionCommand` struct instead of parameters and to not hard-code the GitHub path
Once the version command is fully generic, it can be reused in other projects/apps, as
buildhas been in PRM.Acceptance Criteria
VersionCommandstruct to thecmd/version/version.gowhich has theversion,buildDate,commit,appName, andappSourceUrlproperties.VersionCommandIinterface which must implement theCreateVersionCommand()andFormat()functionsVersionCommand()to use theVersionCommandstruct instead of parametersFormat()function to use theVersionCommandstruct instead of parameters and to not hard-code the application namechangelogURL()private function to use theVersionCommandstruct instead of parameters and to not hard-code the GitHub path