diff options
Diffstat (limited to 'src/cmd/goinstall/doc.go')
-rw-r--r-- | src/cmd/goinstall/doc.go | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/src/cmd/goinstall/doc.go b/src/cmd/goinstall/doc.go deleted file mode 100644 index 47c615364..000000000 --- a/src/cmd/goinstall/doc.go +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -Goinstall is an experiment in automatic package installation. -It installs packages, possibly downloading them from the internet. -It maintains a list of public Go packages at -http://godashboard.appspot.com/package. - -Usage: - goinstall [flags] importpath... - goinstall [flags] -a - -Flags and default settings: - -a=false install all previously installed packages - -clean=false clean the package directory before installing - -dashboard=true tally public packages on godashboard.appspot.com - -install=true build and install the package and its dependencies - -nuke=false remove the target object and clean before installing - -u=false update already-downloaded packages - -v=false verbose operation - -Goinstall installs each of the packages identified on the command line. It -installs a package's prerequisites before trying to install the package -itself. Unless -log=false is specified, goinstall logs the import path of each -installed package to $GOROOT/goinstall.log for use by goinstall -a. - -If the -a flag is given, goinstall reinstalls all previously installed -packages, reading the list from $GOROOT/goinstall.log. After updating to a -new Go release, which deletes all package binaries, running - - goinstall -a - -will recompile and reinstall goinstalled packages. - -Another common idiom is to use - - goinstall -a -u - -to update, recompile, and reinstall all goinstalled packages. - -The source code for a package with import path foo/bar is expected -to be in the directory $GOROOT/src/pkg/foo/bar/ or $GOPATH/src/foo/bar/. -See "The GOPATH Environment Variable" for more about GOPATH. - -By default, goinstall prints output only when it encounters an error. -The -v flag causes goinstall to print information about packages -being considered and installed. - -Goinstall ignores Makefiles. - - -Remote Repositories - -If a package import path refers to a remote repository, goinstall will -download the code if necessary. - -Goinstall recognizes packages from a few common code hosting sites: - - BitBucket (Mercurial) - - import "bitbucket.org/user/project" - import "bitbucket.org/user/project/sub/directory" - - GitHub (Git) - - import "github.com/user/project" - import "github.com/user/project/sub/directory" - - Google Code Project Hosting (Git, Mercurial, Subversion) - - import "project.googlecode.com/git" - import "project.googlecode.com/git/sub/directory" - - import "project.googlecode.com/hg" - import "project.googlecode.com/hg/sub/directory" - - import "project.googlecode.com/svn/trunk" - import "project.googlecode.com/svn/trunk/sub/directory" - - Launchpad (Bazaar) - - import "launchpad.net/project" - import "launchpad.net/project/series" - import "launchpad.net/project/series/sub/directory" - - import "launchpad.net/~user/project/branch" - import "launchpad.net/~user/project/branch/sub/directory" - -If the destination directory (e.g., $GOROOT/src/pkg/bitbucket.org/user/project) -already exists and contains an appropriate checkout, goinstall will not -attempt to fetch updates. The -u flag changes this behavior, -causing goinstall to update all remote packages encountered during -the installation. - -When downloading or updating, goinstall looks for a tag with the "go." prefix -that corresponds to the local Go version. For Go "release.r58" it looks for a -tag named "go.r58". For "weekly.2011-06-03" it looks for "go.weekly.2011-06-03". -If the specific "go.X" tag is not found, it chooses the closest earlier version. -If an appropriate tag is found, goinstall uses that version of the code. -Otherwise it uses the default version selected by the version control -system, typically HEAD for git, tip for Mercurial. - -After a successful download and installation of one of these import paths, -goinstall reports the installation to godashboard.appspot.com, which -increments a count associated with the package and the time of its most -recent installation. This mechanism powers the package list at -http://godashboard.appspot.com/package, allowing Go programmers to learn about -popular packages that might be worth looking at. -The -dashboard=false flag disables this reporting. - -For code hosted on other servers, goinstall recognizes the general form - - repository.vcs/path - -as denoting the given repository, with or without the .vcs suffix, using -the named version control system, and then the path inside that repository. -The supported version control systems are: - - Bazaar .bzr - Git .git - Mercurial .hg - Subversion .svn - -For example, - - import "example.org/user/foo.hg" - -denotes the root directory of the Mercurial repository at example.org/user/foo -or foo.hg, and - - import "example.org/repo.git/foo/bar" - -denotes the foo/bar directory of the Git repository at example.com/repo or -repo.git. - -When a version control system supports multiple protocols, goinstall tries each -in turn. -For example, for Git it tries git://, then https://, then http://. - - -The GOPATH Environment Variable - -GOPATH may be set to a colon-separated list of paths inside which Go code, -package objects, and executables may be found. - -Set a GOPATH to use goinstall to build and install your own code and -external libraries outside of the Go tree (and to avoid writing Makefiles). - -The top-level directory structure of a GOPATH is prescribed: - -The 'src' directory is for source code. The directory naming inside 'src' -determines the package import path or executable name. - -The 'pkg' directory is for package objects. Like the Go tree, package objects -are stored inside a directory named after the target operating system and -processor architecture ('pkg/$GOOS_$GOARCH'). -A package whose source is located at '$GOPATH/src/foo/bar' would be imported -as 'foo/bar' and installed as '$GOPATH/pkg/$GOOS_$GOARCH/foo/bar.a'. - -The 'bin' directory is for executable files. -Goinstall installs program binaries using the name of the source folder. -A binary whose source is at 'src/foo/qux' would be built and installed to -'$GOPATH/bin/qux'. (Note 'bin/qux', not 'bin/foo/qux' - this is such that -you can put the bin directory in your PATH.) - -Here's an example directory layout: - - GOPATH=/home/user/gocode - - /home/user/gocode/ - src/foo/ - bar/ (go code in package bar) - qux/ (go code in package main) - bin/qux (executable file) - pkg/linux_amd64/foo/bar.a (object file) - -Run 'goinstall foo/bar' to build and install the package 'foo/bar' -(and its dependencies). -Goinstall will search each GOPATH (in order) for 'src/foo/bar'. -If the directory cannot be found, goinstall will attempt to fetch the -source from a remote repository and write it to the 'src' directory of the -first GOPATH (or $GOROOT/src/pkg if GOPATH is not set). - -Goinstall recognizes relative and absolute paths (paths beginning with / or .). -The following commands would build our example packages: - - goinstall /home/user/gocode/src/foo/bar # build and install foo/bar - cd /home/user/gocode/src/foo - goinstall ./bar # build and install foo/bar (again) - cd qux - goinstall . # build and install foo/qux - -*/ -package documentation |