File: //opt/golang/1.22.0/src/cmd/go/testdata/script/work_vendor_main_module_replaced.txt
# This is a test that if one of the main modules replaces the other
# the vendor consistency checks still pass. The replacement is ignored
# because it is of a main module, but it is still recorded in
# vendor/modules.txt.
go work vendor
go list all # make sure the consistency checks pass
! stderr .
# Removing the replace causes consistency checks to fail
cp a_go_mod_no_replace a/go.mod
! go list all # consistency checks fail
stderr 'example.com/[email protected]: is marked as replaced in vendor/modules.txt, but not replaced in the workspace'
-- a_go_mod_no_replace --
module example.com/a
go 1.21
require example.com/b v0.0.0
-- go.work --
go 1.21
use (
a
b
)
-- a/go.mod --
module example.com/a
go 1.21
require example.com/b v0.0.0
replace example.com/b => ../b
-- a/a.go --
package a
import _ "example.com/b"
-- b/go.mod --
module example.com/b
go 1.21
-- b/b.go --
package b