• 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
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...