env GO111MODULE=on

# Test that go mod edits and related mod flags work.
# Also test that they can use a dummy name that isn't resolvable. golang.org/issue/24100

# go mod init
! go mod init
stderr 'cannot determine module path'
! exists go.mod

go mod init x.x/y/z
stderr 'creating new go.mod: module x.x/y/z'
cmpenv go.mod $WORK/go.mod.init

! go mod init
cmpenv go.mod $WORK/go.mod.init

# go mod edits
go mod edit -droprequire=x.1 -require=x.1@v1.0.0 -require=x.2@v1.1.0 -droprequire=x.2 -exclude='x.1 @ v1.2.0' -exclude=x.1@v1.2.1 -replace=x.1@v1.3.0=y.1@v1.4.0 -replace='x.1@v1.4.0 = ../z' -retract=v1.6.0 -retract=[v1.1.0,v1.2.0] -retract=[v1.3.0,v1.4.0] -retract=v1.0.0
cmpenv go.mod $WORK/go.mod.edit1
go mod edit -droprequire=x.1 -dropexclude=x.1@v1.2.1 -dropreplace=x.1@v1.3.0 -require=x.3@v1.99.0 -dropretract=v1.0.0 -dropretract=[v1.1.0,v1.2.0]
cmpenv go.mod $WORK/go.mod.edit2

# -exclude and -retract reject invalid versions.
! go mod edit -exclude=example.com/m@bad
stderr '^go mod: -exclude=example.com/m@bad: version "bad" invalid: must be of the form v1.2.3$'
! go mod edit -retract=bad
stderr '^go mod: -retract=bad: version "bad" invalid: must be of the form v1.2.3$'

# go mod edit -json
go mod edit -json
cmpenv stdout $WORK/go.mod.json

# go mod edit -json (retractions with rationales)
go mod edit -json $WORK/go.mod.retractrationale
cmp stdout $WORK/go.mod.retractrationale.json

# go mod edit -json (empty mod file)
go mod edit -json $WORK/go.mod.empty
cmp stdout $WORK/go.mod.empty.json

# go mod edit -replace
go mod edit -replace=x.1@v1.3.0=y.1/v2@v2.3.5 -replace=x.1@v1.4.0=y.1/v2@v2.3.5
cmpenv go.mod $WORK/go.mod.edit3
go mod edit -replace=x.1=y.1/v2@v2.3.6
cmpenv go.mod $WORK/go.mod.edit4
go mod edit -dropreplace=x.1
cmpenv go.mod $WORK/go.mod.edit5

# go mod edit -fmt
cp $WORK/go.mod.badfmt go.mod
go mod edit -fmt -print # -print should avoid writing file
cmpenv stdout $WORK/go.mod.goodfmt
cmp go.mod $WORK/go.mod.badfmt
go mod edit -fmt # without -print, should write file (and nothing to stdout)
! stdout .
cmpenv go.mod $WORK/go.mod.goodfmt

# go mod edit -module
cd $WORK/m
go mod init a.a/b/c
go mod edit -module x.x/y/z
cmpenv go.mod go.mod.edit

# golang.org/issue/30513: don't require go-gettable module paths.
cd $WORK/local
go mod init foo
go mod edit -module local-only -require=other-local@v1.0.0 -replace other-local@v1.0.0=./other
cmpenv go.mod go.mod.edit

-- x.go --
package x

-- w/w.go --
package w

-- $WORK/go.mod.init --
module x.x/y/z

go $goversion
-- $WORK/go.mod.edit1 --
module x.x/y/z

go $goversion

require x.1 v1.0.0

exclude (
	x.1 v1.2.0
	x.1 v1.2.1
)

replace (
	x.1 v1.3.0 => y.1 v1.4.0
	x.1 v1.4.0 => ../z
)

retract (
	v1.6.0
	[v1.3.0, v1.4.0]
	[v1.1.0, v1.2.0]
	v1.0.0
)
-- $WORK/go.mod.edit2 --
module x.x/y/z

go $goversion

exclude x.1 v1.2.0

replace x.1 v1.4.0 => ../z

retract (
	v1.6.0
	[v1.3.0, v1.4.0]
)

require x.3 v1.99.0
-- $WORK/go.mod.json --
{
	"Module": {
		"Path": "x.x/y/z"
	},
	"Go": "$goversion",
	"Require": [
		{
			"Path": "x.3",
			"Version": "v1.99.0"
		}
	],
	"Exclude": [
		{
			"Path": "x.1",
			"Version": "v1.2.0"
		}
	],
	"Replace": [
		{
			"Old": {
				"Path": "x.1",
				"Version": "v1.4.0"
			},
			"New": {
				"Path": "../z"
			}
		}
	],
	"Retract": [
		{
			"Low": "v1.6.0",
			"High": "v1.6.0"
		},
		{
			"Low": "v1.3.0",
			"High": "v1.4.0"
		}
	]
}
-- $WORK/go.mod.edit3 --
module x.x/y/z

go $goversion

exclude x.1 v1.2.0

replace (
	x.1 v1.3.0 => y.1/v2 v2.3.5
	x.1 v1.4.0 => y.1/v2 v2.3.5
)

retract (
	v1.6.0
	[v1.3.0, v1.4.0]
)

require x.3 v1.99.0
-- $WORK/go.mod.edit4 --
module x.x/y/z

go $goversion

exclude x.1 v1.2.0

replace x.1 => y.1/v2 v2.3.6

retract (
	v1.6.0
	[v1.3.0, v1.4.0]
)

require x.3 v1.99.0
-- $WORK/go.mod.edit5 --
module x.x/y/z

go $goversion

exclude x.1 v1.2.0

retract (
	v1.6.0
	[v1.3.0, v1.4.0]
)

require x.3 v1.99.0
-- $WORK/local/go.mod.edit --
module local-only

go $goversion

require other-local v1.0.0

replace other-local v1.0.0 => ./other
-- $WORK/go.mod.badfmt --
module     x.x/y/z

go 1.10

exclude x.1     v1.2.0

replace x.1    =>   y.1/v2 v2.3.6

require x.3   v1.99.0

retract [  "v1.8.1" , "v1.8.2" ]
-- $WORK/go.mod.goodfmt --
module x.x/y/z

go 1.10

exclude x.1 v1.2.0

replace x.1 => y.1/v2 v2.3.6

require x.3 v1.99.0

retract [v1.8.1, v1.8.2]
-- $WORK/m/go.mod.edit --
module x.x/y/z

go $goversion
-- $WORK/go.mod.retractrationale --
module x.x/y/z

go 1.15

// a
retract v1.0.0

// b
retract (
  v1.0.1
  v1.0.2 // c
)
-- $WORK/go.mod.retractrationale.json --
{
	"Module": {
		"Path": "x.x/y/z"
	},
	"Go": "1.15",
	"Require": null,
	"Exclude": null,
	"Replace": null,
	"Retract": [
		{
			"Low": "v1.0.0",
			"High": "v1.0.0",
			"Rationale": "a"
		},
		{
			"Low": "v1.0.1",
			"High": "v1.0.1",
			"Rationale": "b"
		},
		{
			"Low": "v1.0.2",
			"High": "v1.0.2",
			"Rationale": "c"
		}
	]
}
-- $WORK/go.mod.empty --
-- $WORK/go.mod.empty.json --
{
	"Module": {
		"Path": ""
	},
	"Require": null,
	"Exclude": null,
	"Replace": null,
	"Retract": null
}
