blob: 2be22764bf1ff4472c139b8333530405a472d9ff [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: command/setup.proto
package command
import (
fmt "fmt"
proto ""
math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// 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.
// but skip if a file specified with binary_hash_from is missing.
type Install_PrefixStyle int32
const (
Install_ASIS Install_PrefixStyle = 0
Install_REGEXP Install_PrefixStyle = 1
var Install_PrefixStyle_name = map[int32]string{
0: "ASIS",
1: "REGEXP",
var Install_PrefixStyle_value = map[string]int32{
"ASIS": 0,
"REGEXP": 1,
func (x Install_PrefixStyle) String() string {
return proto.EnumName(Install_PrefixStyle_name, int32(x))
func (Install_PrefixStyle) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_b38a5ba41df99617, []int{0, 0}
// Install describes which command to be installed.
// path is represented as server path (posix style),
// and converted to client path in CmdDescriptor.Setup.
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. "".
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 `protobuf:"varint,7,opt,name=prefix_style,json=prefixStyle,proto3,enum=command.Install_PrefixStyle" json:"prefix_style,omitempty"`
// 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.
// 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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
func (m *Install) Reset() { *m = Install{} }
func (m *Install) String() string { return proto.CompactTextString(m) }
func (*Install) ProtoMessage() {}
func (*Install) Descriptor() ([]byte, []int) {
return fileDescriptor_b38a5ba41df99617, []int{0}
func (m *Install) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Install.Unmarshal(m, b)
func (m *Install) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Install.Marshal(b, m, deterministic)
func (m *Install) XXX_Merge(src proto.Message) {
xxx_messageInfo_Install.Merge(m, src)
func (m *Install) XXX_Size() int {
return xxx_messageInfo_Install.Size(m)
func (m *Install) XXX_DiscardUnknown() {
var xxx_messageInfo_Install proto.InternalMessageInfo
func (m *Install) GetKey() string {
if m != nil {
return m.Key
return ""
func (m *Install) GetPrefix() string {
if m != nil {
return m.Prefix
return ""
func (m *Install) GetPrefixStyle() Install_PrefixStyle {
if m != nil {
return m.PrefixStyle
return Install_ASIS
func (m *Install) GetPath() string {
if m != nil {
return m.Path
return ""
func (m *Install) GetFiles() []string {
if m != nil {
return m.Files
return nil
func (m *Install) GetForSelector() *Install_ForSelector {
if m != nil {
return m.ForSelector
return nil
func (m *Install) GetClangNeedTarget() bool {
if m != nil {
return m.ClangNeedTarget
return false
// 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.
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"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
func (m *Install_ForSelector) Reset() { *m = Install_ForSelector{} }
func (m *Install_ForSelector) String() string { return proto.CompactTextString(m) }
func (*Install_ForSelector) ProtoMessage() {}
func (*Install_ForSelector) Descriptor() ([]byte, []int) {
return fileDescriptor_b38a5ba41df99617, []int{0, 0}
func (m *Install_ForSelector) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Install_ForSelector.Unmarshal(m, b)
func (m *Install_ForSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Install_ForSelector.Marshal(b, m, deterministic)
func (m *Install_ForSelector) XXX_Merge(src proto.Message) {
xxx_messageInfo_Install_ForSelector.Merge(m, src)
func (m *Install_ForSelector) XXX_Size() int {
return xxx_messageInfo_Install_ForSelector.Size(m)
func (m *Install_ForSelector) XXX_DiscardUnknown() {
var xxx_messageInfo_Install_ForSelector proto.InternalMessageInfo
func (m *Install_ForSelector) GetTarget() string {
if m != nil {
return m.Target
return ""
func (m *Install_ForSelector) GetBinaryHashFrom() string {
if m != nil {
return m.BinaryHashFrom
return ""
type Setup struct {
Installs []*Install `protobuf:"bytes,1,rep,name=installs,proto3" json:"installs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
func (m *Setup) Reset() { *m = Setup{} }
func (m *Setup) String() string { return proto.CompactTextString(m) }
func (*Setup) ProtoMessage() {}
func (*Setup) Descriptor() ([]byte, []int) {
return fileDescriptor_b38a5ba41df99617, []int{1}
func (m *Setup) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Setup.Unmarshal(m, b)
func (m *Setup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Setup.Marshal(b, m, deterministic)
func (m *Setup) XXX_Merge(src proto.Message) {
xxx_messageInfo_Setup.Merge(m, src)
func (m *Setup) XXX_Size() int {
return xxx_messageInfo_Setup.Size(m)
func (m *Setup) XXX_DiscardUnknown() {
var xxx_messageInfo_Setup proto.InternalMessageInfo
func (m *Setup) GetInstalls() []*Install {
if m != nil {
return m.Installs
return nil
func init() {
proto.RegisterEnum("command.Install_PrefixStyle", Install_PrefixStyle_name, Install_PrefixStyle_value)
proto.RegisterType((*Install)(nil), "command.Install")
proto.RegisterType((*Install_ForSelector)(nil), "command.Install.ForSelector")
proto.RegisterType((*Setup)(nil), "command.Setup")
func init() { proto.RegisterFile("command/setup.proto", fileDescriptor_b38a5ba41df99617) }
var fileDescriptor_b38a5ba41df99617 = []byte{
// 374 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x52, 0xd1, 0x8a, 0xd4, 0x30,
0x14, 0xb5, 0xd3, 0x4e, 0xa7, 0x7b, 0x2b, 0x6b, 0x8d, 0x22, 0x41, 0x7c, 0x28, 0xe3, 0x83, 0x45,
0xa4, 0xc2, 0xfa, 0x01, 0x52, 0x61, 0x77, 0x5b, 0x75, 0xc7, 0x21, 0xf1, 0xc1, 0x7d, 0x0a, 0xd9,
0x4e, 0x3a, 0x2d, 0xd3, 0x36, 0x25, 0x89, 0xe0, 0xfc, 0x92, 0x5f, 0x29, 0x6d, 0x83, 0x33, 0x88,
0x6f, 0xe7, 0x9c, 0x1c, 0xce, 0xe5, 0x9e, 0x5c, 0x78, 0x56, 0xca, 0xae, 0xe3, 0xfd, 0xee, 0xbd,
0x16, 0xe6, 0xe7, 0x90, 0x0e, 0x4a, 0x1a, 0x89, 0x56, 0x56, 0x5c, 0xff, 0x76, 0x61, 0x55, 0xf4,
0xda, 0xf0, 0xb6, 0x45, 0x11, 0xb8, 0x07, 0x71, 0xc4, 0x4e, 0xec, 0x24, 0x17, 0x64, 0x84, 0xe8,
0x05, 0xf8, 0x83, 0x12, 0x55, 0xf3, 0x0b, 0x2f, 0x26, 0xd1, 0x32, 0xf4, 0x11, 0x1e, 0xcf, 0x88,
0x69, 0x73, 0x6c, 0x05, 0x5e, 0xc5, 0x4e, 0x72, 0x79, 0xf5, 0x2a, 0xb5, 0xa9, 0xa9, 0x4d, 0x4c,
0xb7, 0x93, 0x89, 0x8e, 0x1e, 0x12, 0x0e, 0x27, 0x82, 0x10, 0x78, 0x03, 0x37, 0x35, 0x76, 0xa7,
0xd8, 0x09, 0xa3, 0xe7, 0xb0, 0xac, 0x9a, 0x56, 0x68, 0xec, 0xc5, 0x6e, 0x72, 0x41, 0x66, 0x32,
0x8e, 0xaa, 0xa4, 0x62, 0x5a, 0xb4, 0xa2, 0x34, 0x52, 0xe1, 0x65, 0xec, 0x24, 0xe1, 0x7f, 0x46,
0xdd, 0x48, 0x45, 0xad, 0x87, 0x84, 0xd5, 0x89, 0xa0, 0xb7, 0xf0, 0xb4, 0x6c, 0x79, 0xbf, 0x67,
0xbd, 0x10, 0x3b, 0x66, 0xb8, 0xda, 0x0b, 0x83, 0xfd, 0xd8, 0x49, 0x02, 0xf2, 0x64, 0x7a, 0xd8,
0x08, 0xb1, 0xfb, 0x3e, 0xc9, 0x2f, 0xbf, 0x41, 0x78, 0x96, 0x33, 0xae, 0x6f, 0xfd, 0x73, 0x27,
0x96, 0xa1, 0x04, 0xa2, 0x87, 0xa6, 0xe7, 0xea, 0xc8, 0x6a, 0xae, 0x6b, 0x56, 0x29, 0xd9, 0xd9,
0x82, 0x2e, 0x67, 0x3d, 0xe7, 0xba, 0xbe, 0x51, 0xb2, 0x5b, 0x7f, 0x85, 0xf0, 0xac, 0x03, 0x14,
0x80, 0x97, 0xd1, 0x82, 0x46, 0x8f, 0x10, 0x80, 0x4f, 0xae, 0x6f, 0xaf, 0x7f, 0x6c, 0x23, 0x07,
0xbd, 0x81, 0xd7, 0x33, 0x66, 0x77, 0xd9, 0x3d, 0xa3, 0x5f, 0x8a, 0x2d, 0xfb, 0x54, 0x6c, 0x32,
0x72, 0xcf, 0xf2, 0x8c, 0xe6, 0xec, 0xae, 0xa0, 0xb4, 0xd8, 0xdc, 0x46, 0x8b, 0x75, 0x0e, 0x4b,
0x3a, 0x7e, 0x22, 0x7a, 0x07, 0x41, 0x33, 0xef, 0xad, 0xb1, 0x13, 0xbb, 0x49, 0x78, 0x15, 0xfd,
0x5b, 0x08, 0xf9, 0xeb, 0xf8, 0xec, 0x05, 0x8b, 0xc8, 0x25, 0xe1, 0xc0, 0xcb, 0x03, 0xdf, 0x0b,
0x26, 0x07, 0xf3, 0xe0, 0x4f, 0x67, 0xf0, 0xe1, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0x82,
0x2c, 0x6b, 0x1d, 0x02, 0x00, 0x00,