summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAndrew Gerrand <adg@golang.org>2014-11-10 09:15:57 +1100
committerAndrew Gerrand <adg@golang.org>2014-11-10 09:15:57 +1100
commit395a8eb5f4e4e10220a8a728a2124cf1521f70d3 (patch)
tree0403ff97a90c22c99f946ba4f3cf1672f8496947 /doc
parent00f9c7b0d78e148c2010d0487c8bdb761bd8b147 (diff)
downloadgo-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.html13
-rw-r--r--doc/cmd.html6
-rw-r--r--doc/code.html183
-rw-r--r--doc/contribute.html2
-rw-r--r--doc/go1compat.html6
-rw-r--r--doc/go_faq.html4
-rw-r--r--doc/install-source.html6
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>&nbsp;&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;</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 &lt; 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 &lt; 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>