]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: split out cmd/go/internal/env
authorRuss Cox <rsc@golang.org>
Wed, 18 Jan 2017 18:24:01 +0000 (13:24 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 3 Feb 2017 20:31:56 +0000 (20:31 +0000)
This is one CL in a long sequence of changes to break up the
go command from one package into a plausible group of packages.

This sequence is concerned only with moving code, not changing
or cleaning up code. There will still be more cleanup after this sequence.

The entire sequence will be submitted together: it is not a goal
for the tree to build at every step.

For #18653.

Change-Id: I28b20d53d20dff06eede574eb5c20359db0d3991
Reviewed-on: https://go-review.googlesource.com/36200
Reviewed-by: David Crawshaw <crawshaw@golang.org>
src/cmd/go/bug.go
src/cmd/go/internal/env/env.go [moved from src/cmd/go/env.go with 93% similarity]
src/cmd/go/main.go

index 239c27e4260893c6cf435f634be5820487665701..8ceb2ac1f973aaa06ff6da5e45401bb86faee217 100644 (file)
@@ -18,6 +18,7 @@ import (
 
        "cmd/go/internal/base"
        "cmd/go/internal/cfg"
+       envcmd "cmd/go/internal/env"
 )
 
 var cmdBug = &base.Command{
@@ -42,7 +43,7 @@ func runBug(cmd *base.Command, args []string) {
        fmt.Fprintln(&buf, "```")
        fmt.Fprintf(&buf, "go version %s %s/%s\n", runtime.Version(), runtime.GOOS, runtime.GOARCH)
        env := cfg.NewEnv
-       env = append(env, extraEnvVars()...)
+       env = append(env, envcmd.ExtraEnvVars()...)
        for _, e := range env {
                // Hide the TERM environment variable from "go bug".
                // See issue #18128
similarity index 93%
rename from src/cmd/go/env.go
rename to src/cmd/go/internal/env/env.go
index b2bd091d8594daffd690a7f0935fe1adb0e72bdc..dad158e62cb941ebb300ed4d42411fe04123b526 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-package main
+package env
 
 import (
        "fmt"
@@ -16,7 +16,7 @@ import (
        "cmd/go/internal/work"
 )
 
-var cmdEnv = &base.Command{
+var CmdEnv = &base.Command{
        Run:       runEnv,
        UsageLine: "env [var ...]",
        Short:     "print Go environment information",
@@ -30,7 +30,7 @@ each named variable on its own line.
        `,
 }
 
-func mkEnv() []cfg.EnvVar {
+func MkEnv() []cfg.EnvVar {
        var b work.Builder
        b.Init()
 
@@ -87,8 +87,8 @@ func findEnv(env []cfg.EnvVar, name string) string {
        return ""
 }
 
-// extraEnvVars returns environment variables that should not leak into child processes.
-func extraEnvVars() []cfg.EnvVar {
+// ExtraEnvVars returns environment variables that should not leak into child processes.
+func ExtraEnvVars() []cfg.EnvVar {
        var b work.Builder
        b.Init()
        cppflags, cflags, cxxflags, fflags, ldflags := b.CFlags(&load.Package{})
@@ -104,7 +104,7 @@ func extraEnvVars() []cfg.EnvVar {
 
 func runEnv(cmd *base.Command, args []string) {
        env := cfg.NewEnv
-       env = append(env, extraEnvVars()...)
+       env = append(env, ExtraEnvVars()...)
        if len(args) > 0 {
                for _, name := range args {
                        fmt.Printf("%s\n", findEnv(env, name))
index 8be210f1d116f2748b8272c8092bf312e5b9d410..68a697653702b75e33e7c7f7e5661605a964e755 100644 (file)
@@ -15,6 +15,7 @@ import (
 
        "cmd/go/internal/base"
        "cmd/go/internal/cfg"
+       "cmd/go/internal/env"
        fmtcmd "cmd/go/internal/fmt"
        "cmd/go/internal/help"
        "cmd/go/internal/test"
@@ -26,7 +27,7 @@ func init() {
                work.CmdBuild,
                cmdClean,
                cmdDoc,
-               cmdEnv,
+               env.CmdEnv,
                cmdBug,
                cmdFix,
                fmtcmd.CmdFmt,
@@ -100,7 +101,7 @@ func main() {
        // but in practice there might be skew
        // This makes sure we all agree.
        cfg.OrigEnv = os.Environ()
-       cfg.NewEnv = mkEnv()
+       cfg.NewEnv = env.MkEnv()
        for _, env := range cfg.NewEnv {
                if os.Getenv(env.Name) != env.Value {
                        os.Setenv(env.Name, env.Value)