]> Cypherpunks repositories - gostls13.git/commitdiff
doc: describe modules in Go 1.11 release notes and Go FAQ
authorRuss Cox <rsc@golang.org>
Fri, 6 Jul 2018 02:29:34 +0000 (22:29 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 6 Jul 2018 18:42:08 +0000 (18:42 +0000)
Fixes #25517.

Change-Id: I801eebe17eaed9be09f290e8f219a808dc98f837
Reviewed-on: https://go-review.googlesource.com/122408
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
doc/go1.11.html
doc/go_faq.html

index 9aef342a430cd87d78261747fa2d6590a1d6758f..d09552b5e9bb4397bea0c4e20d8ecf73fe71acb7 100644 (file)
@@ -53,18 +53,61 @@ Do not send CLs removing the interior tags from such phrases.
   TODO: PPC64LE race detector support
 </p>
 
-<h3 id="package-versioning">Package Versioning (vgo)</h3>
+<h3 id="wasm">WebAssembly</h3>
+<p>
+  Go 1.11 adds an experimental port to WebAssembly (<code>js/wasm</code>).
+</p>
+
+<h2 id="tools">Tools</h2>
+
+<h3 id="modules">Modules, package versioning, and dependency management</h3>
 <p>
   <strong>
     NOTE: This is not present in go1.11beta1 but will be available in future
     betas and subsequent releases.
   </strong>
-  Go 1.11 adds experimental, integrated support for package versioning.
+  Go 1.11 adds experimental support for a new concept called “modules,”
+  an alternative to GOPATH with integrated support for versioning and
+  package distribution.
+  Using modules, developers are no longer confined to working inside GOPATH,
+  version dependency information is explicit yet lightweight,
+  and builds are more reliable and reproducible.
 </p>
 
-<h3 id="wasm">WebAssembly</h3>
 <p>
-  Go 1.11 adds an experimental port to WebAssembly (<code>js/wasm</code>).
+  Module support is considered experimental.
+  Details are likely to change in response to feedback from Go 1.11 users,
+  and we have more tools planned.
+  Although the details of module support may change, projects that convert
+  to modules using Go 1.11 will continue to work with Go 1.12 and later.
+  If you encounter bugs using modules,
+  please <a href="https://golang.org/issue/new">file issues</a>
+  so we can fix them.
+</p>
+
+<p>
+  TODO: Link to intro doc.  
+</p>
+
+<h3 id="gopackages">Package loading</h2>
+
+<p>
+  TODO: Note about go/build versus golang.org/x/tools/go/packages.
+</p>
+
+<h3 id="gocache">Build cache requirement</h2>
+
+<p>
+  Go 1.11 will be the last release to support setting the environment
+  variable <code>GOCACHE=off</code> to disable the
+  <a href="/cmd/go/#hdr-Build_and_test_caching">build cache</a>,
+  introduced in Go 1.10.
+  Starting in Go 1.12, the build cache will be required,
+  as a step toward eliminating <code>$GOPATH/pkg</code>.
+  The module and package loading support described above
+  already require that the build cache be enabled.
+  If you have disabled the build cache to avoid problems you encountered,
+  please <a href="https://golang.org/issue/new">file an issue</a> to let us know about them.
 </p>
 
 <h2 id="library">Core library</h2>
index e020ce12c1c59b47a1638dda4ead3e2ce60397d2..ca0983bdf400551ffc0b4c8ced8a50f2bc67c92c 100644 (file)
@@ -1153,7 +1153,7 @@ program is one tool to help automate this process.
 
 <p>
 The Go 1.5 release added a facility to the
-<a href="https://golang.org/cmd/go">go</a> command
+<a href="https://golang.org/cmd/go"><code>go</code></a> command
 that makes it easier to manage external dependencies by "vendoring"
 them into a special directory near the package that depends upon them.
 See the <a href="https://golang.org/s/go15vendor">design
@@ -1161,10 +1161,11 @@ document</a> for details.
 </p>
 
 <p>
-Work is underway on an experimental package management tool,
-<a href="https://github.com/golang/dep"><code>dep</code></a>, to learn
-more about how tooling can help package management. More information can be found in
-<a href="https://github.com/golang/dep/blob/master/docs/FAQ.md">the <code>dep</code> FAQ</a>.
+The Go 1.11 release added new, experimental support
+for package versioning to the <code>go</code> command,
+in the form of Go modules.
+For more information, see the <a href="/doc/go1.11#modules">Go 1.11 release notes</a>
+and the <a href="/cmd/go#hdr-Modules__module_versions__and_more"><code>go</code> command documentation</a>.
 </p>
 
 <h2 id="Pointers">Pointers and Allocation</h2>