• Russ Cox's avatar
    cmd/go: add preliminary support for vendor directories · 183cc0cd
    Russ Cox authored
    When GO15VENDOREXPERIMENT=1 is in the environment,
    this CL changes the resolution of import paths according to
    the Go 1.5 vendor proposal:
    
    	If there is a source directory d/vendor, then,
    	when compiling a source file within the subtree rooted at d,
    	import "p" is interpreted as import "d/vendor/p" if that exists.
    
    	When there are multiple possible resolutions,
    	the most specific (longest) path wins.
    
    	The short form must always be used: no import path can
    	contain “/vendor/” explicitly.
    
    	Import comments are ignored in vendored packages.
    
    The goal of these changes is to allow authors to vendor (copy) external
    packages into their source trees without any modifications to the code.
    This functionality has been achieved in tools like godep, nut, and gb by
    requiring GOPATH manipulation. This alternate directory-based approach
    eliminates the need for GOPATH manipulation and in keeping with the
    go command's use of directory layout-based configuration.
    
    The flag allows experimentation with these vendoring semantics once
    Go 1.5 is released, without forcing them on by default. If the experiment
    is deemed a success, the flag will default to true in Go 1.6 and then be
    removed in Go 1.7.
    
    For more details, see the original proposal by Keith Rarick at
    https://groups.google.com/d/msg/golang-dev/74zjMON9glU/dGhnoi2IMzsJ.
    
    Change-Id: I2c6527e777d14ac6dc43c53e4b3ff24f3279216e
    Reviewed-on: https://go-review.googlesource.com/10923Reviewed-by: 's avatarAndrew Gerrand <adg@golang.org>
    183cc0cd
Name
Last commit
Last update
..
addr2line Loading commit data...
api Loading commit data...
asm Loading commit data...
cgo Loading commit data...
compile Loading commit data...
cover Loading commit data...
dist Loading commit data...
doc Loading commit data...
fix Loading commit data...
go Loading commit data...
gofmt Loading commit data...
internal Loading commit data...
link Loading commit data...
newlink Loading commit data...
nm Loading commit data...
objdump Loading commit data...
old5a Loading commit data...
old6a Loading commit data...
old8a Loading commit data...
old9a Loading commit data...
pack Loading commit data...
pprof Loading commit data...
trace Loading commit data...
vet Loading commit data...
yacc Loading commit data...