diff options
-rw-r--r-- | commands/deploy.go | 13 | ||||
-rw-r--r-- | commands/deploy_flags.go | 33 | ||||
-rw-r--r-- | commands/deploy_off.go | 1 | ||||
-rw-r--r-- | main_withdeploy_off_test.go | 29 | ||||
-rw-r--r-- | testscripts/withdeploy-off/deploy_off.txt | 3 |
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 |