Add "go mod vendor" so switching branches in arvbox dev works better
[arvados.git] / tools / arvbox / lib / arvbox / docker / go-setup.sh
index f068ce68422cb974851f9faea4697976d755d16c..03eac65cec5cdbc3bf0defaaaf644b7b312e9399 100644 (file)
@@ -3,14 +3,17 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
-mkdir -p /var/lib/gopath
-cd /var/lib/gopath
+export GOPATH=/var/lib/gopath
+mkdir -p $GOPATH
 
-export GOPATH=$PWD
-mkdir -p "$GOPATH/src/git.curoverse.com"
-ln -sfn "/usr/src/arvados" "$GOPATH/src/git.curoverse.com/arvados.git"
+cd /usr/src/arvados
+if [[ $UID = 0 ]] ; then
+  RUNSU="/usr/local/lib/arvbox/runsu.sh"
+fi
 
-flock /var/lib/gopath/gopath.lock go get -t github.com/kardianos/govendor
-cd "$GOPATH/src/git.curoverse.com/arvados.git"
-flock /var/lib/gopath/gopath.lock go get -v -d ...
-flock /var/lib/gopath/gopath.lock "$GOPATH/bin/govendor" sync
+if [[ ! -f /usr/local/bin/arvados-server ]]; then
+  $RUNSU flock /var/lib/gopath/gopath.lock go mod download
+  $RUNSU flock /var/lib/gopath/gopath.lock go mod vendor
+  $RUNSU flock /var/lib/gopath/gopath.lock go install git.arvados.org/arvados.git/cmd/arvados-server
+  $RUNSU flock /var/lib/gopath/gopath.lock install $GOPATH/bin/arvados-server /usr/local/bin
+fi