command

package
v0.0.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2022 License: BSD-3-Clause Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CmdDescriptor_PathType_name = map[int32]string{
		0: "UNKNOWN_PATH_TYPE",
		1: "POSIX",
		2: "WINDOWS",
	}
	CmdDescriptor_PathType_value = map[string]int32{
		"UNKNOWN_PATH_TYPE": 0,
		"POSIX":             1,
		"WINDOWS":           2,
	}
)

Enum value maps for CmdDescriptor_PathType.

View Source
var (
	Install_PrefixStyle_name = map[int32]string{
		0: "ASIS",
		1: "REGEXP",
		2: "REGEXP_MAY_SKIP_BINARY_HASH_MISSING",
	}
	Install_PrefixStyle_value = map[string]int32{
		"ASIS":                                0,
		"REGEXP":                              1,
		"REGEXP_MAY_SKIP_BINARY_HASH_MISSING": 2,
	}
)

Enum value maps for Install_PrefixStyle.

View Source
var File_command_command_proto protoreflect.FileDescriptor
View Source
var File_command_command_service_proto protoreflect.FileDescriptor
View Source
var File_command_package_opts_proto protoreflect.FileDescriptor
View Source
var File_command_setup_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ACL added in v0.0.17

type ACL struct {

	// Groups that is allowed to use.
	// If allowed_groups specified, only groups in allowed_groups are
	// allowed, and other groups are disallowed.
	// If no allowed_groups specified, any groups are allowed
	// if it is not disallowed by disallowed_groups.
	AllowedGroups []string `protobuf:"bytes,1,rep,name=allowed_groups,json=allowedGroups,proto3" json:"allowed_groups,omitempty"`
	// Groups that is not allowed to use.
	// If no disallowed_groups specified, only allowed_groups is allowed to use.
	// If both are not specified, any groups are alllowed.
	DisallowedGroups []string `protobuf:"bytes,2,rep,name=disallowed_groups,json=disallowedGroups,proto3" json:"disallowed_groups,omitempty"`
	// contains filtered or unexported fields
}

ACL is access control list for requester.

func (*ACL) Descriptor deprecated added in v0.0.17

func (*ACL) Descriptor() ([]byte, []int)

Deprecated: Use ACL.ProtoReflect.Descriptor instead.

func (*ACL) GetAllowedGroups added in v0.0.17

func (x *ACL) GetAllowedGroups() []string

func (*ACL) GetDisallowedGroups added in v0.0.17

func (x *ACL) GetDisallowedGroups() []string

func (*ACL) ProtoMessage added in v0.0.17

func (*ACL) ProtoMessage()

func (*ACL) ProtoReflect added in v0.0.17

func (x *ACL) ProtoReflect() protoreflect.Message

func (*ACL) Reset added in v0.0.17

func (x *ACL) Reset()

func (*ACL) String added in v0.0.17

func (x *ACL) String() string

type BuildInfo

type BuildInfo struct {

	// who build this toolchain.
	Creator string `protobuf:"bytes,2,opt,name=creator,proto3" json:"creator,omitempty"`
	// hostname where the toolchain was built.
	Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// current working directory of toolchain build.
	Directory string `protobuf:"bytes,4,opt,name=directory,proto3" json:"directory,omitempty"`
	// when this toolchain was built.
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// full image name of cmd_server container.
	CmdServer string `protobuf:"bytes,7,opt,name=cmd_server,json=cmdServer,proto3" json:"cmd_server,omitempty"`
	// full qualified toolchain name (separated by space)
	Toolchain string `protobuf:"bytes,8,opt,name=toolchain,proto3" json:"toolchain,omitempty"`
	// contains filtered or unexported fields
}

BuildInfo is image build info.

func (*BuildInfo) Descriptor deprecated

func (*BuildInfo) Descriptor() ([]byte, []int)

Deprecated: Use BuildInfo.ProtoReflect.Descriptor instead.

func (*BuildInfo) GetCmdServer

func (x *BuildInfo) GetCmdServer() string

func (*BuildInfo) GetCreator

func (x *BuildInfo) GetCreator() string

func (*BuildInfo) GetDirectory

func (x *BuildInfo) GetDirectory() string

func (*BuildInfo) GetHostname

func (x *BuildInfo) GetHostname() string

func (*BuildInfo) GetTimestamp

func (x *BuildInfo) GetTimestamp() *timestamppb.Timestamp

func (*BuildInfo) GetToolchain

func (x *BuildInfo) GetToolchain() string

func (*BuildInfo) ProtoMessage

func (*BuildInfo) ProtoMessage()

func (*BuildInfo) ProtoReflect added in v0.0.12

func (x *BuildInfo) ProtoReflect() protoreflect.Message

func (*BuildInfo) Reset

func (x *BuildInfo) Reset()

func (*BuildInfo) String

func (x *BuildInfo) String() string

type CmdDescriptor

type CmdDescriptor struct {
	Selector      *Selector                    `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
	Setup         *CmdDescriptor_Setup         `protobuf:"bytes,2,opt,name=setup,proto3" json:"setup,omitempty"`
	Cross         *CmdDescriptor_Cross         `protobuf:"bytes,3,opt,name=cross,proto3" json:"cross,omitempty"`
	EmulationOpts *CmdDescriptor_EmulationOpts `protobuf:"bytes,6,opt,name=emulation_opts,json=emulationOpts,proto3" json:"emulation_opts,omitempty"`
	// contains filtered or unexported fields
}

CmdDescriptor is a command descriptor. NEXT ID TO USE: 7

func (*CmdDescriptor) Descriptor deprecated

func (*CmdDescriptor) Descriptor() ([]byte, []int)

Deprecated: Use CmdDescriptor.ProtoReflect.Descriptor instead.

func (*CmdDescriptor) GetCross

func (x *CmdDescriptor) GetCross() *CmdDescriptor_Cross

func (*CmdDescriptor) GetEmulationOpts

func (x *CmdDescriptor) GetEmulationOpts() *CmdDescriptor_EmulationOpts

func (*CmdDescriptor) GetSelector

func (x *CmdDescriptor) GetSelector() *Selector

func (*CmdDescriptor) GetSetup

func (x *CmdDescriptor) GetSetup() *CmdDescriptor_Setup

func (*CmdDescriptor) ProtoMessage

func (*CmdDescriptor) ProtoMessage()

func (*CmdDescriptor) ProtoReflect added in v0.0.12

func (x *CmdDescriptor) ProtoReflect() protoreflect.Message

func (*CmdDescriptor) Reset

func (x *CmdDescriptor) Reset()

func (*CmdDescriptor) String

func (x *CmdDescriptor) String() string

type CmdDescriptor_Cross

type CmdDescriptor_Cross struct {

	// If clang_need_target is true, exec_service adds -target <arch>
	// in args if args does not have -target option.
	// note: it is clang/clang++ specific.
	ClangNeedTarget bool `protobuf:"varint,1,opt,name=clang_need_target,json=clangNeedTarget,proto3" json:"clang_need_target,omitempty"`
	// If windows_cross is true, it accepts compile request from windows,
	// but run it on linux workers.
	WindowsCross bool `protobuf:"varint,2,opt,name=windows_cross,json=windowsCross,proto3" json:"windows_cross,omitempty"`
	// contains filtered or unexported fields
}

cross options (when user's platform and cmd_server's platform differs)

func (*CmdDescriptor_Cross) Descriptor deprecated

func (*CmdDescriptor_Cross) Descriptor() ([]byte, []int)

Deprecated: Use CmdDescriptor_Cross.ProtoReflect.Descriptor instead.

func (*CmdDescriptor_Cross) GetClangNeedTarget

func (x *CmdDescriptor_Cross) GetClangNeedTarget() bool

func (*CmdDescriptor_Cross) GetWindowsCross added in v0.0.18

func (x *CmdDescriptor_Cross) GetWindowsCross() bool

func (*CmdDescriptor_Cross) ProtoMessage

func (*CmdDescriptor_Cross) ProtoMessage()

func (*CmdDescriptor_Cross) ProtoReflect added in v0.0.12

func (x *CmdDescriptor_Cross) ProtoReflect() protoreflect.Message

func (*CmdDescriptor_Cross) Reset

func (x *CmdDescriptor_Cross) Reset()

func (*CmdDescriptor_Cross) String

func (x *CmdDescriptor_Cross) String() string

type CmdDescriptor_EmulationOpts

type CmdDescriptor_EmulationOpts struct {

	// respect_client_include_paths is true if we need to append
	// include directories sent from goma client to command line.
	// For example, when we choose a binary is not relocatable, we need to
	// specify -isystem, -imsvc (or equivalent)
	RespectClientIncludePaths bool `` /* 141-byte string literal not displayed */
	// contains filtered or unexported fields
}

EmulationOpts is used when goma backend cannot fully emulate client environment.

func (*CmdDescriptor_EmulationOpts) Descriptor deprecated

func (*CmdDescriptor_EmulationOpts) Descriptor() ([]byte, []int)

Deprecated: Use CmdDescriptor_EmulationOpts.ProtoReflect.Descriptor instead.

func (*CmdDescriptor_EmulationOpts) GetRespectClientIncludePaths

func (x *CmdDescriptor_EmulationOpts) GetRespectClientIncludePaths() bool

func (*CmdDescriptor_EmulationOpts) ProtoMessage

func (*CmdDescriptor_EmulationOpts) ProtoMessage()

func (*CmdDescriptor_EmulationOpts) ProtoReflect added in v0.0.12

func (*CmdDescriptor_EmulationOpts) Reset

func (x *CmdDescriptor_EmulationOpts) Reset()

func (*CmdDescriptor_EmulationOpts) String

func (x *CmdDescriptor_EmulationOpts) String() string

type CmdDescriptor_PathType

type CmdDescriptor_PathType int32
const (
	CmdDescriptor_UNKNOWN_PATH_TYPE CmdDescriptor_PathType = 0
	CmdDescriptor_POSIX             CmdDescriptor_PathType = 1 // unix-style, slash separated.
	CmdDescriptor_WINDOWS           CmdDescriptor_PathType = 2 // windows-style. backslash separated.
)

func (CmdDescriptor_PathType) Descriptor added in v0.0.12

func (CmdDescriptor_PathType) Enum added in v0.0.12

func (CmdDescriptor_PathType) EnumDescriptor deprecated

func (CmdDescriptor_PathType) EnumDescriptor() ([]byte, []int)

Deprecated: Use CmdDescriptor_PathType.Descriptor instead.

func (CmdDescriptor_PathType) Number added in v0.0.12

func (CmdDescriptor_PathType) String

func (x CmdDescriptor_PathType) String() string

func (CmdDescriptor_PathType) Type added in v0.0.12

type CmdDescriptor_Setup

type CmdDescriptor_Setup struct {

	// If cmd_file.Path is abs path, then this command binary is installed
	// in image at the path, and no need to setup. when run command, use
	// this path instead of local_compiler_path.  files would be empty.
	//
	// If cmd_file.Path is relative path from cmd_dir, then this command
	// binary is installed at local_compiler_path as cmd run setup.  files
	// would be also installed.
	CmdFile  *FileSpec              `protobuf:"bytes,1,opt,name=cmd_file,json=cmdFile,proto3" json:"cmd_file,omitempty"`
	CmdDir   string                 `protobuf:"bytes,2,opt,name=cmd_dir,json=cmdDir,proto3" json:"cmd_dir,omitempty"`
	Files    []*FileSpec            `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` // relative to cmd path or absolute.
	PathType CmdDescriptor_PathType `protobuf:"varint,4,opt,name=path_type,json=pathType,proto3,enum=command.CmdDescriptor_PathType" json:"path_type,omitempty"`
	// contains filtered or unexported fields
}

command binaries to run. it includes driver program (e.g. gcc), and subprograms (e.g. cc1, cc1plus, as, objcopy etc). note: shared objects in standard dirs (/lib, /usr/lib, etc) will be included in image, so no need to install in each run. shared objects specified by RPATH (i.e. $ORIGIN/../lib, e.g. libstdc++.so.6 in chromium-clang) should be specified in files below.

path is represented in path type.

func (*CmdDescriptor_Setup) Descriptor deprecated

func (*CmdDescriptor_Setup) Descriptor() ([]byte, []int)

Deprecated: Use CmdDescriptor_Setup.ProtoReflect.Descriptor instead.

func (*CmdDescriptor_Setup) GetCmdDir

func (x *CmdDescriptor_Setup) GetCmdDir() string

func (*CmdDescriptor_Setup) GetCmdFile

func (x *CmdDescriptor_Setup) GetCmdFile() *FileSpec

func (*CmdDescriptor_Setup) GetFiles

func (x *CmdDescriptor_Setup) GetFiles() []*FileSpec

func (*CmdDescriptor_Setup) GetPathType

func (*CmdDescriptor_Setup) ProtoMessage

func (*CmdDescriptor_Setup) ProtoMessage()

func (*CmdDescriptor_Setup) ProtoReflect added in v0.0.12

func (x *CmdDescriptor_Setup) ProtoReflect() protoreflect.Message

func (*CmdDescriptor_Setup) Reset

func (x *CmdDescriptor_Setup) Reset()

func (*CmdDescriptor_Setup) String

func (x *CmdDescriptor_Setup) String() string

type Config

type Config struct {
	Target             *Target             `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	BuildInfo          *BuildInfo          `protobuf:"bytes,3,opt,name=build_info,json=buildInfo,proto3" json:"build_info,omitempty"`
	CmdDescriptor      *CmdDescriptor      `protobuf:"bytes,4,opt,name=cmd_descriptor,json=cmdDescriptor,proto3" json:"cmd_descriptor,omitempty"`
	RemoteexecPlatform *RemoteexecPlatform `protobuf:"bytes,5,opt,name=remoteexec_platform,json=remoteexecPlatform,proto3" json:"remoteexec_platform,omitempty"`
	// If this config is configured for arbitrary toolchain support,
	// set dimensions of the config. Otherwise, this should be nil.
	Dimensions []string `protobuf:"bytes,6,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
	Acl        *ACL     `protobuf:"bytes,7,opt,name=acl,proto3" json:"acl,omitempty"`
	// contains filtered or unexported fields
}

Config is a command config; mapping from selector.

func (*Config) Descriptor deprecated

func (*Config) Descriptor() ([]byte, []int)

Deprecated: Use Config.ProtoReflect.Descriptor instead.

func (*Config) GetAcl added in v0.0.17

func (x *Config) GetAcl() *ACL

func (*Config) GetBuildInfo

func (x *Config) GetBuildInfo() *BuildInfo

func (*Config) GetCmdDescriptor

func (x *Config) GetCmdDescriptor() *CmdDescriptor

func (*Config) GetDimensions

func (x *Config) GetDimensions() []string

func (*Config) GetRemoteexecPlatform

func (x *Config) GetRemoteexecPlatform() *RemoteexecPlatform

func (*Config) GetTarget

func (x *Config) GetTarget() *Target

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) ProtoReflect added in v0.0.12

func (x *Config) ProtoReflect() protoreflect.Message

func (*Config) Reset

func (x *Config) Reset()

func (*Config) String

func (x *Config) String() string

type ConfigMap

type ConfigMap struct {
	Runtimes []*RuntimeConfig `protobuf:"bytes,1,rep,name=runtimes,proto3" json:"runtimes,omitempty"`
	// contains filtered or unexported fields
}

ConfigMap is a config map; data source of Config. admin creates/updates the file in <bucket>/<config>.config and ConfigMapBucket will read the info.

func (*ConfigMap) Descriptor deprecated

func (*ConfigMap) Descriptor() ([]byte, []int)

Deprecated: Use ConfigMap.ProtoReflect.Descriptor instead.

func (*ConfigMap) GetRuntimes

func (x *ConfigMap) GetRuntimes() []*RuntimeConfig

func (*ConfigMap) ProtoMessage

func (*ConfigMap) ProtoMessage()

func (*ConfigMap) ProtoReflect added in v0.0.12

func (x *ConfigMap) ProtoReflect() protoreflect.Message

func (*ConfigMap) Reset

func (x *ConfigMap) Reset()

func (*ConfigMap) String

func (x *ConfigMap) String() string

type ConfigResp

type ConfigResp struct {
	VersionId string    `protobuf:"bytes,2,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
	Configs   []*Config `protobuf:"bytes,1,rep,name=configs,proto3" json:"configs,omitempty"`
	// contains filtered or unexported fields
}

TODO: remove ConfigResp.

func (*ConfigResp) Descriptor deprecated

func (*ConfigResp) Descriptor() ([]byte, []int)

Deprecated: Use ConfigResp.ProtoReflect.Descriptor instead.

func (*ConfigResp) GetConfigs

func (x *ConfigResp) GetConfigs() []*Config

func (*ConfigResp) GetVersionId

func (x *ConfigResp) GetVersionId() string

func (*ConfigResp) ProtoMessage

func (*ConfigResp) ProtoMessage()

func (*ConfigResp) ProtoReflect added in v0.0.12

func (x *ConfigResp) ProtoReflect() protoreflect.Message

func (*ConfigResp) Reset

func (x *ConfigResp) Reset()

func (*ConfigResp) String

func (x *ConfigResp) String() string

type FileSpec

type FileSpec struct {

	// path in client file system.
	// may be relative.
	// for cmd descriptor, it is relative to command binary directory.
	// (e.g. /usr/bin for /usr/bin/gcc).
	// for CmdReq, it is relative to working directory specified in cmd.Dir.
	Path         string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Size         int64  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	Hash         string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` // hash is empty, if file is symlink, or dir.
	IsExecutable bool   `protobuf:"varint,4,opt,name=is_executable,json=isExecutable,proto3" json:"is_executable,omitempty"`
	Symlink      string `protobuf:"bytes,5,opt,name=symlink,proto3" json:"symlink,omitempty"` // hash is empty.
	// used for goma api.
	HashKey string        `protobuf:"bytes,6,opt,name=hash_key,json=hashKey,proto3" json:"hash_key,omitempty"`
	Blob    *api.FileBlob `protobuf:"bytes,7,opt,name=blob,proto3" json:"blob,omitempty"`
	// contains filtered or unexported fields
}

FileSpec is a file metadata. content is identified by hash. NEXT_ID_TO_USE: 9

func (*FileSpec) Descriptor deprecated

func (*FileSpec) Descriptor() ([]byte, []int)

Deprecated: Use FileSpec.ProtoReflect.Descriptor instead.

func (*FileSpec) GetBlob

func (x *FileSpec) GetBlob() *api.FileBlob

func (*FileSpec) GetHash

func (x *FileSpec) GetHash() string

func (*FileSpec) GetHashKey

func (x *FileSpec) GetHashKey() string

func (*FileSpec) GetIsExecutable

func (x *FileSpec) GetIsExecutable() bool

func (*FileSpec) GetPath

func (x *FileSpec) GetPath() string

func (*FileSpec) GetSize

func (x *FileSpec) GetSize() int64
func (x *FileSpec) GetSymlink() string

func (*FileSpec) ProtoMessage

func (*FileSpec) ProtoMessage()

func (*FileSpec) ProtoReflect added in v0.0.12

func (x *FileSpec) ProtoReflect() protoreflect.Message

func (*FileSpec) Reset

func (x *FileSpec) Reset()

func (*FileSpec) String

func (x *FileSpec) String() string

type Install

type Install struct {

	// command key (e.g. "gcc", "clang++")
	// note that this value will be Selector name in command.proto.
	// in other words, this value must be the same with matching CommandSpec name
	// in api/goma_data.proto if the install is a compiler.
	// i.e. equivalent CompilerFlags::GetCompilerName.
	//
	// followings are known compiler keys (as of Jun 2017):
	// gcc, g++, clang, clang++, cl.exe, clang-cl, javac, ps3ppusnc.exe
	//
	// for subprogram etc, it should be basename
	// e.g. "libFindBadConstructs.so".
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// prefix dir (or toolchain root).
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// prefix_style represents how prefix need to be handled.
	PrefixStyle Install_PrefixStyle `` /* 128-byte string literal not displayed */
	// path in prefix dir.
	// actual binary should be found in "prefix/path".
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// glob for additional files (i.e. wrapper scripts, libs etc).
	// glob syntax is filepath.Match's.
	// relative to prefix dir.
	// if it ends with '/', all files under this dir will be added.
	Files       []string             `protobuf:"bytes,4,rep,name=files,proto3" json:"files,omitempty"`
	ForSelector *Install_ForSelector `protobuf:"bytes,5,opt,name=for_selector,json=forSelector,proto3" json:"for_selector,omitempty"`
	// clang_need_target is true if --target option is always needed
	// to run command.
	// https://clang.llvm.org/docs/CrossCompilation.html#target-triple
	// this can be also true if exec_server want to use client's raw target.
	// e.g. set --target x86_64-apple-darwin-10.8.0 sent by client.
	// note: this is clang/clang++ only.
	ClangNeedTarget bool `protobuf:"varint,6,opt,name=clang_need_target,json=clangNeedTarget,proto3" json:"clang_need_target,omitempty"`
	// windows_cross is true for windows cross compile on linux.
	WindowsCross bool `protobuf:"varint,8,opt,name=windows_cross,json=windowsCross,proto3" json:"windows_cross,omitempty"`
	// contains filtered or unexported fields
}

Install describes which command to be installed. path is represented as server path (posix style), and converted to client path in CmdDescriptor.Setup.

NEXT ID TO USE: 9

func (*Install) Descriptor deprecated

func (*Install) Descriptor() ([]byte, []int)

Deprecated: Use Install.ProtoReflect.Descriptor instead.

func (*Install) GetClangNeedTarget

func (x *Install) GetClangNeedTarget() bool

func (*Install) GetFiles

func (x *Install) GetFiles() []string

func (*Install) GetForSelector

func (x *Install) GetForSelector() *Install_ForSelector

func (*Install) GetKey

func (x *Install) GetKey() string

func (*Install) GetPath

func (x *Install) GetPath() string

func (*Install) GetPrefix

func (x *Install) GetPrefix() string

func (*Install) GetPrefixStyle

func (x *Install) GetPrefixStyle() Install_PrefixStyle

func (*Install) GetWindowsCross added in v0.0.18

func (x *Install) GetWindowsCross() bool

func (*Install) ProtoMessage

func (*Install) ProtoMessage()

func (*Install) ProtoReflect added in v0.0.12

func (x *Install) ProtoReflect() protoreflect.Message

func (*Install) Reset

func (x *Install) Reset()

func (*Install) String

func (x *Install) String() string

type Install_ForSelector

type Install_ForSelector struct {

	// target of this cross compile.
	// this is used for dispatching a compiler as a build target.
	// note that target must be normalized.
	// e.g. x86_64-darwin
	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// binary_hash_from represents a filename to calculate hash when selector is
	// made.
	// e.g. darwin/third_party/llvm-build/Release+Asserts/bin/clang
	//
	// if prefix_style above is either of REGEXP or
	// REGEXP_MAY_SKIP_BINARY_HASH_MISSING, you can use regexp grouping variable
	// here.
	// e.g. if prefix_style is REGEXP, prefix is linux/clang-([0-9]+) and
	// found clang-12345, binary_hash_from darwin/clang-$1/bin/clang is
	// automatically converted to darwin/clang-12345/bin/clang when this
	// field is used.
	// if prefix_style is REGEXP_MAY_SKIP_BINARY_HASH_MISSING and
	// darwin/clang-12345/bin/clang does not exist, setup_cmd just skip
	// to proceed setup of the command without error.
	BinaryHashFrom string `protobuf:"bytes,2,opt,name=binary_hash_from,json=binaryHashFrom,proto3" json:"binary_hash_from,omitempty"`
	// contains filtered or unexported fields
}

ForSelector is used for setting selector for cross compile. selector's name and version is set by compiler specified by prefix and path above. note that setup_cmd in cmd_server is responsible for setting version and equivalent hash, and setting cross option in CmdDescriptor. for compilers, the result of --version option must be the same between ForSelector and Install. for subprograms, the behavior must be the same between ForSelector and Install. ForSelector and Install are expected to be made from the same source code.

func (*Install_ForSelector) Descriptor deprecated

func (*Install_ForSelector) Descriptor() ([]byte, []int)

Deprecated: Use Install_ForSelector.ProtoReflect.Descriptor instead.

func (*Install_ForSelector) GetBinaryHashFrom

func (x *Install_ForSelector) GetBinaryHashFrom() string

func (*Install_ForSelector) GetTarget

func (x *Install_ForSelector) GetTarget() string

func (*Install_ForSelector) ProtoMessage

func (*Install_ForSelector) ProtoMessage()

func (*Install_ForSelector) ProtoReflect added in v0.0.12

func (x *Install_ForSelector) ProtoReflect() protoreflect.Message

func (*Install_ForSelector) Reset

func (x *Install_ForSelector) Reset()

func (*Install_ForSelector) String

func (x *Install_ForSelector) String() string

type Install_PrefixStyle

type Install_PrefixStyle int32

PrefixStyle represents a style of prefix. if it is ASIS, prefix parameter is read as-is. if it is REGEXP, prefix parameter is read as a regular expression. the install is automatically extended to all matching directories. e.g. if there is directory named clang-r123 and clang-r234, and clang-r[0-9]+ is set in prefix, install for both clang-r123 and clang-r234 are made. in this case, you can use grouping i.e. parentheses, and you can use the variables in binary_hash_from field in ForSelector. if it is REGEXP_MAY_OMIT_BINARY_HASH_MISSING, then apply REGEXP rule but skip if a file specified with binary_hash_from is missing.

const (
	Install_ASIS                                Install_PrefixStyle = 0
	Install_REGEXP                              Install_PrefixStyle = 1
	Install_REGEXP_MAY_SKIP_BINARY_HASH_MISSING Install_PrefixStyle = 2
)

func (Install_PrefixStyle) Descriptor added in v0.0.12

func (Install_PrefixStyle) Enum added in v0.0.12

func (Install_PrefixStyle) EnumDescriptor deprecated

func (Install_PrefixStyle) EnumDescriptor() ([]byte, []int)

Deprecated: Use Install_PrefixStyle.Descriptor instead.

func (Install_PrefixStyle) Number added in v0.0.12

func (Install_PrefixStyle) String

func (x Install_PrefixStyle) String() string

func (Install_PrefixStyle) Type added in v0.0.12

type PackageOpts

type PackageOpts struct {

	// emulation_command specifies which emulation layer is necessary for this package.
	// If empty, it means no emulation layer is necessary.
	EmulationCommand string `protobuf:"bytes,7,opt,name=emulation_command,json=emulationCommand,proto3" json:"emulation_command,omitempty"`
	// output_file_filters is a set of regexp to filter output files.
	OutputFileFilters []string `protobuf:"bytes,5,rep,name=output_file_filters,json=outputFileFilters,proto3" json:"output_file_filters,omitempty"`
	// contains filtered or unexported fields
}

PackageOpts is a package option. NEXT_ID_TO_USE: 8

func (*PackageOpts) Descriptor deprecated

func (*PackageOpts) Descriptor() ([]byte, []int)

Deprecated: Use PackageOpts.ProtoReflect.Descriptor instead.

func (*PackageOpts) GetEmulationCommand

func (x *PackageOpts) GetEmulationCommand() string

func (*PackageOpts) GetOutputFileFilters

func (x *PackageOpts) GetOutputFileFilters() []string

func (*PackageOpts) ProtoMessage

func (*PackageOpts) ProtoMessage()

func (*PackageOpts) ProtoReflect added in v0.0.12

func (x *PackageOpts) ProtoReflect() protoreflect.Message

func (*PackageOpts) Reset

func (x *PackageOpts) Reset()

func (*PackageOpts) String

func (x *PackageOpts) String() string

type Platform

type Platform struct {
	Properties []*Platform_Property `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"`
	// contains filtered or unexported fields
}

Platform is a set of requirements, such as haredware, operting system for RBE backend. matched with build.bazel.remote.execution.v2.Platform.

func (*Platform) Descriptor deprecated

func (*Platform) Descriptor() ([]byte, []int)

Deprecated: Use Platform.ProtoReflect.Descriptor instead.

func (*Platform) GetProperties

func (x *Platform) GetProperties() []*Platform_Property

func (*Platform) ProtoMessage

func (*Platform) ProtoMessage()

func (*Platform) ProtoReflect added in v0.0.12

func (x *Platform) ProtoReflect() protoreflect.Message

func (*Platform) Reset

func (x *Platform) Reset()

func (*Platform) String

func (x *Platform) String() string

type PlatformRuntimeConfig

type PlatformRuntimeConfig struct {
	Dimensions []string `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
	// Set true if nsjail is available in the platform image.
	HasNsjail bool `protobuf:"varint,2,opt,name=has_nsjail,json=hasNsjail,proto3" json:"has_nsjail,omitempty"`
	// contains filtered or unexported fields
}

PlatformRuntimeConfig is a config to use the runtime. NEXT ID TO USE: 3

func (*PlatformRuntimeConfig) Descriptor deprecated

func (*PlatformRuntimeConfig) Descriptor() ([]byte, []int)

Deprecated: Use PlatformRuntimeConfig.ProtoReflect.Descriptor instead.

func (*PlatformRuntimeConfig) GetDimensions

func (x *PlatformRuntimeConfig) GetDimensions() []string

func (*PlatformRuntimeConfig) GetHasNsjail added in v0.0.4

func (x *PlatformRuntimeConfig) GetHasNsjail() bool

func (*PlatformRuntimeConfig) ProtoMessage

func (*PlatformRuntimeConfig) ProtoMessage()

func (*PlatformRuntimeConfig) ProtoReflect added in v0.0.12

func (x *PlatformRuntimeConfig) ProtoReflect() protoreflect.Message

func (*PlatformRuntimeConfig) Reset

func (x *PlatformRuntimeConfig) Reset()

func (*PlatformRuntimeConfig) String

func (x *PlatformRuntimeConfig) String() string

type Platform_Property

type Platform_Property struct {
	Name  string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Platform_Property) Descriptor deprecated

func (*Platform_Property) Descriptor() ([]byte, []int)

Deprecated: Use Platform_Property.ProtoReflect.Descriptor instead.

func (*Platform_Property) GetName

func (x *Platform_Property) GetName() string

func (*Platform_Property) GetValue

func (x *Platform_Property) GetValue() string

func (*Platform_Property) ProtoMessage

func (*Platform_Property) ProtoMessage()

func (*Platform_Property) ProtoReflect added in v0.0.12

func (x *Platform_Property) ProtoReflect() protoreflect.Message

func (*Platform_Property) Reset

func (x *Platform_Property) Reset()

func (*Platform_Property) String

func (x *Platform_Property) String() string

type RemoteexecPlatform

type RemoteexecPlatform struct {
	Properties []*RemoteexecPlatform_Property `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"`
	// Basename of RBE instance to use. e.g. "default_instance" or "windows".
	RbeInstanceBasename string `protobuf:"bytes,2,opt,name=rbe_instance_basename,json=rbeInstanceBasename,proto3" json:"rbe_instance_basename,omitempty"`
	// Set true if nsjail is available in the platform image.
	// TODO: deprecated. always requires najail on linux platform.
	HasNsjail bool `protobuf:"varint,3,opt,name=has_nsjail,json=hasNsjail,proto3" json:"has_nsjail,omitempty"`
	// contains filtered or unexported fields
}

RemoteexecPlatform is a set of requirements, such as hardware, operating system, for an remoteexec API.

func (*RemoteexecPlatform) Descriptor deprecated

func (*RemoteexecPlatform) Descriptor() ([]byte, []int)

Deprecated: Use RemoteexecPlatform.ProtoReflect.Descriptor instead.

func (*RemoteexecPlatform) GetHasNsjail added in v0.0.4

func (x *RemoteexecPlatform) GetHasNsjail() bool

func (*RemoteexecPlatform) GetProperties

func (x *RemoteexecPlatform) GetProperties() []*RemoteexecPlatform_Property

func (*RemoteexecPlatform) GetRbeInstanceBasename

func (x *RemoteexecPlatform) GetRbeInstanceBasename() string

func (*RemoteexecPlatform) ProtoMessage

func (*RemoteexecPlatform) ProtoMessage()

func (*RemoteexecPlatform) ProtoReflect added in v0.0.12

func (x *RemoteexecPlatform) ProtoReflect() protoreflect.Message

func (*RemoteexecPlatform) Reset

func (x *RemoteexecPlatform) Reset()

func (*RemoteexecPlatform) String

func (x *RemoteexecPlatform) String() string

type RemoteexecPlatform_Property

type RemoteexecPlatform_Property struct {

	// The property name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The property value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*RemoteexecPlatform_Property) Descriptor deprecated

func (*RemoteexecPlatform_Property) Descriptor() ([]byte, []int)

Deprecated: Use RemoteexecPlatform_Property.ProtoReflect.Descriptor instead.

func (*RemoteexecPlatform_Property) GetName

func (x *RemoteexecPlatform_Property) GetName() string

func (*RemoteexecPlatform_Property) GetValue

func (x *RemoteexecPlatform_Property) GetValue() string

func (*RemoteexecPlatform_Property) ProtoMessage

func (*RemoteexecPlatform_Property) ProtoMessage()

func (*RemoteexecPlatform_Property) ProtoReflect added in v0.0.12

func (*RemoteexecPlatform_Property) Reset

func (x *RemoteexecPlatform_Property) Reset()

func (*RemoteexecPlatform_Property) String

func (x *RemoteexecPlatform_Property) String() string

type RuntimeConfig

type RuntimeConfig struct {

	// name of runtime.
	//
	// if this runtime config found in a bucket,
	// the following files will be detected in this name directory in the bucket:
	//
	//	seq
	//	<prebuilt-item>/descriptors/<descriptorHash>
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// service address for the runtime. i.e. RBE address.
	ServiceAddr string `protobuf:"bytes,2,opt,name=service_addr,json=serviceAddr,proto3" json:"service_addr,omitempty"`
	// If not nil, this runtime config will be also configured
	// for arbitrary toolchain support.
	// This is selector to use this runtime. i.e. if client request contains
	// the dimentions, this runtime config will be selected.
	PlatformRuntimeConfig *PlatformRuntimeConfig `` /* 126-byte string literal not displayed */
	// Platform is a set of requirements, such as hardware, operating system
	// for RBE backend.
	Platform *Platform `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"`
	// prebuilts prefix to allow.
	// if allowed_prebuilts specified, only prebuilts that are matched
	// by allowed_prebuilts is allowed. other prebuilts are disallowed.
	// if no allowed_prebuilts specified, any prebuilts are allowed
	// if it is not disallowed by disallowed_prebuilts.
	AllowedPrebuilts []string `protobuf:"bytes,3,rep,name=allowed_prebuilts,json=allowedPrebuilts,proto3" json:"allowed_prebuilts,omitempty"`
	// prebuilts prefix to disallow.
	// if no disallowed_prebuilts specified, only allowed_prebuilts is used.
	// if both are not specified, all prebuilts are allowed.
	DisallowedPrebuilts []string `protobuf:"bytes,4,rep,name=disallowed_prebuilts,json=disallowedPrebuilts,proto3" json:"disallowed_prebuilts,omitempty"`
	// commands that is disallowed in the runtime.
	// selector field is used for exact match, if it is specified.
	// selector field that is not specified in disallowed_commands will
	// match any selector.
	DisallowedCommands []*Selector `protobuf:"bytes,5,rep,name=disallowed_commands,json=disallowedCommands,proto3" json:"disallowed_commands,omitempty"`
	Acl                *ACL        `protobuf:"bytes,9,opt,name=acl,proto3" json:"acl,omitempty"`
	// contains filtered or unexported fields
}

RuntimeConfig is config for runtime. NEXT ID TO USE: 10

func (*RuntimeConfig) Descriptor deprecated

func (*RuntimeConfig) Descriptor() ([]byte, []int)

Deprecated: Use RuntimeConfig.ProtoReflect.Descriptor instead.

func (*RuntimeConfig) GetAcl added in v0.0.17

func (x *RuntimeConfig) GetAcl() *ACL

func (*RuntimeConfig) GetAllowedPrebuilts

func (x *RuntimeConfig) GetAllowedPrebuilts() []string

func (*RuntimeConfig) GetDisallowedCommands

func (x *RuntimeConfig) GetDisallowedCommands() []*Selector

func (*RuntimeConfig) GetDisallowedPrebuilts

func (x *RuntimeConfig) GetDisallowedPrebuilts() []string

func (*RuntimeConfig) GetName

func (x *RuntimeConfig) GetName() string

func (*RuntimeConfig) GetPlatform

func (x *RuntimeConfig) GetPlatform() *Platform

func (*RuntimeConfig) GetPlatformRuntimeConfig

func (x *RuntimeConfig) GetPlatformRuntimeConfig() *PlatformRuntimeConfig

func (*RuntimeConfig) GetServiceAddr

func (x *RuntimeConfig) GetServiceAddr() string

func (*RuntimeConfig) ProtoMessage

func (*RuntimeConfig) ProtoMessage()

func (*RuntimeConfig) ProtoReflect added in v0.0.12

func (x *RuntimeConfig) ProtoReflect() protoreflect.Message

func (*RuntimeConfig) Reset

func (x *RuntimeConfig) Reset()

func (*RuntimeConfig) String

func (x *RuntimeConfig) String() string

type Selector

type Selector struct {

	// command name.
	// name is command base name without version number and architecture.
	// i.e. it should be equivalent CompilerFlags::GetCompilerName.
	// e.g. "gcc", "g++", "clang", "libFindBadConstructs.so",
	// "libFindBadConstructs.dylib".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// version. e.g. "4.4.3[Ubuntu 4.4.3-4ubuntu5]"
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// compiler's target machine. e.g. gcc -dumpmachine.
	Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	// binary hash of the command (sha256, hexencoded)
	BinaryHash string `protobuf:"bytes,4,opt,name=binary_hash,json=binaryHash,proto3" json:"binary_hash,omitempty"`
	// contains filtered or unexported fields
}

Selector is a command selector. it is used to select a compiler or a subprogram/plugin to run on cmd_server by matching it with CommandSpec or SubprogramSpec in a request from goma client. a subprogram/plugin use name and binary_hash for matching. basename of path in SubprogramSpec should match with name in Selector. TODO: consider also using target.

func (*Selector) Descriptor deprecated

func (*Selector) Descriptor() ([]byte, []int)

Deprecated: Use Selector.ProtoReflect.Descriptor instead.

func (*Selector) GetBinaryHash

func (x *Selector) GetBinaryHash() string

func (*Selector) GetName

func (x *Selector) GetName() string

func (*Selector) GetTarget

func (x *Selector) GetTarget() string

func (*Selector) GetVersion

func (x *Selector) GetVersion() string

func (*Selector) ProtoMessage

func (*Selector) ProtoMessage()

func (*Selector) ProtoReflect added in v0.0.12

func (x *Selector) ProtoReflect() protoreflect.Message

func (*Selector) Reset

func (x *Selector) Reset()

func (*Selector) String

func (x *Selector) String() string

type Setup

type Setup struct {
	Installs []*Install `protobuf:"bytes,1,rep,name=installs,proto3" json:"installs,omitempty"`
	// contains filtered or unexported fields
}

func (*Setup) Descriptor deprecated

func (*Setup) Descriptor() ([]byte, []int)

Deprecated: Use Setup.ProtoReflect.Descriptor instead.

func (*Setup) GetInstalls

func (x *Setup) GetInstalls() []*Install

func (*Setup) ProtoMessage

func (*Setup) ProtoMessage()

func (*Setup) ProtoReflect added in v0.0.12

func (x *Setup) ProtoReflect() protoreflect.Message

func (*Setup) Reset

func (x *Setup) Reset()

func (*Setup) String

func (x *Setup) String() string

type Target

type Target struct {
	Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` // TBD: dial option?
	// contains filtered or unexported fields
}

Target is a target address.

func (*Target) Descriptor deprecated

func (*Target) Descriptor() ([]byte, []int)

Deprecated: Use Target.ProtoReflect.Descriptor instead.

func (*Target) GetAddr

func (x *Target) GetAddr() string

func (*Target) ProtoMessage

func (*Target) ProtoMessage()

func (*Target) ProtoReflect added in v0.0.12

func (x *Target) ProtoReflect() protoreflect.Message

func (*Target) Reset

func (x *Target) Reset()

func (*Target) String

func (x *Target) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL