aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2024-11-05 09:14:19 +0100
committerBjørn Erik Pedersen <[email protected]>2024-11-05 11:40:42 +0100
commit2b0b3b8584f5b6554f61b15fbe25dc664d9bcc7f (patch)
tree89543ae87d06a7232635ab1c8a0f9abccf2aad21
parent801035bb7a38beae214105e872a4cdc49ac610ce (diff)
downloadhugo-2b0b3b8584f5b6554f61b15fbe25dc664d9bcc7f.tar.gz
hugo-2b0b3b8584f5b6554f61b15fbe25dc664d9bcc7f.zip
commands: Print the "deploy not available" error message even if flags provided
Fixes #13012
-rw-r--r--commands/deploy.go13
-rw-r--r--commands/deploy_flags.go33
-rw-r--r--commands/deploy_off.go1
-rw-r--r--main_withdeploy_off_test.go29
-rw-r--r--testscripts/withdeploy-off/deploy_off.txt3
5 files changed, 67 insertions, 12 deletions
diff --git a/commands/deploy.go b/commands/deploy.go
index f9c22be48..eb419daba 100644
--- a/commands/deploy.go
+++ b/commands/deploy.go
@@ -20,7 +20,6 @@ import (
"context"
"github.com/gohugoio/hugo/deploy"
- "github.com/gohugoio/hugo/deploy/deployconfig"
"github.com/bep/simplecobra"
"github.com/spf13/cobra"
@@ -47,17 +46,7 @@ documentation.
return deployer.Deploy(ctx)
},
withc: func(cmd *cobra.Command, r *rootCommand) {
- cmd.ValidArgsFunction = cobra.NoFileCompletions
- cmd.Flags().String("target", "", "target deployment from deployments section in config file; defaults to the first one")
- _ = cmd.RegisterFlagCompletionFunc("target", cobra.NoFileCompletions)
- cmd.Flags().Bool("confirm", false, "ask for confirmation before making changes to the target")
- cmd.Flags().Bool("dryRun", false, "dry run")
- cmd.Flags().Bool("force", false, "force upload of all files")
- cmd.Flags().Bool("invalidateCDN", deployconfig.DefaultConfig.InvalidateCDN, "invalidate the CDN cache listed in the deployment target")
- cmd.Flags().Int("maxDeletes", deployconfig.DefaultConfig.MaxDeletes, "maximum # of files to delete, or -1 to disable")
- _ = cmd.RegisterFlagCompletionFunc("maxDeletes", cobra.NoFileCompletions)
- cmd.Flags().Int("workers", deployconfig.DefaultConfig.Workers, "number of workers to transfer files. defaults to 10")
- _ = cmd.RegisterFlagCompletionFunc("workers", cobra.NoFileCompletions)
+ applyDeployFlags(cmd, r)
},
}
}
diff --git a/commands/deploy_flags.go b/commands/deploy_flags.go
new file mode 100644
index 000000000..d4326547a
--- /dev/null
+++ b/commands/deploy_flags.go
@@ -0,0 +1,33 @@
+// Copyright 2024 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package commands
+
+import (
+ "github.com/gohugoio/hugo/deploy/deployconfig"
+ "github.com/spf13/cobra"
+)
+
+func applyDeployFlags(cmd *cobra.Command, r *rootCommand) {
+ cmd.ValidArgsFunction = cobra.NoFileCompletions
+ cmd.Flags().String("target", "", "target deployment from deployments section in config file; defaults to the first one")
+ _ = cmd.RegisterFlagCompletionFunc("target", cobra.NoFileCompletions)
+ cmd.Flags().Bool("confirm", false, "ask for confirmation before making changes to the target")
+ cmd.Flags().Bool("dryRun", false, "dry run")
+ cmd.Flags().Bool("force", false, "force upload of all files")
+ cmd.Flags().Bool("invalidateCDN", deployconfig.DefaultConfig.InvalidateCDN, "invalidate the CDN cache listed in the deployment target")
+ cmd.Flags().Int("maxDeletes", deployconfig.DefaultConfig.MaxDeletes, "maximum # of files to delete, or -1 to disable")
+ _ = cmd.RegisterFlagCompletionFunc("maxDeletes", cobra.NoFileCompletions)
+ cmd.Flags().Int("workers", deployconfig.DefaultConfig.Workers, "number of workers to transfer files. defaults to 10")
+ _ = cmd.RegisterFlagCompletionFunc("workers", cobra.NoFileCompletions)
+}
diff --git a/commands/deploy_off.go b/commands/deploy_off.go
index 7eb6429c5..32a08da2e 100644
--- a/commands/deploy_off.go
+++ b/commands/deploy_off.go
@@ -44,6 +44,7 @@ func newDeployCommand() simplecobra.Commander {
return errors.New("deploy not supported in this version of Hugo; install a release with 'withdeploy' in the archive filename or build yourself with the 'withdeploy' build tag. Also see https://github.com/gohugoio/hugo/pull/12995")
},
withc: func(cmd *cobra.Command, r *rootCommand) {
+ applyDeployFlags(cmd, r)
cmd.Hidden = true
},
}
diff --git a/main_withdeploy_off_test.go b/main_withdeploy_off_test.go
new file mode 100644
index 000000000..490ccd693
--- /dev/null
+++ b/main_withdeploy_off_test.go
@@ -0,0 +1,29 @@
+// Copyright 2024 The Hugo Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//go:build !withdeploy
+// +build !withdeploy
+
+package main
+
+import (
+ "testing"
+
+ "github.com/rogpeppe/go-internal/testscript"
+)
+
+func TestWithdeploy(t *testing.T) {
+ p := commonTestScriptsParam
+ p.Dir = "testscripts/withdeploy-off"
+ testscript.Run(t, p)
+}
diff --git a/testscripts/withdeploy-off/deploy_off.txt b/testscripts/withdeploy-off/deploy_off.txt
new file mode 100644
index 000000000..5e6c65d27
--- /dev/null
+++ b/testscripts/withdeploy-off/deploy_off.txt
@@ -0,0 +1,3 @@
+! hugo deploy --force
+# Issue 13012
+stderr 'deploy not supported in this version of Hugo' \ No newline at end of file