2017-10-30 14:17:33 +00:00
|
|
|
#!/bin/bash
|
2017-10-23 20:50:20 +00:00
|
|
|
|
|
|
|
# Copyright 2016 The Kubernetes Authors.
|
|
|
|
#
|
2020-08-04 18:40:05 +00:00
|
|
|
# Modifications Copyright 2020 the Velero contributors.
|
|
|
|
#
|
2017-10-23 20:50:20 +00:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
set -o errexit
|
|
|
|
set -o nounset
|
|
|
|
set -o pipefail
|
|
|
|
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${PKG}" ]]; then
|
2017-10-23 20:50:20 +00:00
|
|
|
echo "PKG must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${BIN}" ]]; then
|
2017-10-23 20:50:20 +00:00
|
|
|
echo "BIN must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${GOOS}" ]]; then
|
2017-10-23 20:50:20 +00:00
|
|
|
echo "GOOS must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${GOARCH}" ]]; then
|
2017-10-23 20:50:20 +00:00
|
|
|
echo "GOARCH must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${VERSION}" ]]; then
|
2017-10-23 20:50:20 +00:00
|
|
|
echo "VERSION must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${GIT_SHA}" ]]; then
|
2020-06-17 14:28:18 +00:00
|
|
|
echo "GIT_SHA must be set"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2020-08-04 18:40:05 +00:00
|
|
|
if [[ -z "${GIT_TREE_STATE}" ]]; then
|
|
|
|
echo "GIT_TREE_STATE must be set"
|
|
|
|
exit 1
|
2017-10-23 20:50:20 +00:00
|
|
|
fi
|
|
|
|
|
Add Tilt configuration to debug using Delve (#3189)
* Add Tilt configuration to debug using Delve
This change adds support to run the Velero process in Tilt using
[Delve](https://github.com/go-delve/delve).
This does not include support for debugging the Velero process in the
restic pods, just in the Velero deployment.
For an optimal debugging experience, this change also introduces a new
flag (`DEBUG`) to the `hack/build.sh` script to enable a "debug" build
of the Velero binary. This flag, if enabled, will build the binary
without optimisations and inlining. Disabling optimisations and inlining
is recommended by Delve.
Two configuration options have been added to the Tilt settings. The
first, `enable_debug`, is to control whether debugging should be
enabled. If enabled, the process will be started by Delve, and the Delve
server port (2345) will be forwarded to the local machine.
The second option, `debug_continue_on_start`, is to control whether the
process should "continue" when started by Delve or should be paused.
By default, debugging is disabled, and if in debug mode, the process
will continue.
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add spaces around keyword args
Starlark prefers spaces around `=` in keyword arguments:
https://docs.bazel.build/versions/master/skylark/bzl-style.html#keyword-arguments
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Remove unnecessary command from Dockerfile
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add note to connect after Tilt is running
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-01-22 02:12:04 +00:00
|
|
|
GCFLAGS=""
|
|
|
|
if [[ ${DEBUG:-} = "1" ]]; then
|
|
|
|
GCFLAGS="all=-N -l"
|
|
|
|
fi
|
|
|
|
|
2020-08-04 18:40:05 +00:00
|
|
|
export CGO_ENABLED=0
|
|
|
|
|
2017-10-23 20:50:20 +00:00
|
|
|
LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION}"
|
|
|
|
LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA}"
|
|
|
|
LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE}"
|
|
|
|
|
2017-10-30 14:17:33 +00:00
|
|
|
if [[ -z "${OUTPUT_DIR:-}" ]]; then
|
|
|
|
OUTPUT_DIR=.
|
|
|
|
fi
|
|
|
|
OUTPUT=${OUTPUT_DIR}/${BIN}
|
2017-10-23 20:50:20 +00:00
|
|
|
if [[ "${GOOS}" = "windows" ]]; then
|
|
|
|
OUTPUT="${OUTPUT}.exe"
|
|
|
|
fi
|
|
|
|
|
2018-04-17 19:03:10 +00:00
|
|
|
go build \
|
2017-10-23 20:50:20 +00:00
|
|
|
-o ${OUTPUT} \
|
Add Tilt configuration to debug using Delve (#3189)
* Add Tilt configuration to debug using Delve
This change adds support to run the Velero process in Tilt using
[Delve](https://github.com/go-delve/delve).
This does not include support for debugging the Velero process in the
restic pods, just in the Velero deployment.
For an optimal debugging experience, this change also introduces a new
flag (`DEBUG`) to the `hack/build.sh` script to enable a "debug" build
of the Velero binary. This flag, if enabled, will build the binary
without optimisations and inlining. Disabling optimisations and inlining
is recommended by Delve.
Two configuration options have been added to the Tilt settings. The
first, `enable_debug`, is to control whether debugging should be
enabled. If enabled, the process will be started by Delve, and the Delve
server port (2345) will be forwarded to the local machine.
The second option, `debug_continue_on_start`, is to control whether the
process should "continue" when started by Delve or should be paused.
By default, debugging is disabled, and if in debug mode, the process
will continue.
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add spaces around keyword args
Starlark prefers spaces around `=` in keyword arguments:
https://docs.bazel.build/versions/master/skylark/bzl-style.html#keyword-arguments
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Remove unnecessary command from Dockerfile
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add note to connect after Tilt is running
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-01-22 02:12:04 +00:00
|
|
|
-gcflags "${GCFLAGS}" \
|
2017-10-23 20:50:20 +00:00
|
|
|
-installsuffix "static" \
|
|
|
|
-ldflags "${LDFLAGS}" \
|
Add Tilt configuration to debug using Delve (#3189)
* Add Tilt configuration to debug using Delve
This change adds support to run the Velero process in Tilt using
[Delve](https://github.com/go-delve/delve).
This does not include support for debugging the Velero process in the
restic pods, just in the Velero deployment.
For an optimal debugging experience, this change also introduces a new
flag (`DEBUG`) to the `hack/build.sh` script to enable a "debug" build
of the Velero binary. This flag, if enabled, will build the binary
without optimisations and inlining. Disabling optimisations and inlining
is recommended by Delve.
Two configuration options have been added to the Tilt settings. The
first, `enable_debug`, is to control whether debugging should be
enabled. If enabled, the process will be started by Delve, and the Delve
server port (2345) will be forwarded to the local machine.
The second option, `debug_continue_on_start`, is to control whether the
process should "continue" when started by Delve or should be paused.
By default, debugging is disabled, and if in debug mode, the process
will continue.
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add spaces around keyword args
Starlark prefers spaces around `=` in keyword arguments:
https://docs.bazel.build/versions/master/skylark/bzl-style.html#keyword-arguments
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Remove unnecessary command from Dockerfile
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
* Add note to connect after Tilt is running
Signed-off-by: Bridget McErlean <bmcerlean@vmware.com>
2021-01-22 02:12:04 +00:00
|
|
|
${PKG}/cmd/${BIN}
|