diff options
author | Eric Hagman <[email protected]> | 2020-10-23 03:03:41 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2020-10-23 09:03:41 +0200 |
commit | f465c5c3079261eb7fa513e2d2793851b9c52b83 (patch) | |
tree | 9d39a3601ad2563d939e6b0e53eb24553cfb5077 | |
parent | 3400aff2588cbf9dd4629c05537d16b019d0fdf5 (diff) | |
download | hugo-f465c5c3079261eb7fa513e2d2793851b9c52b83.tar.gz hugo-f465c5c3079261eb7fa513e2d2793851b9c52b83.zip |
build: Allow optional "nodeploy" tag to exclude deploy command from bin
Fixes #7826
-rwxr-xr-x | Dockerfile | 2 | ||||
-rw-r--r-- | commands/deploy.go | 2 | ||||
-rw-r--r-- | commands/nodeploy.go | 49 | ||||
-rw-r--r-- | deploy/cloudfront.go | 2 | ||||
-rw-r--r-- | deploy/deploy.go | 2 | ||||
-rw-r--r-- | deploy/deployConfig.go | 2 | ||||
-rw-r--r-- | deploy/deployConfig_test.go | 2 | ||||
-rw-r--r-- | deploy/deploy_azure.go | 2 | ||||
-rw-r--r-- | deploy/deploy_test.go | 2 | ||||
-rw-r--r-- | deploy/google.go | 2 | ||||
-rw-r--r-- | magefile.go | 1 |
11 files changed, 66 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile index 528c12e3b..75ed38969 100755 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM golang:1.15-alpine AS build -# Optionally set HUGO_BUILD_TAGS to "extended" when building like so: +# Optionally set HUGO_BUILD_TAGS to "extended" or "nodeploy" when building like so: # docker build --build-arg HUGO_BUILD_TAGS=extended . ARG HUGO_BUILD_TAGS diff --git a/commands/deploy.go b/commands/deploy.go index 7133f9a0e..2e1557609 100644 --- a/commands/deploy.go +++ b/commands/deploy.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package commands import ( diff --git a/commands/nodeploy.go b/commands/nodeploy.go new file mode 100644 index 000000000..146a61f17 --- /dev/null +++ b/commands/nodeploy.go @@ -0,0 +1,49 @@ +// Copyright 2019 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. + +// +build nodeploy + +package commands + +import ( + "errors" + "github.com/spf13/cobra" +) + +var _ cmder = (*deployCmd)(nil) + +// deployCmd supports deploying sites to Cloud providers. +type deployCmd struct { + *baseBuilderCmd +} + +func (b *commandsBuilder) newDeployCmd() *deployCmd { + cc := &deployCmd{} + + cmd := &cobra.Command{ + Use: "deploy", + Short: "Deploy your site to a Cloud provider.", + Long: `Deploy your site to a Cloud provider. + +See https://gohugo.io/hosting-and-deployment/hugo-deploy/ for detailed +documentation. +`, + RunE: func(cmd *cobra.Command, args []string) error { + return errors.New("build without HUGO_BUILD_TAGS=nodeploy to use this command") + }, + } + + cc.baseBuilderCmd = b.newBuilderBasicCmd(cmd) + + return cc +} diff --git a/deploy/cloudfront.go b/deploy/cloudfront.go index dbdf9baf4..5e9a7a409 100644 --- a/deploy/cloudfront.go +++ b/deploy/cloudfront.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/deploy/deploy.go b/deploy/deploy.go index f6b5b5785..aac0bf354 100644 --- a/deploy/deploy.go +++ b/deploy/deploy.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/deploy/deployConfig.go b/deploy/deployConfig.go index cc2b15280..d4f78011e 100644 --- a/deploy/deployConfig.go +++ b/deploy/deployConfig.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/deploy/deployConfig_test.go b/deploy/deployConfig_test.go index c385510fe..413b1211b 100644 --- a/deploy/deployConfig_test.go +++ b/deploy/deployConfig_test.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/deploy/deploy_azure.go b/deploy/deploy_azure.go index 6251429ff..77bbf5b3d 100644 --- a/deploy/deploy_azure.go +++ b/deploy/deploy_azure.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// +build !solaris +// +build !solaris,!nodeploy package deploy diff --git a/deploy/deploy_test.go b/deploy/deploy_test.go index 0ae10b539..987c472ca 100644 --- a/deploy/deploy_test.go +++ b/deploy/deploy_test.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/deploy/google.go b/deploy/google.go index be3ce52f0..9eae10da5 100644 --- a/deploy/google.go +++ b/deploy/google.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// +build !nodeploy + package deploy import ( diff --git a/magefile.go b/magefile.go index 89b7c895d..02e49b66e 100644 --- a/magefile.go +++ b/magefile.go @@ -354,6 +354,7 @@ func buildFlags() []string { func buildTags() string { // To build the extended Hugo SCSS/SASS enabled version, build with // HUGO_BUILD_TAGS=extended mage install etc. + // To build without `hugo deploy` for smaller binary, use HUGO_BUILD_TAGS=nodeploy if envtags := os.Getenv("HUGO_BUILD_TAGS"); envtags != "" { return envtags } |