env GO111MODULE=on [short] skip # get should add modules needed to build packages, even if those # dependencies are in sources excluded by build tags. # All build tags are considered true except "ignore". go mod init m go get -d . go list -m all stdout 'example.com/version v1.1.0' stdout 'rsc.io/quote v1.5.2' [short] skip # Packages that are only imported in excluded files should not be built. env GOCACHE=$WORK/gocache # Looking for compile commands, so need a clean cache. go get -n -x . stderr 'compile.* -p m ' ! stderr 'compile.* -p example.com/version ' ! stderr 'compile.* -p rsc.io/quote ' -- empty.go -- package m -- excluded.go -- // +build windows,mips package m import _ "example.com/version" -- tools.go -- // +build tools package tools import _ "rsc.io/quote" -- ignore.go -- // +build ignore package ignore import _ "example.com/doesnotexist"