summaryrefslogtreecommitdiffhomepage
path: root/tools/go_mod.sh
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2020-02-11 16:01:42 -0800
committerAdin Scannell <ascannell@google.com>2020-02-28 10:21:17 -0800
commite5d9a4010bdbea10320348b022ee5b761c1eba07 (patch)
tree924629f0f7d65e31c8f2e82700bbd758c1d88fb9 /tools/go_mod.sh
parent0f8a9e362337ee684042331c5bf24a3cb43d6fc4 (diff)
Add ability to execute go.mod in gopath context.
Diffstat (limited to 'tools/go_mod.sh')
-rwxr-xr-xtools/go_mod.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/go_mod.sh b/tools/go_mod.sh
new file mode 100755
index 000000000..84b779d6d
--- /dev/null
+++ b/tools/go_mod.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Copyright 2020 The gVisor Authors.
+#
+# 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 -eo pipefail
+
+# Build the :gopath target.
+bazel build //:gopath
+declare -r gopathdir="bazel-bin/gopath/src/gvisor.dev/gvisor/"
+
+# Copy go.mod and execute the command.
+cp -a go.mod go.sum "${gopathdir}"
+(cd "${gopathdir}" && go mod "$@")
+cp -a "${gopathdir}/go.mod" "${gopathdir}/go.sum" .
+
+# Cleanup the WORKSPACE file.
+bazel run //:gazelle -- update-repos -from_file=go.mod