go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/common/proto/srcman/manifest.pb.go (about)

     1  // Copyright 2017 The LUCI Authors. All rights reserved.
     2  // Use of this source code is governed under the Apache License, Version 2.0
     3  // that can be found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.31.0
     8  // 	protoc        v3.21.7
     9  // source: go.chromium.org/luci/common/proto/srcman/manifest.proto
    10  
    11  package srcman
    12  
    13  import (
    14  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    16  	reflect "reflect"
    17  	sync "sync"
    18  )
    19  
    20  const (
    21  	// Verify that this generated code is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    23  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    24  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    25  )
    26  
    27  // A Manifest attempts to make an accurate accounting of source/data directories
    28  // during the execution of a LUCI task.
    29  //
    30  // These directories are primarily in the form of e.g. git checkouts of
    31  // source, but also include things like isolated hashes and CIPD package
    32  // deployments. In the future, other deployment forms may be supported (like
    33  // other SCMs).
    34  //
    35  // The purpose of this manifest is so that other parts of the LUCI stack (e.g.
    36  // Milo) can work with the descriptions of this deployed data as a first-class
    37  // citizen. Initially this Manifest will be used to allow Milo to display diffs
    38  // between jobs, but it will also be useful for tools and humans to get a
    39  // record of exactly what data went into this LUCI task.
    40  //
    41  // Source Manifests can be emitted from recipes using the
    42  // 'recipe_engine/source_manifest' module.
    43  type Manifest struct {
    44  	state         protoimpl.MessageState
    45  	sizeCache     protoimpl.SizeCache
    46  	unknownFields protoimpl.UnknownFields
    47  
    48  	// Version will increment on backwards-incompatible changes only. Backwards
    49  	// compatible changes will not alter this version number.
    50  	//
    51  	// Currently, the only valid version number is 0.
    52  	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    53  	// Map of local file system directory path (with forward slashes) to
    54  	// a Directory message containing one or more deployments.
    55  	//
    56  	// The local path is relative to some job-specific root. This should be used
    57  	// for informational/display/organization purposes. In particular, think VERY
    58  	// CAREFULLY before you configure remote services/recipes to look for
    59  	// particular filesystem layouts here. For example, if you want to look for
    60  	// "the version of chromium/src checked out by the job", prefer to look for
    61  	// a Directory which checks out "chromium/src", as opposed to assuming this
    62  	// checkout lives in a top-level folder called "src". The reason for this is
    63  	// that jobs SHOULD reserve the right to do their checkouts in any way they
    64  	// please.
    65  	//
    66  	// If you feel like you need to make some service configuration which uses one
    67  	// of these local filesystem paths as a key, please consult with the Chrome
    68  	// Infrastructure team to see if there's a better alternative.
    69  	//
    70  	// Ex.
    71  	//
    72  	//	"": {...}  // root directory
    73  	//	"src/third_party/something": {...}
    74  	Directories map[string]*Manifest_Directory `protobuf:"bytes,2,rep,name=directories,proto3" json:"directories,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    75  }
    76  
    77  func (x *Manifest) Reset() {
    78  	*x = Manifest{}
    79  	if protoimpl.UnsafeEnabled {
    80  		mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[0]
    81  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    82  		ms.StoreMessageInfo(mi)
    83  	}
    84  }
    85  
    86  func (x *Manifest) String() string {
    87  	return protoimpl.X.MessageStringOf(x)
    88  }
    89  
    90  func (*Manifest) ProtoMessage() {}
    91  
    92  func (x *Manifest) ProtoReflect() protoreflect.Message {
    93  	mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[0]
    94  	if protoimpl.UnsafeEnabled && x != nil {
    95  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    96  		if ms.LoadMessageInfo() == nil {
    97  			ms.StoreMessageInfo(mi)
    98  		}
    99  		return ms
   100  	}
   101  	return mi.MessageOf(x)
   102  }
   103  
   104  // Deprecated: Use Manifest.ProtoReflect.Descriptor instead.
   105  func (*Manifest) Descriptor() ([]byte, []int) {
   106  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP(), []int{0}
   107  }
   108  
   109  func (x *Manifest) GetVersion() int32 {
   110  	if x != nil {
   111  		return x.Version
   112  	}
   113  	return 0
   114  }
   115  
   116  func (x *Manifest) GetDirectories() map[string]*Manifest_Directory {
   117  	if x != nil {
   118  		return x.Directories
   119  	}
   120  	return nil
   121  }
   122  
   123  // Links to an externally stored Manifest proto.
   124  type ManifestLink struct {
   125  	state         protoimpl.MessageState
   126  	sizeCache     protoimpl.SizeCache
   127  	unknownFields protoimpl.UnknownFields
   128  
   129  	// The fully qualified url of the Manifest proto. It's expected that this is
   130  	// a binary logdog stream consisting of exactly one Manifest proto. For now
   131  	// this will always be the `logdog` uri scheme, though it's feasible to put
   132  	// other uri schemes here later.
   133  	//
   134  	// Ex.
   135  	//
   136  	//	logdog://logs.chromium.org/infra/build/12345/+/some/path
   137  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   138  	// The hash of the Manifest's raw binary form (i.e. the bytes at the end of
   139  	// `url`, without any interpretation or decoding). Milo will use this as an
   140  	// optimization; Manifests will be interned once into Milo's datastore.
   141  	// Future hashes which match will not be loaded from the url, but will be
   142  	// assumed to be identical. If the sha256 doesn't match the data at the URL,
   143  	// Milo may render this build with the wrong manifest.
   144  	//
   145  	// This is the raw sha256, so it must be exactly 32 bytes.
   146  	Sha256 []byte `protobuf:"bytes,2,opt,name=sha256,proto3" json:"sha256,omitempty"`
   147  }
   148  
   149  func (x *ManifestLink) Reset() {
   150  	*x = ManifestLink{}
   151  	if protoimpl.UnsafeEnabled {
   152  		mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[1]
   153  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   154  		ms.StoreMessageInfo(mi)
   155  	}
   156  }
   157  
   158  func (x *ManifestLink) String() string {
   159  	return protoimpl.X.MessageStringOf(x)
   160  }
   161  
   162  func (*ManifestLink) ProtoMessage() {}
   163  
   164  func (x *ManifestLink) ProtoReflect() protoreflect.Message {
   165  	mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[1]
   166  	if protoimpl.UnsafeEnabled && x != nil {
   167  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   168  		if ms.LoadMessageInfo() == nil {
   169  			ms.StoreMessageInfo(mi)
   170  		}
   171  		return ms
   172  	}
   173  	return mi.MessageOf(x)
   174  }
   175  
   176  // Deprecated: Use ManifestLink.ProtoReflect.Descriptor instead.
   177  func (*ManifestLink) Descriptor() ([]byte, []int) {
   178  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP(), []int{1}
   179  }
   180  
   181  func (x *ManifestLink) GetUrl() string {
   182  	if x != nil {
   183  		return x.Url
   184  	}
   185  	return ""
   186  }
   187  
   188  func (x *ManifestLink) GetSha256() []byte {
   189  	if x != nil {
   190  		return x.Sha256
   191  	}
   192  	return nil
   193  }
   194  
   195  type Manifest_GitCheckout struct {
   196  	state         protoimpl.MessageState
   197  	sizeCache     protoimpl.SizeCache
   198  	unknownFields protoimpl.UnknownFields
   199  
   200  	// The canonicalized URL of the original repo that is considered the “source
   201  	// of truth” for the source code.
   202  	//
   203  	// Ex.
   204  	//
   205  	//	https://chromium.googlesource.com/chromium/tools/build
   206  	//	https://chromium.googlesource.com/infra/luci/recipes-py
   207  	RepoUrl string `protobuf:"bytes,1,opt,name=repo_url,json=repoUrl,proto3" json:"repo_url,omitempty"`
   208  	// If different from repo_url, this can be the URL of the repo that the source
   209  	// was actually fetched from (i.e. a mirror).
   210  	//
   211  	// If this is empty, it's presumed to be equal to repo_url.
   212  	//
   213  	// Ex.
   214  	//
   215  	//	https://github.com/luci/recipes-py
   216  	FetchUrl string `protobuf:"bytes,2,opt,name=fetch_url,json=fetchUrl,proto3" json:"fetch_url,omitempty"`
   217  	// The fully resolved revision (commit hash) of the source.
   218  	//
   219  	// This must always be a revision on the hosted repo (not any locally
   220  	// generated commit).
   221  	//
   222  	// Ex.
   223  	//
   224  	//	3617b0eea7ec74b8e731a23fed2f4070cbc284c4
   225  	Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"`
   226  	// The ref that the task used to resolve/fetch the revision of the source
   227  	// (if any).
   228  	//
   229  	// This must always be a ref on the hosted repo (not any local alias
   230  	// like 'refs/remotes/...').
   231  	//
   232  	// This must always be an absolute ref (i.e. starts with 'refs/'). An
   233  	// example of a non-absolute ref would be 'master'.
   234  	//
   235  	// Ex.
   236  	//
   237  	//	refs/heads/master
   238  	FetchRef string `protobuf:"bytes,4,opt,name=fetch_ref,json=fetchRef,proto3" json:"fetch_ref,omitempty"`
   239  	// If the checkout had a CL associated with it (i.e. a gerrit commit), this
   240  	// is the fully resolved revision (commit hash) of the CL. If there was no
   241  	// CL, this is empty. Typically the checkout application (e.g. bot_update)
   242  	// rebases this revision on top of the `revision` fetched above.
   243  	//
   244  	// If specified, this must always be a revision on the hosted repo (not any
   245  	// locally generated commit).
   246  	//
   247  	// Ex.
   248  	//
   249  	//	6b0b5c12443cfb93305f8d9e21f8d762c8dad9f0
   250  	PatchRevision string `protobuf:"bytes,5,opt,name=patch_revision,json=patchRevision,proto3" json:"patch_revision,omitempty"`
   251  	// If the checkout had a CL associated with it, this is the ref that the
   252  	// task used to fetch patch_revision. If `patch_revision` is supplied, this
   253  	// field is required. If there was no CL, this is empty.
   254  	//
   255  	// If specified, this must always be a ref on the hosted repo (not any local
   256  	// alias like 'refs/remotes/...').
   257  	//
   258  	// This must always be an absolute ref (i.e. starts with 'refs/').
   259  	//
   260  	// Ex.
   261  	//
   262  	//	refs/changes/04/511804/4
   263  	PatchFetchRef string `protobuf:"bytes,6,opt,name=patch_fetch_ref,json=patchFetchRef,proto3" json:"patch_fetch_ref,omitempty"`
   264  }
   265  
   266  func (x *Manifest_GitCheckout) Reset() {
   267  	*x = Manifest_GitCheckout{}
   268  	if protoimpl.UnsafeEnabled {
   269  		mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[2]
   270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   271  		ms.StoreMessageInfo(mi)
   272  	}
   273  }
   274  
   275  func (x *Manifest_GitCheckout) String() string {
   276  	return protoimpl.X.MessageStringOf(x)
   277  }
   278  
   279  func (*Manifest_GitCheckout) ProtoMessage() {}
   280  
   281  func (x *Manifest_GitCheckout) ProtoReflect() protoreflect.Message {
   282  	mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[2]
   283  	if protoimpl.UnsafeEnabled && x != nil {
   284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   285  		if ms.LoadMessageInfo() == nil {
   286  			ms.StoreMessageInfo(mi)
   287  		}
   288  		return ms
   289  	}
   290  	return mi.MessageOf(x)
   291  }
   292  
   293  // Deprecated: Use Manifest_GitCheckout.ProtoReflect.Descriptor instead.
   294  func (*Manifest_GitCheckout) Descriptor() ([]byte, []int) {
   295  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP(), []int{0, 0}
   296  }
   297  
   298  func (x *Manifest_GitCheckout) GetRepoUrl() string {
   299  	if x != nil {
   300  		return x.RepoUrl
   301  	}
   302  	return ""
   303  }
   304  
   305  func (x *Manifest_GitCheckout) GetFetchUrl() string {
   306  	if x != nil {
   307  		return x.FetchUrl
   308  	}
   309  	return ""
   310  }
   311  
   312  func (x *Manifest_GitCheckout) GetRevision() string {
   313  	if x != nil {
   314  		return x.Revision
   315  	}
   316  	return ""
   317  }
   318  
   319  func (x *Manifest_GitCheckout) GetFetchRef() string {
   320  	if x != nil {
   321  		return x.FetchRef
   322  	}
   323  	return ""
   324  }
   325  
   326  func (x *Manifest_GitCheckout) GetPatchRevision() string {
   327  	if x != nil {
   328  		return x.PatchRevision
   329  	}
   330  	return ""
   331  }
   332  
   333  func (x *Manifest_GitCheckout) GetPatchFetchRef() string {
   334  	if x != nil {
   335  		return x.PatchFetchRef
   336  	}
   337  	return ""
   338  }
   339  
   340  type Manifest_CIPDPackage struct {
   341  	state         protoimpl.MessageState
   342  	sizeCache     protoimpl.SizeCache
   343  	unknownFields protoimpl.UnknownFields
   344  
   345  	// The package pattern that was given to the CIPD client (if known).
   346  	//
   347  	// Ex.
   348  	//
   349  	//	infra/tools/luci/led/${platform}
   350  	PackagePattern string `protobuf:"bytes,1,opt,name=package_pattern,json=packagePattern,proto3" json:"package_pattern,omitempty"`
   351  	// The fully resolved instance ID of the deployed package.
   352  	//
   353  	// Ex.
   354  	//
   355  	//	0cfafb3a705bd8f05f86c6444ff500397fbb711c
   356  	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
   357  	// The unresolved version ID of the deployed package (if known).
   358  	//
   359  	// Ex.
   360  	//
   361  	//	git_revision:aaf3a2cfccc227b5141caa1b6b3502c9907d7420
   362  	//	latest
   363  	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
   364  }
   365  
   366  func (x *Manifest_CIPDPackage) Reset() {
   367  	*x = Manifest_CIPDPackage{}
   368  	if protoimpl.UnsafeEnabled {
   369  		mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[3]
   370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   371  		ms.StoreMessageInfo(mi)
   372  	}
   373  }
   374  
   375  func (x *Manifest_CIPDPackage) String() string {
   376  	return protoimpl.X.MessageStringOf(x)
   377  }
   378  
   379  func (*Manifest_CIPDPackage) ProtoMessage() {}
   380  
   381  func (x *Manifest_CIPDPackage) ProtoReflect() protoreflect.Message {
   382  	mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[3]
   383  	if protoimpl.UnsafeEnabled && x != nil {
   384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   385  		if ms.LoadMessageInfo() == nil {
   386  			ms.StoreMessageInfo(mi)
   387  		}
   388  		return ms
   389  	}
   390  	return mi.MessageOf(x)
   391  }
   392  
   393  // Deprecated: Use Manifest_CIPDPackage.ProtoReflect.Descriptor instead.
   394  func (*Manifest_CIPDPackage) Descriptor() ([]byte, []int) {
   395  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP(), []int{0, 1}
   396  }
   397  
   398  func (x *Manifest_CIPDPackage) GetPackagePattern() string {
   399  	if x != nil {
   400  		return x.PackagePattern
   401  	}
   402  	return ""
   403  }
   404  
   405  func (x *Manifest_CIPDPackage) GetInstanceId() string {
   406  	if x != nil {
   407  		return x.InstanceId
   408  	}
   409  	return ""
   410  }
   411  
   412  func (x *Manifest_CIPDPackage) GetVersion() string {
   413  	if x != nil {
   414  		return x.Version
   415  	}
   416  	return ""
   417  }
   418  
   419  // A Directory contains one or more descriptions of deployed artifacts. Note
   420  // that due to the practical nature of jobs on bots, it may be the case that
   421  // a given directory contains e.g. a git checkout and multiple cipd packages.
   422  type Manifest_Directory struct {
   423  	state         protoimpl.MessageState
   424  	sizeCache     protoimpl.SizeCache
   425  	unknownFields protoimpl.UnknownFields
   426  
   427  	GitCheckout *Manifest_GitCheckout `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
   428  	// The canonicalized hostname of the CIPD server which hosts the CIPD
   429  	// packages (if any). If no CIPD packages are in this Directory, this must
   430  	// be blank.
   431  	//
   432  	// Ex.
   433  	//
   434  	//	chrome-infra-packages.appspot.com
   435  	CipdServerHost string `protobuf:"bytes,2,opt,name=cipd_server_host,json=cipdServerHost,proto3" json:"cipd_server_host,omitempty"`
   436  	// Maps CIPD package name to CIPDPackage.
   437  	//
   438  	// Ex.
   439  	//
   440  	//	"some/package/name": {...}
   441  	//	"other/package": {...}
   442  	CipdPackage map[string]*Manifest_CIPDPackage `protobuf:"bytes,4,rep,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   443  }
   444  
   445  func (x *Manifest_Directory) Reset() {
   446  	*x = Manifest_Directory{}
   447  	if protoimpl.UnsafeEnabled {
   448  		mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[4]
   449  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   450  		ms.StoreMessageInfo(mi)
   451  	}
   452  }
   453  
   454  func (x *Manifest_Directory) String() string {
   455  	return protoimpl.X.MessageStringOf(x)
   456  }
   457  
   458  func (*Manifest_Directory) ProtoMessage() {}
   459  
   460  func (x *Manifest_Directory) ProtoReflect() protoreflect.Message {
   461  	mi := &file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[4]
   462  	if protoimpl.UnsafeEnabled && x != nil {
   463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   464  		if ms.LoadMessageInfo() == nil {
   465  			ms.StoreMessageInfo(mi)
   466  		}
   467  		return ms
   468  	}
   469  	return mi.MessageOf(x)
   470  }
   471  
   472  // Deprecated: Use Manifest_Directory.ProtoReflect.Descriptor instead.
   473  func (*Manifest_Directory) Descriptor() ([]byte, []int) {
   474  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP(), []int{0, 2}
   475  }
   476  
   477  func (x *Manifest_Directory) GetGitCheckout() *Manifest_GitCheckout {
   478  	if x != nil {
   479  		return x.GitCheckout
   480  	}
   481  	return nil
   482  }
   483  
   484  func (x *Manifest_Directory) GetCipdServerHost() string {
   485  	if x != nil {
   486  		return x.CipdServerHost
   487  	}
   488  	return ""
   489  }
   490  
   491  func (x *Manifest_Directory) GetCipdPackage() map[string]*Manifest_CIPDPackage {
   492  	if x != nil {
   493  		return x.CipdPackage
   494  	}
   495  	return nil
   496  }
   497  
   498  var File_go_chromium_org_luci_common_proto_srcman_manifest_proto protoreflect.FileDescriptor
   499  
   500  var file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDesc = []byte{
   501  	0x0a, 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   502  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72,
   503  	0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x72, 0x63, 0x6d, 0x61, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x69, 0x66,
   504  	0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x72, 0x63, 0x6d, 0x61,
   505  	0x6e, 0x22, 0xbb, 0x06, 0x0a, 0x08, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x18,
   506  	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
   507  	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x69, 0x72, 0x65,
   508  	0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
   509  	0x73, 0x72, 0x63, 0x6d, 0x61, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x2e,
   510  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
   511  	0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xcd, 0x01,
   512  	0x0a, 0x0b, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x19, 0x0a,
   513  	0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   514  	0x07, 0x72, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x74, 0x63,
   515  	0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x74,
   516  	0x63, 0x68, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
   517  	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
   518  	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04,
   519  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, 0x12, 0x25,
   520  	0x0a, 0x0e, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
   521  	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x76,
   522  	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x66,
   523  	0x65, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
   524  	0x70, 0x61, 0x74, 0x63, 0x68, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, 0x1a, 0x71, 0x0a,
   525  	0x0b, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f,
   526  	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18,
   527  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x61,
   528  	0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
   529  	0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74,
   530  	0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
   531  	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
   532  	0x1a, 0xb0, 0x02, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f,
   533  	0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01,
   534  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x72, 0x63, 0x6d, 0x61, 0x6e, 0x2e, 0x4d, 0x61,
   535  	0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
   536  	0x75, 0x74, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12,
   537  	0x28, 0x0a, 0x10, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68,
   538  	0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x69, 0x70, 0x64, 0x53,
   539  	0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x63, 0x69, 0x70,
   540  	0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
   541  	0x2b, 0x2e, 0x73, 0x72, 0x63, 0x6d, 0x61, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73,
   542  	0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x43, 0x69, 0x70, 0x64,
   543  	0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x69,
   544  	0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x1a, 0x5c, 0x0a, 0x10, 0x43, 0x69, 0x70,
   545  	0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
   546  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
   547  	0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
   548  	0x2e, 0x73, 0x72, 0x63, 0x6d, 0x61, 0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
   549  	0x2e, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61,
   550  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08,
   551  	0x06, 0x10, 0x07, 0x1a, 0x5a, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69,
   552  	0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
   553  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c,
   554  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x72, 0x63, 0x6d, 0x61,
   555  	0x6e, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
   556  	0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
   557  	0x38, 0x0a, 0x0c, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12,
   558  	0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
   559  	0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28,
   560  	0x0c, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x6f, 0x2e,
   561  	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63,
   562  	0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73,
   563  	0x72, 0x63, 0x6d, 0x61, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   564  }
   565  
   566  var (
   567  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescOnce sync.Once
   568  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescData = file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDesc
   569  )
   570  
   571  func file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescGZIP() []byte {
   572  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescOnce.Do(func() {
   573  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescData)
   574  	})
   575  	return file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDescData
   576  }
   577  
   578  var file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   579  var file_go_chromium_org_luci_common_proto_srcman_manifest_proto_goTypes = []interface{}{
   580  	(*Manifest)(nil),             // 0: srcman.Manifest
   581  	(*ManifestLink)(nil),         // 1: srcman.ManifestLink
   582  	(*Manifest_GitCheckout)(nil), // 2: srcman.Manifest.GitCheckout
   583  	(*Manifest_CIPDPackage)(nil), // 3: srcman.Manifest.CIPDPackage
   584  	(*Manifest_Directory)(nil),   // 4: srcman.Manifest.Directory
   585  	nil,                          // 5: srcman.Manifest.DirectoriesEntry
   586  	nil,                          // 6: srcman.Manifest.Directory.CipdPackageEntry
   587  }
   588  var file_go_chromium_org_luci_common_proto_srcman_manifest_proto_depIdxs = []int32{
   589  	5, // 0: srcman.Manifest.directories:type_name -> srcman.Manifest.DirectoriesEntry
   590  	2, // 1: srcman.Manifest.Directory.git_checkout:type_name -> srcman.Manifest.GitCheckout
   591  	6, // 2: srcman.Manifest.Directory.cipd_package:type_name -> srcman.Manifest.Directory.CipdPackageEntry
   592  	4, // 3: srcman.Manifest.DirectoriesEntry.value:type_name -> srcman.Manifest.Directory
   593  	3, // 4: srcman.Manifest.Directory.CipdPackageEntry.value:type_name -> srcman.Manifest.CIPDPackage
   594  	5, // [5:5] is the sub-list for method output_type
   595  	5, // [5:5] is the sub-list for method input_type
   596  	5, // [5:5] is the sub-list for extension type_name
   597  	5, // [5:5] is the sub-list for extension extendee
   598  	0, // [0:5] is the sub-list for field type_name
   599  }
   600  
   601  func init() { file_go_chromium_org_luci_common_proto_srcman_manifest_proto_init() }
   602  func file_go_chromium_org_luci_common_proto_srcman_manifest_proto_init() {
   603  	if File_go_chromium_org_luci_common_proto_srcman_manifest_proto != nil {
   604  		return
   605  	}
   606  	if !protoimpl.UnsafeEnabled {
   607  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   608  			switch v := v.(*Manifest); i {
   609  			case 0:
   610  				return &v.state
   611  			case 1:
   612  				return &v.sizeCache
   613  			case 2:
   614  				return &v.unknownFields
   615  			default:
   616  				return nil
   617  			}
   618  		}
   619  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   620  			switch v := v.(*ManifestLink); i {
   621  			case 0:
   622  				return &v.state
   623  			case 1:
   624  				return &v.sizeCache
   625  			case 2:
   626  				return &v.unknownFields
   627  			default:
   628  				return nil
   629  			}
   630  		}
   631  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   632  			switch v := v.(*Manifest_GitCheckout); i {
   633  			case 0:
   634  				return &v.state
   635  			case 1:
   636  				return &v.sizeCache
   637  			case 2:
   638  				return &v.unknownFields
   639  			default:
   640  				return nil
   641  			}
   642  		}
   643  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   644  			switch v := v.(*Manifest_CIPDPackage); i {
   645  			case 0:
   646  				return &v.state
   647  			case 1:
   648  				return &v.sizeCache
   649  			case 2:
   650  				return &v.unknownFields
   651  			default:
   652  				return nil
   653  			}
   654  		}
   655  		file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   656  			switch v := v.(*Manifest_Directory); i {
   657  			case 0:
   658  				return &v.state
   659  			case 1:
   660  				return &v.sizeCache
   661  			case 2:
   662  				return &v.unknownFields
   663  			default:
   664  				return nil
   665  			}
   666  		}
   667  	}
   668  	type x struct{}
   669  	out := protoimpl.TypeBuilder{
   670  		File: protoimpl.DescBuilder{
   671  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   672  			RawDescriptor: file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDesc,
   673  			NumEnums:      0,
   674  			NumMessages:   7,
   675  			NumExtensions: 0,
   676  			NumServices:   0,
   677  		},
   678  		GoTypes:           file_go_chromium_org_luci_common_proto_srcman_manifest_proto_goTypes,
   679  		DependencyIndexes: file_go_chromium_org_luci_common_proto_srcman_manifest_proto_depIdxs,
   680  		MessageInfos:      file_go_chromium_org_luci_common_proto_srcman_manifest_proto_msgTypes,
   681  	}.Build()
   682  	File_go_chromium_org_luci_common_proto_srcman_manifest_proto = out.File
   683  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_rawDesc = nil
   684  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_goTypes = nil
   685  	file_go_chromium_org_luci_common_proto_srcman_manifest_proto_depIdxs = nil
   686  }