Merge "playground: Add OverrideCaveatSetsValidator for use by wspr and jni."
diff --git a/client/lib/shell/pg_test_util.sh b/client/lib/shell/pg_test_util.sh
index ddfe837..8b9c4b4 100755
--- a/client/lib/shell/pg_test_util.sh
+++ b/client/lib/shell/pg_test_util.sh
@@ -38,10 +38,10 @@
 
 # Installs various go binaries.
 build_go_binaries() {
+  shell_test::build_go_binary 'v.io/x/ref/services/wspr/wsprd' -a -tags wspr
   shell_test::build_go_binary 'v.io/x/ref/cmd/principal'
   shell_test::build_go_binary 'v.io/x/ref/services/proxy/proxyd'
   shell_test::build_go_binary 'v.io/x/ref/services/mounttable/mounttabled'
-  shell_test::build_go_binary 'v.io/x/ref/services/wspr/wsprd'
   shell_test::build_go_binary 'v.io/x/ref/cmd/vdl'
   shell_test::build_go_binary 'v.io/x/playground/builder'
 }
diff --git a/client/lib/shell/shell_test.sh b/client/lib/shell/shell_test.sh
index d444d68..9d8974e 100755
--- a/client/lib/shell/shell_test.sh
+++ b/client/lib/shell/shell_test.sh
@@ -136,13 +136,13 @@
 shell_test::build_go_binary() {
   pushd "${shell_test_BIN_DIR}" > /dev/null
   local -r PACKAGE="$1"
-  local OUTPUT="${2:-$(basename ${PACKAGE})}"
+  shift
+  local OUTPUT="$(basename ${PACKAGE})"
   if [[ -f "${OUTPUT}" ]]; then
     echo "${shell_test_BIN_DIR}/${OUTPUT}"
     return
   fi
-
-  go build -o "${OUTPUT}" "${PACKAGE}" 2>/dev/null || shell_test::fail "line ${LINENO}: failed to build ${OUTPUT}"
+  go build -o "${OUTPUT}" "$@" "${PACKAGE}" 2>/dev/null || shell_test::fail "line ${LINENO}: failed to build ${OUTPUT}"
   echo "${shell_test_BIN_DIR}/${OUTPUT}"
   popd > /dev/null
 }
diff --git a/go/src/v.io/x/playground/Makefile b/go/src/v.io/x/playground/Makefile
index fb27b6f..80ec7cb 100644
--- a/go/src/v.io/x/playground/Makefile
+++ b/go/src/v.io/x/playground/Makefile
@@ -16,11 +16,11 @@
 # builder-deps target builds the binaries that the builder calls.
 .PHONY: builder-deps
 builder-deps:
+	v23 go install -a -tags wspr v.io/x/ref/services/wspr/wsprd
 	v23 go install v.io/x/ref/cmd/principal
 	v23 go install v.io/x/ref/services/identity/identityd
 	v23 go install v.io/x/ref/services/mounttable/mounttabled
 	v23 go install v.io/x/ref/services/proxy/proxyd
-	v23 go install v.io/x/ref/services/wspr/wsprd
 
 .PHONY: builder
 builder: builder-deps
diff --git a/go/src/v.io/x/playground/playground_v23_test.go b/go/src/v.io/x/playground/playground_v23_test.go
index 3227b32..7b03d13 100644
--- a/go/src/v.io/x/playground/playground_v23_test.go
+++ b/go/src/v.io/x/playground/playground_v23_test.go
@@ -82,10 +82,10 @@
 
 	v23tests.RunRootMT(i, "--v23.tcp.address=127.0.0.1:0")
 
+	i.BuildGoPkg("v.io/x/ref/services/wspr/wsprd", "-a", "-tags", "wspr")
 	i.BuildGoPkg("v.io/x/ref/cmd/principal")
 	i.BuildGoPkg("v.io/x/ref/cmd/vdl")
 	i.BuildGoPkg("v.io/x/ref/services/proxy/proxyd")
-	i.BuildGoPkg("v.io/x/ref/services/wspr/wsprd")
 
 	playgroundPkg := golist(i, "v.io/x/playground")
 	// strip last three directory components, much easier to read in