]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
commands: Fail the build when no config file or config dir
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 27 May 2023 14:07:56 +0000 (16:07 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 27 May 2023 14:56:54 +0000 (16:56 +0200)
Fixes #11019

commands/hugobuilder.go
testscripts/commands/hugo__configdir.txt [new file with mode: 0644]
testscripts/commands/hugo__flags.txt
testscripts/commands/hugo__noconfig.txt [new file with mode: 0644]

index fa194e00069fad42727c62a1714054f5cd91e85f..95dbb1ca8980bee425781fd436b41d5efe5e73b5 100644 (file)
@@ -1019,6 +1019,10 @@ func (c *hugoBuilder) loadConfig(cd *simplecobra.Commandeer, running bool) error
                return err
        }
 
+       if len(conf.configs.LoadingInfo.ConfigFiles) == 0 {
+               return errors.New("Unable to locate config file or config directory. Perhaps you need to create a new site.\nRun `hugo help new` for details.")
+       }
+
        c.conf = conf
        if c.onConfigLoaded != nil {
                if err := c.onConfigLoaded(false); err != nil {
diff --git a/testscripts/commands/hugo__configdir.txt b/testscripts/commands/hugo__configdir.txt
new file mode 100644 (file)
index 0000000..4da62ad
--- /dev/null
@@ -0,0 +1,6 @@
+
+hugo
+! stderr .
+
+-- config/_default/hugo.toml --
+baseURL = "https://example.com/"
\ No newline at end of file
index c2ea92c956474cdf62bcf6c96d37095627aec44c..ad4591322aff0bb597b8525efebfce6c108449da 100644 (file)
@@ -11,6 +11,8 @@ grep '<body>Home' newpublic/index.html
 hugo --quiet
 ! stdout .
 
+-- hugo.toml --
+title = "Hugo Test"
 -- myconfig.toml --
 baseURL = "http://example.org/"
 disableKinds = ["RSS", "sitemap", "robotsTXT", "404", "taxonomy", "term"]
diff --git a/testscripts/commands/hugo__noconfig.txt b/testscripts/commands/hugo__noconfig.txt
new file mode 100644 (file)
index 0000000..c3a6f65
--- /dev/null
@@ -0,0 +1,4 @@
+
+! hugo
+
+stderr 'Unable to locate config file or config directory'
\ No newline at end of file