commands: Start of flag cleaning

See #4598
This commit is contained in:
Bjørn Erik Pedersen 2018-04-09 17:20:18 +02:00
parent e614d8a57c
commit 1157fef859
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
4 changed files with 61 additions and 67 deletions

View file

@ -49,7 +49,6 @@ func init() {
func benchmark(cmd *cobra.Command, args []string) error {
cfgInit := func(c *commandeer) error {
c.Set("renderToMemory", renderToMemory)
return nil
}
c, err := InitializeConfig(false, cfgInit, benchmarkCmd)

View file

@ -143,42 +143,8 @@ func (c *commandeer) loadConfig(running bool) error {
initializeFlags(cmdV, cfg)
}
if baseURL != "" {
cfg.Set("baseURL", baseURL)
}
if len(disableKinds) > 0 {
cfg.Set("disableKinds", disableKinds)
}
cfg.Set("logI18nWarnings", logI18nWarnings)
if theme != "" {
cfg.Set("theme", theme)
}
if themesDir != "" {
cfg.Set("themesDir", themesDir)
}
if destination != "" {
cfg.Set("publishDir", destination)
}
cfg.Set("workingDir", dir)
if contentDir != "" {
cfg.Set("contentDir", contentDir)
}
if layoutDir != "" {
cfg.Set("layoutDir", layoutDir)
}
if cacheDir != "" {
cfg.Set("cacheDir", cacheDir)
}
return nil
}
@ -244,7 +210,7 @@ func (c *commandeer) loadConfig(running bool) error {
return err
}
cacheDir = config.GetString("cacheDir")
cacheDir := config.GetString("cacheDir")
if cacheDir != "" {
if helpers.FilePathSeparator != cacheDir[len(cacheDir)-1:] {
cacheDir = cacheDir + helpers.FilePathSeparator

View file

@ -129,7 +129,6 @@ Complete documentation is available at http://gohugo.io/.`,
if buildWatch {
c.Set("disableLiveReload", true)
}
c.Set("renderToMemory", renderToMemory)
return nil
}
@ -144,31 +143,34 @@ Complete documentation is available at http://gohugo.io/.`,
var hugoCmdV *cobra.Command
type flagVals struct {
}
// Flags that are to be added to commands.
var (
buildWatch bool
logging bool
renderToMemory bool // for benchmark testing
verbose bool
verboseLog bool
debug bool
quiet bool
// TODO(bep) var vs string
buildWatch bool
logging bool
verbose bool
verboseLog bool
debug bool
quiet bool
)
var (
gc bool
baseURL string
cacheDir string
contentDir string
layoutDir string
cfgFile string
destination string
logFile string
theme string
themesDir string
source string
logI18nWarnings bool
disableKinds []string
gc bool
baseURL string
//cacheDir string
//contentDir string
//layoutDir string
cfgFile string
//destination string
logFile string
//theme string
//themesDir string
source string
//logI18nWarnings bool
//disableKinds []string
)
// Execute adds all child commands to the root command HugoCmd and sets flags appropriately.
@ -234,13 +236,13 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
cmd.Flags().BoolP("buildFuture", "F", false, "include content with publishdate in the future")
cmd.Flags().BoolP("buildExpired", "E", false, "include expired content")
cmd.Flags().StringVarP(&source, "source", "s", "", "filesystem path to read files relative from")
cmd.Flags().StringVarP(&contentDir, "contentDir", "c", "", "filesystem path to content directory")
cmd.Flags().StringVarP(&layoutDir, "layoutDir", "l", "", "filesystem path to layout directory")
cmd.Flags().StringVarP(&cacheDir, "cacheDir", "", "", "filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/")
cmd.Flags().StringP("contentDir", "c", "", "filesystem path to content directory")
cmd.Flags().StringP("layoutDir", "l", "", "filesystem path to layout directory")
cmd.Flags().StringP("cacheDir", "", "", "filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/")
cmd.Flags().BoolP("ignoreCache", "", false, "ignores the cache directory")
cmd.Flags().StringVarP(&destination, "destination", "d", "", "filesystem path to write files to")
cmd.Flags().StringVarP(&theme, "theme", "t", "", "theme to use (located in /themes/THEMENAME/)")
cmd.Flags().StringVarP(&themesDir, "themesDir", "", "", "filesystem path to themes directory")
cmd.Flags().StringP("destination", "d", "", "filesystem path to write files to")
cmd.Flags().StringP("theme", "t", "", "theme to use (located in /themes/THEMENAME/)")
cmd.Flags().StringP("themesDir", "", "", "filesystem path to themes directory")
cmd.Flags().Bool("uglyURLs", false, "(deprecated) if true, use /filename.html instead of /filename/")
cmd.Flags().Bool("canonifyURLs", false, "(deprecated) if true, all relative URLs will be canonicalized using baseURL")
cmd.Flags().StringVarP(&baseURL, "baseURL", "b", "", "hostname (and path) to the root, e.g. http://spf13.com/")
@ -255,9 +257,9 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
cmd.Flags().BoolP("forceSyncStatic", "", false, "copy all files when static is changed.")
cmd.Flags().BoolP("noTimes", "", false, "don't sync modification time of files")
cmd.Flags().BoolP("noChmod", "", false, "don't sync permission mode of files")
cmd.Flags().BoolVarP(&logI18nWarnings, "i18n-warnings", "", false, "print missing translations")
cmd.Flags().BoolP("i18n-warnings", "", false, "print missing translations")
cmd.Flags().StringSliceVar(&disableKinds, "disableKinds", []string{}, "disable different kind of pages (home, RSS etc.)")
cmd.Flags().StringSlice("disableKinds", []string{}, "disable different kind of pages (home, RSS etc.)")
// Set bash-completion.
// Each flag must first be defined before using the SetAnnotation() call.
@ -268,7 +270,7 @@ func initHugoBuildCommonFlags(cmd *cobra.Command) {
}
func initBenchmarkBuildingFlags(cmd *cobra.Command) {
cmd.Flags().BoolVar(&renderToMemory, "renderToMemory", false, "render to memory (only useful for benchmark testing)")
cmd.Flags().Bool("renderToMemory", false, "render to memory (only useful for benchmark testing)")
}
// init initializes flags.
@ -349,7 +351,12 @@ func createLogger(cfg config.Provider) (*jww.Notepad, error) {
}
func initializeFlags(cmd *cobra.Command, cfg config.Provider) {
persFlagKeys := []string{"debug", "verbose", "logFile"}
persFlagKeys := []string{
"debug",
"verbose",
"logFile",
// Moved from vars
}
flagKeys := []string{
"cleanDestinationDir",
"buildDrafts",
@ -367,6 +374,27 @@ func initializeFlags(cmd *cobra.Command, cfg config.Provider) {
"noChmod",
"templateMetrics",
"templateMetricsHints",
// Moved from vars.
"baseURL ",
"buildWatch",
"cacheDir",
"cfgFile",
"contentDir",
"debug",
"destination",
"disableKinds",
"gc",
"layoutDir",
"logFile",
"logI18nWarnings",
"quiet",
"renderToMemory",
"source",
"theme",
"themesDir",
"verbose",
"verboseLog",
}
for _, key := range persFlagKeys {

View file

@ -116,6 +116,7 @@ var serverPorts []int
func server(cmd *cobra.Command, args []string) error {
// If a Destination is provided via flag write to disk
destination, _ := cmd.Flags().GetString("destination")
if destination != "" {
renderToDisk = true
}