Support Required Args
Problem
In bbctl we are manually making args required, usually like this:
repoPath := viper.GetString("big-bang-repo")
if repoPath == "" {
factory.GetLoggingClient().Error("Big bang repository location not defined (\"big-bang-repo\")")
}
This is very redundant and fragile and should be consolidated as mentioned in this thread.
Proposal
We should implement another client in the factory that provides func (*ArgClient) GetStringArg(name string, required bool) (string, error)
in addition to a similar receiver function for each type we might need, e.g. bool, int, float, etc.