1// Copyright (C) 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// A proto definition used to parse METADATA file in third party projects.
16
17// This proto will only contain fields and values used by android compliance.
18// It is not intended to be the formal definition of METADATA file.
19
20// See google3/third_party/metadata.proto if you need to add more stuff to
21// match upstream. Do not add new fields and values here. Add them upstream
22// when necessary, and copy them here.
23
24// Code generated by protoc-gen-go. DO NOT EDIT.
25// versions:
26// 	protoc-gen-go v1.28.0
27// 	protoc        v3.12.4
28// source: project_metadata.proto
29
30package project_metadata_proto
31
32import (
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35	reflect "reflect"
36	sync "sync"
37)
38
39const (
40	// Verify that this generated code is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
42	// Verify that runtime/protoimpl is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
44)
45
46// License type that identifies how the packages may be used. See
47// go/thirdpartylicenses for full explanation of each license type.
48type LicenseType int32
49
50const (
51	LicenseType_BY_EXCEPTION_ONLY               LicenseType = 1
52	LicenseType_NOTICE                          LicenseType = 2
53	LicenseType_PERMISSIVE                      LicenseType = 3
54	LicenseType_RECIPROCAL                      LicenseType = 4
55	LicenseType_RESTRICTED_IF_STATICALLY_LINKED LicenseType = 5
56	LicenseType_RESTRICTED                      LicenseType = 6
57	LicenseType_UNENCUMBERED                    LicenseType = 7
58)
59
60// Enum value maps for LicenseType.
61var (
62	LicenseType_name = map[int32]string{
63		1: "BY_EXCEPTION_ONLY",
64		2: "NOTICE",
65		3: "PERMISSIVE",
66		4: "RECIPROCAL",
67		5: "RESTRICTED_IF_STATICALLY_LINKED",
68		6: "RESTRICTED",
69		7: "UNENCUMBERED",
70	}
71	LicenseType_value = map[string]int32{
72		"BY_EXCEPTION_ONLY":               1,
73		"NOTICE":                          2,
74		"PERMISSIVE":                      3,
75		"RECIPROCAL":                      4,
76		"RESTRICTED_IF_STATICALLY_LINKED": 5,
77		"RESTRICTED":                      6,
78		"UNENCUMBERED":                    7,
79	}
80)
81
82func (x LicenseType) Enum() *LicenseType {
83	p := new(LicenseType)
84	*p = x
85	return p
86}
87
88func (x LicenseType) String() string {
89	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
90}
91
92func (LicenseType) Descriptor() protoreflect.EnumDescriptor {
93	return file_project_metadata_proto_enumTypes[0].Descriptor()
94}
95
96func (LicenseType) Type() protoreflect.EnumType {
97	return &file_project_metadata_proto_enumTypes[0]
98}
99
100func (x LicenseType) Number() protoreflect.EnumNumber {
101	return protoreflect.EnumNumber(x)
102}
103
104// Deprecated: Do not use.
105func (x *LicenseType) UnmarshalJSON(b []byte) error {
106	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
107	if err != nil {
108		return err
109	}
110	*x = LicenseType(num)
111	return nil
112}
113
114// Deprecated: Use LicenseType.Descriptor instead.
115func (LicenseType) EnumDescriptor() ([]byte, []int) {
116	return file_project_metadata_proto_rawDescGZIP(), []int{0}
117}
118
119type URL_Type int32
120
121const (
122	// The homepage for the package. For example, "https://bazel.io/". This URL
123	// is optional, but encouraged to help disambiguate similarly named packages
124	// or to get more information about the package. This is especially helpful
125	// when no other URLs provide human readable resources (such as git:// or
126	// sso:// URLs).
127	URL_HOMEPAGE URL_Type = 1
128	// The URL of the archive containing the source code for the package, for
129	// example a zip or tgz file.
130	URL_ARCHIVE URL_Type = 2
131	// The URL of the upstream git repository this package is retrieved from.
132	// For example:
133	//   - https://github.com/git/git.git
134	//   - git://git.kernel.org/pub/scm/git/git.git
135	//
136	// Use of a git URL requires that the package "version" value must specify a
137	// specific git tag or revision.
138	URL_GIT URL_Type = 3
139	// The URL of the upstream SVN repository this package is retrieved from.
140	// For example:
141	//   - http://llvm.org/svn/llvm-project/llvm/
142	//
143	// Use of an SVN URL requires that the package "version" value must specify
144	// a specific SVN tag or revision.
145	URL_SVN URL_Type = 7
146	// The URL of the upstream mercurial repository this package is retrieved
147	// from. For example:
148	//   - https://mercurial-scm.org/repo/evolve
149	//
150	// Use of a mercurial URL requires that the package "version" value must
151	// specify a specific tag or revision.
152	URL_HG URL_Type = 8
153	// The URL of the upstream darcs repository this package is retrieved
154	// from. For example:
155	//   - https://hub.darcs.net/hu.dwim/hu.dwim.util
156	//
157	// Use of a DARCS URL requires that the package "version" value must
158	// specify a specific tag or revision.
159	URL_DARCS URL_Type = 9
160	// The URL of the upstream piper location.  This is primarily used when a
161	// package is being migrated into third_party from elsewhere in piper, or
162	// when a package is being newly developed in third_party.  For newly
163	// developed packages, the PIPER URL should reference the package itself
164	// (e.g. "http://google3/third_party/my/package")
165	URL_PIPER URL_Type = 4
166	// A URL that does not fit any other type. This may also indicate that the
167	// source code was received via email or some other out-of-band way. This is
168	// most commonly used with commercial software received directly from the
169	// vendor. In the case of email, the URL value can be used to provide
170	// additional information about how it was received.
171	URL_OTHER URL_Type = 11
172	// The URL identifying where the local copy of the package source code can
173	// be found.
174	//
175	// Typically, the metadata files describing a package reside in the same
176	// directory as the source code for the package. In a few rare cases where
177	// they are separate, the LOCAL_SOURCE URL identifies where to find the
178	// source code. This only describes where to find the local copy of the
179	// source; there should always be an additional URL describing where the
180	// package was retrieved from.
181	//
182	// Examples:
183	//   - http://google3/third_party/java_src/gerritcodereview/gerrit/
184	//   - https://android.googlesource.com/platform/external/apache-http/
185	URL_LOCAL_SOURCE URL_Type = 6
186)
187
188// Enum value maps for URL_Type.
189var (
190	URL_Type_name = map[int32]string{
191		1:  "HOMEPAGE",
192		2:  "ARCHIVE",
193		3:  "GIT",
194		7:  "SVN",
195		8:  "HG",
196		9:  "DARCS",
197		4:  "PIPER",
198		11: "OTHER",
199		6:  "LOCAL_SOURCE",
200	}
201	URL_Type_value = map[string]int32{
202		"HOMEPAGE":     1,
203		"ARCHIVE":      2,
204		"GIT":          3,
205		"SVN":          7,
206		"HG":           8,
207		"DARCS":        9,
208		"PIPER":        4,
209		"OTHER":        11,
210		"LOCAL_SOURCE": 6,
211	}
212)
213
214func (x URL_Type) Enum() *URL_Type {
215	p := new(URL_Type)
216	*p = x
217	return p
218}
219
220func (x URL_Type) String() string {
221	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
222}
223
224func (URL_Type) Descriptor() protoreflect.EnumDescriptor {
225	return file_project_metadata_proto_enumTypes[1].Descriptor()
226}
227
228func (URL_Type) Type() protoreflect.EnumType {
229	return &file_project_metadata_proto_enumTypes[1]
230}
231
232func (x URL_Type) Number() protoreflect.EnumNumber {
233	return protoreflect.EnumNumber(x)
234}
235
236// Deprecated: Do not use.
237func (x *URL_Type) UnmarshalJSON(b []byte) error {
238	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
239	if err != nil {
240		return err
241	}
242	*x = URL_Type(num)
243	return nil
244}
245
246// Deprecated: Use URL_Type.Descriptor instead.
247func (URL_Type) EnumDescriptor() ([]byte, []int) {
248	return file_project_metadata_proto_rawDescGZIP(), []int{2, 0}
249}
250
251type Metadata struct {
252	state         protoimpl.MessageState
253	sizeCache     protoimpl.SizeCache
254	unknownFields protoimpl.UnknownFields
255
256	// Name of this API/package.
257	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
258	// A short description (a few lines) of the package. It will be
259	// included on the summary page.
260	// Example: "Handles location lookups, throttling, batching, etc."
261	Description *string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
262	// Specifies additional data about third-party packages.
263	ThirdParty *ThirdParty `protobuf:"bytes,13,opt,name=third_party,json=thirdParty" json:"third_party,omitempty"`
264}
265
266func (x *Metadata) Reset() {
267	*x = Metadata{}
268	if protoimpl.UnsafeEnabled {
269		mi := &file_project_metadata_proto_msgTypes[0]
270		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
271		ms.StoreMessageInfo(mi)
272	}
273}
274
275func (x *Metadata) String() string {
276	return protoimpl.X.MessageStringOf(x)
277}
278
279func (*Metadata) ProtoMessage() {}
280
281func (x *Metadata) ProtoReflect() protoreflect.Message {
282	mi := &file_project_metadata_proto_msgTypes[0]
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 Metadata.ProtoReflect.Descriptor instead.
294func (*Metadata) Descriptor() ([]byte, []int) {
295	return file_project_metadata_proto_rawDescGZIP(), []int{0}
296}
297
298func (x *Metadata) GetName() string {
299	if x != nil && x.Name != nil {
300		return *x.Name
301	}
302	return ""
303}
304
305func (x *Metadata) GetDescription() string {
306	if x != nil && x.Description != nil {
307		return *x.Description
308	}
309	return ""
310}
311
312func (x *Metadata) GetThirdParty() *ThirdParty {
313	if x != nil {
314		return x.ThirdParty
315	}
316	return nil
317}
318
319type ThirdParty struct {
320	state         protoimpl.MessageState
321	sizeCache     protoimpl.SizeCache
322	unknownFields protoimpl.UnknownFields
323
324	// URL(s) associated with the package.
325	//
326	// At a minimum, all packages must specify a URL which identifies where it
327	// came from, containing a type of: ARCHIVE, GIT, PIPER, or OTHER. Typically,
328	// a package should contain only a single URL from these types.  Occasionally,
329	// a package may be broken across multiple archive files for whatever reason,
330	// in which case having multiple ARCHIVE URLs is okay.  However, this should
331	// not be used to combine different logical packages that are versioned and
332	// possibly licensed differently.
333	Url []*URL `protobuf:"bytes,1,rep,name=url" json:"url,omitempty"`
334	// The package version.  In order of preference, this should contain:
335	//   - If the package comes from Git or another source control system,
336	//     a specific tag or revision in source control, such as "r123" or
337	//     "58e27d2".  This MUST NOT be a mutable ref such as a branch name.
338	//   - a released package version such as "1.0", "2.3-beta", etc.
339	//   - the date the package was retrieved, formatted as "As of YYYY-MM-DD".
340	Version *string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
341	// The date of the change in which the package was last upgraded from
342	// upstream.
343	// This should only identify package upgrades from upstream, not local
344	// modifications. This may identify the date of either the original or
345	// merged change.
346	//
347	// Note: this is NOT the date that this version of the package was released
348	// externally.
349	LastUpgradeDate *Date `protobuf:"bytes,10,opt,name=last_upgrade_date,json=lastUpgradeDate" json:"last_upgrade_date,omitempty"`
350	// License type that identifies how the package may be used. See
351	// go/thirdpartylicenses for instructions on selecting the appropriate type.
352	LicenseType *LicenseType `protobuf:"varint,4,opt,name=license_type,json=licenseType,enum=project_metadata.LicenseType" json:"license_type,omitempty"`
353	// Description of local changes that have been made to the package.  This does
354	// not need to (and in most cases should not) attempt to include an exhaustive
355	// list of all changes, but may instead direct readers to review the local
356	// commit history, a collection of patch files, a separate README.md (or
357	// similar) document, etc.
358	// Note: Use of this field to store IDs of advisories fixed with a backported
359	// patch is deprecated, use "security.mitigated_security_patch" instead.
360	LocalModifications *string `protobuf:"bytes,6,opt,name=local_modifications,json=localModifications" json:"local_modifications,omitempty"`
361	// The URL for any public mirror created for compliance purposes.
362	// See go/thirdpartylicenses#reciprocal policy for more details.
363	ComplianceMirrorUrl *string `protobuf:"bytes,12,opt,name=compliance_mirror_url,json=complianceMirrorUrl" json:"compliance_mirror_url,omitempty"`
364	// The homepage for the package. This will eventually replace
365	// `url { type: HOMEPAGE }`
366	Homepage *string `protobuf:"bytes,14,opt,name=homepage" json:"homepage,omitempty"`
367}
368
369func (x *ThirdParty) Reset() {
370	*x = ThirdParty{}
371	if protoimpl.UnsafeEnabled {
372		mi := &file_project_metadata_proto_msgTypes[1]
373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
374		ms.StoreMessageInfo(mi)
375	}
376}
377
378func (x *ThirdParty) String() string {
379	return protoimpl.X.MessageStringOf(x)
380}
381
382func (*ThirdParty) ProtoMessage() {}
383
384func (x *ThirdParty) ProtoReflect() protoreflect.Message {
385	mi := &file_project_metadata_proto_msgTypes[1]
386	if protoimpl.UnsafeEnabled && x != nil {
387		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
388		if ms.LoadMessageInfo() == nil {
389			ms.StoreMessageInfo(mi)
390		}
391		return ms
392	}
393	return mi.MessageOf(x)
394}
395
396// Deprecated: Use ThirdParty.ProtoReflect.Descriptor instead.
397func (*ThirdParty) Descriptor() ([]byte, []int) {
398	return file_project_metadata_proto_rawDescGZIP(), []int{1}
399}
400
401func (x *ThirdParty) GetUrl() []*URL {
402	if x != nil {
403		return x.Url
404	}
405	return nil
406}
407
408func (x *ThirdParty) GetVersion() string {
409	if x != nil && x.Version != nil {
410		return *x.Version
411	}
412	return ""
413}
414
415func (x *ThirdParty) GetLastUpgradeDate() *Date {
416	if x != nil {
417		return x.LastUpgradeDate
418	}
419	return nil
420}
421
422func (x *ThirdParty) GetLicenseType() LicenseType {
423	if x != nil && x.LicenseType != nil {
424		return *x.LicenseType
425	}
426	return LicenseType_BY_EXCEPTION_ONLY
427}
428
429func (x *ThirdParty) GetLocalModifications() string {
430	if x != nil && x.LocalModifications != nil {
431		return *x.LocalModifications
432	}
433	return ""
434}
435
436func (x *ThirdParty) GetComplianceMirrorUrl() string {
437	if x != nil && x.ComplianceMirrorUrl != nil {
438		return *x.ComplianceMirrorUrl
439	}
440	return ""
441}
442
443func (x *ThirdParty) GetHomepage() string {
444	if x != nil && x.Homepage != nil {
445		return *x.Homepage
446	}
447	return ""
448}
449
450// URL associated with a third-party package.
451type URL struct {
452	state         protoimpl.MessageState
453	sizeCache     protoimpl.SizeCache
454	unknownFields protoimpl.UnknownFields
455
456	// The type of resource this URL identifies.
457	Type *URL_Type `protobuf:"varint,1,opt,name=type,enum=project_metadata.URL_Type" json:"type,omitempty"`
458	// The actual URL value.  URLs should be absolute and start with 'http://' or
459	// 'https://' (or occasionally 'git://' or 'ftp://' where appropriate).
460	Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
461}
462
463func (x *URL) Reset() {
464	*x = URL{}
465	if protoimpl.UnsafeEnabled {
466		mi := &file_project_metadata_proto_msgTypes[2]
467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
468		ms.StoreMessageInfo(mi)
469	}
470}
471
472func (x *URL) String() string {
473	return protoimpl.X.MessageStringOf(x)
474}
475
476func (*URL) ProtoMessage() {}
477
478func (x *URL) ProtoReflect() protoreflect.Message {
479	mi := &file_project_metadata_proto_msgTypes[2]
480	if protoimpl.UnsafeEnabled && x != nil {
481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
482		if ms.LoadMessageInfo() == nil {
483			ms.StoreMessageInfo(mi)
484		}
485		return ms
486	}
487	return mi.MessageOf(x)
488}
489
490// Deprecated: Use URL.ProtoReflect.Descriptor instead.
491func (*URL) Descriptor() ([]byte, []int) {
492	return file_project_metadata_proto_rawDescGZIP(), []int{2}
493}
494
495func (x *URL) GetType() URL_Type {
496	if x != nil && x.Type != nil {
497		return *x.Type
498	}
499	return URL_HOMEPAGE
500}
501
502func (x *URL) GetValue() string {
503	if x != nil && x.Value != nil {
504		return *x.Value
505	}
506	return ""
507}
508
509// Represents a whole or partial calendar date, such as a birthday. The time of
510// day and time zone are either specified elsewhere or are insignificant. The
511// date is relative to the Gregorian Calendar. This can represent one of the
512// following:
513//
514//   - A full date, with non-zero year, month, and day values.
515//   - A month and day, with a zero year (for example, an anniversary).
516//   - A year on its own, with a zero month and a zero day.
517//   - A year and month, with a zero day (for example, a credit card expiration
518//     date).
519type Date struct {
520	state         protoimpl.MessageState
521	sizeCache     protoimpl.SizeCache
522	unknownFields protoimpl.UnknownFields
523
524	// Year of the date. Must be from 1 to 9999, or 0 to specify a date without
525	// a year.
526	Year *int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"`
527	// Month of a year. Must be from 1 to 12, or 0 to specify a year without a
528	// month and day.
529	Month *int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"`
530	// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
531	// to specify a year by itself or a year and month where the day isn't
532	// significant.
533	Day *int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"`
534}
535
536func (x *Date) Reset() {
537	*x = Date{}
538	if protoimpl.UnsafeEnabled {
539		mi := &file_project_metadata_proto_msgTypes[3]
540		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
541		ms.StoreMessageInfo(mi)
542	}
543}
544
545func (x *Date) String() string {
546	return protoimpl.X.MessageStringOf(x)
547}
548
549func (*Date) ProtoMessage() {}
550
551func (x *Date) ProtoReflect() protoreflect.Message {
552	mi := &file_project_metadata_proto_msgTypes[3]
553	if protoimpl.UnsafeEnabled && x != nil {
554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
555		if ms.LoadMessageInfo() == nil {
556			ms.StoreMessageInfo(mi)
557		}
558		return ms
559	}
560	return mi.MessageOf(x)
561}
562
563// Deprecated: Use Date.ProtoReflect.Descriptor instead.
564func (*Date) Descriptor() ([]byte, []int) {
565	return file_project_metadata_proto_rawDescGZIP(), []int{3}
566}
567
568func (x *Date) GetYear() int32 {
569	if x != nil && x.Year != nil {
570		return *x.Year
571	}
572	return 0
573}
574
575func (x *Date) GetMonth() int32 {
576	if x != nil && x.Month != nil {
577		return *x.Month
578	}
579	return 0
580}
581
582func (x *Date) GetDay() int32 {
583	if x != nil && x.Day != nil {
584		return *x.Day
585	}
586	return 0
587}
588
589var File_project_metadata_proto protoreflect.FileDescriptor
590
591var file_project_metadata_proto_rawDesc = []byte{
592	0x0a, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
593	0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
594	0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7f, 0x0a, 0x08, 0x4d, 0x65,
595	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
596	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
597	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
598	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0b,
599	0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28,
600	0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61,
601	0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52,
602	0x0a, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x22, 0xd6, 0x02, 0x0a, 0x0a,
603	0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x75, 0x72,
604	0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
605	0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x52, 0x4c, 0x52, 0x03,
606	0x75, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
607	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a,
608	0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x64, 0x61,
609	0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65,
610	0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x65,
611	0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74,
612	0x65, 0x12, 0x40, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70,
613	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
614	0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e,
615	0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54,
616	0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64,
617	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
618	0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
619	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e,
620	0x63, 0x65, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0c, 0x20,
621	0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4d,
622	0x69, 0x72, 0x72, 0x6f, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x6d, 0x65,
623	0x70, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65,
624	0x70, 0x61, 0x67, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x12, 0x2e, 0x0a, 0x04,
625	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
626	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x55, 0x52,
627	0x4c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
628	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
629	0x75, 0x65, 0x22, 0x6e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x4f,
630	0x4d, 0x45, 0x50, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x52, 0x43, 0x48,
631	0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x49, 0x54, 0x10, 0x03, 0x12, 0x07,
632	0x0a, 0x03, 0x53, 0x56, 0x4e, 0x10, 0x07, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x47, 0x10, 0x08, 0x12,
633	0x09, 0x0a, 0x05, 0x44, 0x41, 0x52, 0x43, 0x53, 0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x49,
634	0x50, 0x45, 0x52, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0b,
635	0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
636	0x10, 0x06, 0x22, 0x42, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65,
637	0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14,
638	0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d,
639	0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
640	0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x2a, 0x97, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e,
641	0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x59, 0x5f, 0x45, 0x58, 0x43,
642	0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a,
643	0x06, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52,
644	0x4d, 0x49, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43,
645	0x49, 0x50, 0x52, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x53,
646	0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49,
647	0x43, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0e,
648	0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x10,
649	0x0a, 0x0c, 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x45, 0x44, 0x10, 0x07,
650	0x42, 0x31, 0x5a, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e,
651	0x67, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f,
652	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72,
653	0x6f, 0x74, 0x6f,
654}
655
656var (
657	file_project_metadata_proto_rawDescOnce sync.Once
658	file_project_metadata_proto_rawDescData = file_project_metadata_proto_rawDesc
659)
660
661func file_project_metadata_proto_rawDescGZIP() []byte {
662	file_project_metadata_proto_rawDescOnce.Do(func() {
663		file_project_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_project_metadata_proto_rawDescData)
664	})
665	return file_project_metadata_proto_rawDescData
666}
667
668var file_project_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
669var file_project_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
670var file_project_metadata_proto_goTypes = []interface{}{
671	(LicenseType)(0),   // 0: project_metadata.LicenseType
672	(URL_Type)(0),      // 1: project_metadata.URL.Type
673	(*Metadata)(nil),   // 2: project_metadata.Metadata
674	(*ThirdParty)(nil), // 3: project_metadata.ThirdParty
675	(*URL)(nil),        // 4: project_metadata.URL
676	(*Date)(nil),       // 5: project_metadata.Date
677}
678var file_project_metadata_proto_depIdxs = []int32{
679	3, // 0: project_metadata.Metadata.third_party:type_name -> project_metadata.ThirdParty
680	4, // 1: project_metadata.ThirdParty.url:type_name -> project_metadata.URL
681	5, // 2: project_metadata.ThirdParty.last_upgrade_date:type_name -> project_metadata.Date
682	0, // 3: project_metadata.ThirdParty.license_type:type_name -> project_metadata.LicenseType
683	1, // 4: project_metadata.URL.type:type_name -> project_metadata.URL.Type
684	5, // [5:5] is the sub-list for method output_type
685	5, // [5:5] is the sub-list for method input_type
686	5, // [5:5] is the sub-list for extension type_name
687	5, // [5:5] is the sub-list for extension extendee
688	0, // [0:5] is the sub-list for field type_name
689}
690
691func init() { file_project_metadata_proto_init() }
692func file_project_metadata_proto_init() {
693	if File_project_metadata_proto != nil {
694		return
695	}
696	if !protoimpl.UnsafeEnabled {
697		file_project_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
698			switch v := v.(*Metadata); i {
699			case 0:
700				return &v.state
701			case 1:
702				return &v.sizeCache
703			case 2:
704				return &v.unknownFields
705			default:
706				return nil
707			}
708		}
709		file_project_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
710			switch v := v.(*ThirdParty); i {
711			case 0:
712				return &v.state
713			case 1:
714				return &v.sizeCache
715			case 2:
716				return &v.unknownFields
717			default:
718				return nil
719			}
720		}
721		file_project_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
722			switch v := v.(*URL); i {
723			case 0:
724				return &v.state
725			case 1:
726				return &v.sizeCache
727			case 2:
728				return &v.unknownFields
729			default:
730				return nil
731			}
732		}
733		file_project_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
734			switch v := v.(*Date); i {
735			case 0:
736				return &v.state
737			case 1:
738				return &v.sizeCache
739			case 2:
740				return &v.unknownFields
741			default:
742				return nil
743			}
744		}
745	}
746	type x struct{}
747	out := protoimpl.TypeBuilder{
748		File: protoimpl.DescBuilder{
749			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
750			RawDescriptor: file_project_metadata_proto_rawDesc,
751			NumEnums:      2,
752			NumMessages:   4,
753			NumExtensions: 0,
754			NumServices:   0,
755		},
756		GoTypes:           file_project_metadata_proto_goTypes,
757		DependencyIndexes: file_project_metadata_proto_depIdxs,
758		EnumInfos:         file_project_metadata_proto_enumTypes,
759		MessageInfos:      file_project_metadata_proto_msgTypes,
760	}.Build()
761	File_project_metadata_proto = out.File
762	file_project_metadata_proto_rawDesc = nil
763	file_project_metadata_proto_goTypes = nil
764	file_project_metadata_proto_depIdxs = nil
765}
766