diff --git a/Dockerfile b/Dockerfile index 528c12e3..75ed3896 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 7133f9a0..2e155760 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 00000000..146a61f1 --- /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 dbdf9baf..5e9a7a40 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 f6b5b578..aac0bf35 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 cc2b1528..d4f78011 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 c385510f..413b1211 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 6251429f..77bbf5b3 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 0ae10b53..987c472c 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 be3ce52f..9eae10da 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 89b7c895..02e49b66 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 }