envcmd

Imports

Imports #

"bytes"
"context"
"encoding/json"
"fmt"
"go/build"
"internal/buildcfg"
"io"
"os"
"path/filepath"
"runtime"
"slices"
"sort"
"strings"
"unicode"
"unicode/utf8"
"cmd/go/internal/base"
"cmd/go/internal/cache"
"cmd/go/internal/cfg"
"cmd/go/internal/fsys"
"cmd/go/internal/load"
"cmd/go/internal/modload"
"cmd/go/internal/work"
"cmd/internal/quoted"
"cmd/internal/telemetry"

Constants & Variables

CmdEnv var #

var CmdEnv = *ast.UnaryExpr

envChanged var #

var envChanged = *ast.CallExpr

envJson var #

var envJson = *ast.CallExpr

envU var #

var envU = *ast.CallExpr

envW var #

var envW = *ast.CallExpr

Functions

ExtraEnvVars function #

ExtraEnvVars returns environment variables that should not leak into child processes.

func ExtraEnvVars() []cfg.EnvVar

ExtraEnvVarsCostly function #

ExtraEnvVarsCostly returns environment variables that should not leak into child processes but are costly to evaluate.

func ExtraEnvVarsCostly() []cfg.EnvVar

MkEnv function #

func MkEnv() []cfg.EnvVar

PrintEnv function #

PrintEnv prints the environment variables to w.

func PrintEnv(w io.Writer, env []cfg.EnvVar, onlyChanged bool)

argKey function #

argKey returns the KEY part of the arg KEY=VAL, or else arg itself.

func argKey(arg string) string

batchEscape function #

func batchEscape(s string) string

checkBuildConfig function #

checkBuildConfig checks whether the build configuration is valid after the specified configuration environment changes are applied.

func checkBuildConfig(add map[string]string, del map[string]bool) error

checkEnvWrite function #

func checkEnvWrite(key string, val string) error

findEnv function #

func findEnv(env []cfg.EnvVar, name string) string

getOrigEnv function #

func getOrigEnv(key string) string

hasNonGraphic function #

func hasNonGraphic(s string) bool

init function #

func init()

lineToKey function #

lineToKey returns the KEY part of the line KEY=VALUE or else an empty string.

func lineToKey(line string) string

printEnvAsJSON function #

func printEnvAsJSON(env []cfg.EnvVar, onlyChanged bool)

readEnvFileLines function #

func readEnvFileLines(mustExist bool) []string

runEnv function #

func runEnv(ctx context.Context, cmd *base.Command, args []string)

runEnvU function #

func runEnvU(args []string)

runEnvW function #

func runEnvW(args []string)

shellQuote function #

func shellQuote(s string) string

sortKeyValues function #

sortKeyValues sorts a sequence of lines by key. It differs from sort.Strings in that GO386= sorts after GO=.

func sortKeyValues(lines []string)

updateEnvFile function #

func updateEnvFile(add map[string]string, del map[string]bool)

Generated with Arrow