github.com/megatontech/mynoteforgo@v0.0.0-20200507084910-5d0c6ea6e890/源码/cmd/go/testdata/script/mod_replace_import.txt (about)

     1  env GO111MODULE=on
     2  
     3  # 'go list -mod=readonly' should not add requirements even if they can be
     4  # resolved locally.
     5  cp go.mod go.mod.orig
     6  ! go list -mod=readonly all
     7  cmp go.mod go.mod.orig
     8  
     9  # 'go list' should resolve imports using replacements.
    10  go list all
    11  stdout 'example.com/a/b$'
    12  stdout 'example.com/x/v3$'
    13  stdout 'example.com/y/z/w$'
    14  stdout 'example.com/v'
    15  
    16  # The selected modules should prefer longer paths,
    17  # but should try shorter paths if needed.
    18  # Modules with a major-version suffix should have a corresponding pseudo-version.
    19  # Replacements that specify a version should use the latest such version.
    20  go list -m all
    21  stdout 'example.com/a/b v0.0.0-00010101000000-000000000000 => ./b'
    22  stdout 'example.com/y v0.0.0-00010101000000-000000000000 => ./y'
    23  stdout 'example.com/x/v3 v3.0.0-00010101000000-000000000000 => ./v3'
    24  stdout 'example.com/v v1.12.0 => ./v12'
    25  
    26  -- go.mod --
    27  module example.com/m
    28  
    29  replace (
    30  	example.com/a => ./a
    31  	example.com/a/b => ./b
    32  )
    33  
    34  replace (
    35  	example.com/x => ./x
    36  	example.com/x/v3 => ./v3
    37  )
    38  
    39  replace (
    40  	example.com/y/z/w => ./w
    41  	example.com/y => ./y
    42  )
    43  
    44  replace (
    45  	example.com/v v1.11.0 => ./v11
    46  	example.com/v v1.12.0 => ./v12
    47  	example.com/v => ./v
    48  )
    49  
    50  -- m.go --
    51  package main
    52  import (
    53  	_ "example.com/a/b"
    54  	_ "example.com/x/v3"
    55  	_ "example.com/y/z/w"
    56  	_ "example.com/v"
    57  )
    58  func main() {}
    59  
    60  -- a/go.mod --
    61  module a.localhost
    62  -- a/a.go --
    63  package a
    64  -- a/b/b.go--
    65  package b
    66  
    67  -- b/go.mod --
    68  module a.localhost/b
    69  -- b/b.go --
    70  package b
    71  
    72  -- x/go.mod --
    73  module x.localhost
    74  -- x/x.go --
    75  package x
    76  -- x/v3.go --
    77  package v3
    78  import _ "x.localhost/v3"
    79  
    80  -- v3/go.mod --
    81  module x.localhost/v3
    82  -- v3/x.go --
    83  package x
    84  
    85  -- w/go.mod --
    86  module w.localhost
    87  -- w/skip/skip.go --
    88  // Package skip is nested below nonexistent package w.
    89  package skip
    90  
    91  -- y/go.mod --
    92  module y.localhost
    93  -- y/z/w/w.go --
    94  package w
    95  
    96  -- v12/go.mod --
    97  module v.localhost
    98  -- v12/v.go --
    99  package v
   100  
   101  -- v11/go.mod --
   102  module v.localhost
   103  -- v11/v.go --
   104  package v
   105  
   106  -- v/go.mod --
   107  module v.localhost
   108  -- v/v.go --
   109  package v