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 -exclude=x.1@v2.0.0+incompatible -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 -dropexclude=x.1@v2.0.0+incompatible -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 -exclude=example.com/m@v2.0.0
stderr '^go mod: -exclude=example.com/m@v2\.0\.0: version "v2\.0\.0" invalid: should be v2\.0\.0\+incompatible \(or module example\.com/m/v2\)$'

! go mod edit -exclude=example.com/m/v2@v1.0.0
stderr '^go mod: -exclude=example.com/m/v2@v1\.0\.0: version "v1\.0\.0" invalid: should be v2, not v1$'

! go mod edit -exclude=gopkg.in/example.v1@v2.0.0
stderr '^go mod: -exclude=gopkg\.in/example\.v1@v2\.0\.0: version "v2\.0\.0" invalid: should be v1, not v2$'

cmpenv go.mod $WORK/go.mod.edit2

# 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 (deprecation)
go mod edit -json $WORK/go.mod.deprecation
cmp stdout $WORK/go.mod.deprecation.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
	x.1 v2.0.0+incompatible
)

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.deprecation --
// Deprecated: and the new one is not ready yet
module m
-- $WORK/go.mod.deprecation.json --
{
	"Module": {
		"Path": "m",
		"Deprecated": "and the new one is not ready yet"
	},
	"Require": null,
	"Exclude": null,
	"Replace": null,
	"Retract": null
}
-- $WORK/go.mod.empty --
-- $WORK/go.mod.empty.json --
{
	"Module": {
		"Path": ""
	},
	"Require": null,
	"Exclude": null,
	"Replace": null,
	"Retract": null
}
