diff options
author | Andrew Gerrand <adg@golang.org> | 2014-11-10 09:15:57 +1100 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2014-11-10 09:15:57 +1100 |
commit | 395a8eb5f4e4e10220a8a728a2124cf1521f70d3 (patch) | |
tree | 0403ff97a90c22c99f946ba4f3cf1672f8496947 /doc | |
parent | 00f9c7b0d78e148c2010d0487c8bdb761bd8b147 (diff) | |
download | go-395a8eb5f4e4e10220a8a728a2124cf1521f70d3.tar.gz |
all: use golang.org/x/... import paths
LGTM=rsc, r
R=r, rsc
CC=golang-codereview, golang-codereviews
https://codereview.appspot.com/168050043
Diffstat (limited to 'doc')
-rw-r--r-- | doc/articles/go_command.html | 13 | ||||
-rw-r--r-- | doc/cmd.html | 6 | ||||
-rw-r--r-- | doc/code.html | 183 | ||||
-rw-r--r-- | doc/contribute.html | 2 | ||||
-rw-r--r-- | doc/go1compat.html | 6 | ||||
-rw-r--r-- | doc/go_faq.html | 4 | ||||
-rw-r--r-- | doc/install-source.html | 6 |
7 files changed, 115 insertions, 105 deletions
diff --git a/doc/articles/go_command.html b/doc/articles/go_command.html index 246b8c956..2978628cd 100644 --- a/doc/articles/go_command.html +++ b/doc/articles/go_command.html @@ -78,17 +78,18 @@ well-established conventions.</p> source code. For Bitbucket, GitHub, Google Code, and Launchpad, the root directory of the repository is identified by the repository's main URL, without the <code>http://</code> prefix. Subdirectories are named by -adding to that path. For example, the supplemental networking -libraries for Go are obtained by running</p> +adding to that path. +For example, the Go example programs are obtained by running</p> <pre> -hg clone http://code.google.com/p/go.net +git clone https://github.com/golang/example </pre> <p>and thus the import path for the root directory of that repository is -"<code>code.google.com/p/go.net</code>". The websocket package is stored in a -subdirectory, so its import path is -"<code>code.google.com/p/go.net/websocket</code>".</p> +"<code>github.com/golang/example</code>". +The <a href="https://godoc.org/github.com/golang/example/stringutil">stringutil</a> +package is stored in a subdirectory, so its import path is +"<code>github.com/golang/example/stringutil</code>".</p> <p>These paths are on the long side, but in exchange we get an automatically managed name space for import paths and the ability for diff --git a/doc/cmd.html b/doc/cmd.html index 132ea275f..5d20d3887 100644 --- a/doc/cmd.html +++ b/doc/cmd.html @@ -62,7 +62,7 @@ details. </tr> <tr> -<td><a href="//godoc.org/code.google.com/p/go.tools/cmd/cover/">cover</a></td> +<td><a href="//godoc.org/golang.org/x/tools/cmd/cover/">cover</a></td> <td> </td> <td>Cover is a program for creating and analyzing the coverage profiles generated by <code>"go test -coverprofile"</code>.</td> @@ -83,13 +83,13 @@ gofmt</a> command with more general options.</td> </tr> <tr> -<td><a href="//godoc.org/code.google.com/p/go.tools/cmd/godoc/">godoc</a></td> +<td><a href="//godoc.org/golang.org/x/tools/cmd/godoc/">godoc</a></td> <td> </td> <td>Godoc extracts and generates documentation for Go packages.</td> </tr> <tr> -<td><a href="//godoc.org/code.google.com/p/go.tools/cmd/vet/">vet</a></td> +<td><a href="//godoc.org/golang.org/x/tools/cmd/vet/">vet</a></td> <td> </td> <td>Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.</td> diff --git a/doc/code.html b/doc/code.html index f019306fa..ce9f8636f 100644 --- a/doc/code.html +++ b/doc/code.html @@ -60,37 +60,35 @@ To give you an idea of how a workspace looks in practice, here's an example: <pre> bin/ - streak # command executable - todo # command executable + hello # command executable + outyet # command executable pkg/ linux_amd64/ - code.google.com/p/goauth2/ - oauth.a # package object - github.com/nf/todo/ - task.a # package object + github.com/golang/example/ + stringutil.a # package object src/ - code.google.com/p/goauth2/ - .hg/ # mercurial repository metadata - oauth/ - oauth.go # package source - oauth_test.go # test source - github.com/nf/ - streak/ - .git/ # git repository metadata - oauth.go # command source - streak.go # command source - todo/ - .git/ # git repository metadata - task/ - task.go # package source - todo.go # command source + <a href="https://github.com/golang/example/">github.com/golang/example/</a> + .git/ # Git repository metadata + hello/ + hello.go # command source + outyet/ + main.go # command source + main_test.go # test source + stringutil/ + reverse.go # package source + reverse_test.go # test source </pre> <p> -This workspace contains three repositories (<code>goauth2</code>, -<code>streak</code>, and <code>todo</code>) comprising two commands -(<code>streak</code> and <code>todo</code>) and two libraries -(<code>oauth</code> and <code>task</code>). +This workspace contains one repository (<code>example</code>) +comprising two commands (<code>hello</code> and <code>outyet</code>) +and one library (<code>stringutil</code>). +</p> + +<p> +A typical workspace would contain many source repositories containing many +packages and commands. Most Go programmers keep <i>all</i> their Go source code +and dependencies in a single workspace. </p> <p> @@ -277,29 +275,29 @@ Let's write a library and use it from the <code>hello</code> program. <p> Again, the first step is to choose a package path (we'll use -<code>github.com/user/newmath</code>) and create the package directory: +<code>github.com/user/stringutil</code>) and create the package directory: </p> <pre> -$ <b>mkdir $GOPATH/src/github.com/user/newmath</b> +$ <b>mkdir $GOPATH/src/github.com/user/stringutil</b> </pre> <p> -Next, create a file named <code>sqrt.go</code> in that directory with the +Next, create a file named <code>reverse.go</code> in that directory with the following contents. </p> <pre> -// Package newmath is a trivial example package. -package newmath - -// Sqrt returns an approximation to the square root of x. -func Sqrt(x float64) float64 { - z := 1.0 - for i := 0; i < 1000; i++ { - z -= (z*z - x) / (2 * z) +// Package stringutil contains utility functions for working with strings. +package stringutil + +// Reverse returns its argument string reversed rune-wise left to right. +func Reverse(s string) string { + r := []rune(s) + for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { + r[i], r[j] = r[j], r[i] } - return z + return string(r) } </pre> @@ -308,7 +306,7 @@ Now, test that the package compiles with <code>go build</code>: </p> <pre> -$ <b>go build github.com/user/newmath</b> +$ <b>go build github.com/user/stringutil</b> </pre> <p> @@ -326,7 +324,7 @@ directory of the workspace. </p> <p> -After confirming that the <code>newmath</code> package builds, +After confirming that the <code>stringutil</code> package builds, modify your original <code>hello.go</code> (which is in <code>$GOPATH/src/github.com/user/hello</code>) to use it: </p> @@ -337,18 +335,18 @@ package main import ( "fmt" - <b>"github.com/user/newmath"</b> + <b>"github.com/user/stringutil"</b> ) func main() { - fmt.Printf("Hello, world. <b>Sqrt(2) = %v\n", newmath.Sqrt(2)</b>) + fmt.Printf(stringutil.Reverse("!oG ,olleH")) } </pre> <p> Whenever the <code>go</code> tool installs a package or binary, it also -installs whatever dependencies it has. So when you install the <code>hello</code> -program +installs whatever dependencies it has. +So when you install the <code>hello</code> program </p> <pre> @@ -356,16 +354,16 @@ $ <b>go install github.com/user/hello</b> </pre> <p> -the <code>newmath</code> package will be installed as well, automatically. +the <code>stringutil</code> package will be installed as well, automatically. </p> <p> -Running the new version of the program, you should see some numerical output: +Running the new version of the program, you should see a new, reversed message: </p> <pre> $ <b>hello</b> -Hello, world. Sqrt(2) = 1.414213562373095 +Hello, Go! </pre> <p> @@ -374,22 +372,22 @@ After the steps above, your workspace should look like this: <pre> bin/ - hello # command executable + hello # command executable pkg/ - linux_amd64/ # this will reflect your OS and architecture + linux_amd64/ # this will reflect your OS and architecture github.com/user/ - newmath.a # package object + stringutil.a # package object src/ github.com/user/ hello/ - hello.go # command source - newmath/ - sqrt.go # package source + hello.go # command source + stringutil/ + reverse.go # package source </pre> <p> -Note that <code>go install</code> placed the <code>newmath.a</code> object in a -directory inside <code>pkg/linux_amd64</code> that mirrors its source +Note that <code>go install</code> placed the <code>stringutil.a</code> object +in a directory inside <code>pkg/linux_amd64</code> that mirrors its source directory. This is so that future invocations of the <code>go</code> tool can find the package object and avoid recompiling the package unnecessarily. @@ -457,20 +455,29 @@ if the function calls a failure function such as <code>t.Error</code> or </p> <p> -Add a test to the <code>newmath</code> package by creating the file -<code>$GOPATH/src/github.com/user/newmath/sqrt_test.go</code> containing the -following Go code. +Add a test to the <code>stringutil</code> package by creating the file +<code>$GOPATH/src/github.com/user/stringutil/reverse_test.go</code> containing +the following Go code. </p> <pre> -package newmath +package stringutil import "testing" -func TestSqrt(t *testing.T) { - const in, out = 4, 2 - if x := Sqrt(in); x != out { - t.Errorf("Sqrt(%v) = %v, want %v", in, x, out) +func TestReverse(t *testing.T) { + cases := []struct { + in, want string + }{ + {"Hello, world", "dlrow ,olleH"}, + {"Hello, 世界", "界世 ,olleH"}, + {"", ""}, + } + for _, c := range cases { + got := Reverse(c.in) + if got != c.want { + t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want) + } } } </pre> @@ -480,8 +487,8 @@ Then run the test with <code>go test</code>: </p> <pre> -$ <b>go test github.com/user/newmath</b> -ok github.com/user/newmath 0.165s +$ <b>go test github.com/user/stringutil</b> +ok github.com/user/stringutil 0.165s </pre> <p> @@ -491,7 +498,7 @@ directory, you can omit the package path: <pre> $ <b>go test</b> -ok github.com/user/newmath 0.165s +ok github.com/user/stringutil 0.165s </pre> <p> @@ -507,16 +514,16 @@ An import path can describe how to obtain the package source code using a revision control system such as Git or Mercurial. The <code>go</code> tool uses this property to automatically fetch packages from remote repositories. For instance, the examples described in this document are also kept in a -Mercurial repository hosted at Google Code, -<code><a href="//code.google.com/p/go.example">code.google.com/p/go.example</a></code>. +Git repository hosted at GitHub +<code><a href="https://github.com/golang/example">github.com/golang/example</a></code>. If you include the repository URL in the package's import path, <code>go get</code> will fetch, build, and install it automatically: </p> <pre> -$ <b>go get code.google.com/p/go.example/hello</b> +$ <b>go get github.com/golang/example/hello</b> $ <b>$GOPATH/bin/hello</b> -Hello, world. Sqrt(2) = 1.414213562373095 +Hello, Go examples! </pre> <p> @@ -533,37 +540,39 @@ tree should now look like this: <pre> bin/ - hello # command executable + hello # command executable pkg/ linux_amd64/ - code.google.com/p/go.example/ - newmath.a # package object + github.com/golang/example/ + stringutil.a # package object github.com/user/ - newmath.a # package object + stringutil.a # package object src/ - code.google.com/p/go.example/ + github.com/golang/example/ + .git/ # Git repository metadata hello/ - hello.go # command source - newmath/ - sqrt.go # package source - sqrt_test.go # test source + hello.go # command source + stringutil/ + reverse.go # package source + reverse_test.go # test source github.com/user/ hello/ - hello.go # command source - newmath/ - sqrt.go # package source - sqrt_test.go # test source + hello.go # command source + stringutil/ + reverse.go # package source + reverse_test.go # test source </pre> <p> -The <code>hello</code> command hosted at Google Code depends on the -<code>newmath</code> package within the same repository. The imports in -<code>hello.go</code> file use the same import path convention, so the <code>go -get</code> command is able to locate and install the dependent package, too. +The <code>hello</code> command hosted at GitHub depends on the +<code>stringutil</code> package within the same repository. The imports in +<code>hello.go</code> file use the same import path convention, so the +<code>go get</code> command is able to locate and install the dependent +package, too. </p> <pre> -import "code.google.com/p/go.example/newmath" +import "github.com/golang/example/stringutil" </pre> <p> diff --git a/doc/contribute.html b/doc/contribute.html index 90c3f10a1..92fd88b48 100644 --- a/doc/contribute.html +++ b/doc/contribute.html @@ -121,7 +121,7 @@ are inside the go directory when issuing commands. <p>To contribute to subrepositories, edit the <code>.hg/hgrc</code> for each subrepository in the same way. For example, add the codereview extension to -<code>code.google.com/p/go.tools/.hg/hgrc</code>. +<code>golang.org/x/tools/.hg/hgrc</code>. </p> <h3>Understanding the extension</h3> diff --git a/doc/go1compat.html b/doc/go1compat.html index 94c48d2ce..d800dec0c 100644 --- a/doc/go1compat.html +++ b/doc/go1compat.html @@ -153,7 +153,7 @@ developed software based on Go 1. <p> Code in sub-repositories of the main go tree, such as -<a href="//code.google.com/p/go.net">code.google.com/p/go.net</a>, +<a href="//golang.org/x/net">golang.org/x/net</a>, may be developed under looser compatibility requirements. However, the sub-repositories will be tagged as appropriate to identify versions that are compatible @@ -170,9 +170,9 @@ is therefore outside the purview of the guarantees made here. As of Go version 1.4, the <code>syscall</code> package is frozen. Any evolution of the system call interface must be supported elsewhere, such as in the -<a href="http://godoc.org/code.google.com/p/go.sys">go.sys</a> subrepository. +<a href="//golang.org/x/sys">go.sys</a> subrepository. For details and background, see -<a href="https://golang.org/s/go1.4-syscall">this document</a>. +<a href="//golang.org/s/go1.4-syscall">this document</a>. </p> <h2 id="tools">Tools</h2> diff --git a/doc/go_faq.html b/doc/go_faq.html index 9aac05838..759799779 100644 --- a/doc/go_faq.html +++ b/doc/go_faq.html @@ -1616,7 +1616,7 @@ Go is a fine language in which to implement a self-hosting compiler: a native lexer and parser are already available in the <a href="/pkg/go/"><code>go</code></a> package and a separate type checking -<a href="http://godoc.org/code.google.com/p/go.tools/go/types">package</a> +<a href="http://godoc.org/golang.org/x/tools/go/types">package</a> has also been written. </p> @@ -1715,7 +1715,7 @@ func main() { <p> Nowadays, most Go programmers use a tool, -<a href="http://godoc.org/code.google.com/p/go.tools/cmd/goimports">goimports</a>, +<a href="http://godoc.org/golang.org/x/tools/cmd/goimports">goimports</a>, which automatically rewrites a Go source file to have the correct imports, eliminating the unused imports issue in practice. This program is easily connected to most editors to run automatically when a Go source file is written. diff --git a/doc/install-source.html b/doc/install-source.html index 82859b50f..f53deb404 100644 --- a/doc/install-source.html +++ b/doc/install-source.html @@ -241,12 +241,12 @@ provides <b>essential setup instructions</b> for using the Go tools. <p> The source code for several Go tools (including <a href="/cmd/godoc/">godoc</a>) -is kept in <a href="https://code.google.com/p/go.tools">the go.tools repository</a>. +is kept in <a href="https://golang.org/x/tools">the go.tools repository</a>. To install all of them, run the <code>go</code> <code>get</code> command: </p> <pre> -$ go get code.google.com/p/go.tools/cmd/... +$ go get golang.org/x/tools/cmd/... </pre> <p> @@ -254,7 +254,7 @@ Or if you just want to install a specific command (<code>godoc</code> in this ca </p> <pre> -$ go get code.google.com/p/go.tools/cmd/godoc +$ go get golang.org/x/tools/cmd/godoc </pre> <p> |