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"
