blob: 60d032b8166d09dfaf9c9f2710b776c05aaac2c6 [file] [edit]
// Copyright 2017 Google LLC. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// gnostic can be extended with plugins.
// A plugin is uset a program that reads a Request from stdin
// and writes a Response to stdout.
//
// A plugin executable needs only to be placed somewhere in the path. The
// plugin should be named "gnostic_$NAME", and will then be used when the
// flag "--${NAME}_out" is passed to gnostic.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.7
// protoc v5.29.3
// source: plugins/plugin.proto
package gnostic_plugin_v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type Message_Level int32
const (
Message_UNKNOWN Message_Level = 0
Message_INFO Message_Level = 1
Message_WARNING Message_Level = 2
Message_ERROR Message_Level = 3
Message_FATAL Message_Level = 4
)
// Enum value maps for Message_Level.
var (
Message_Level_name = map[int32]string{
0: "UNKNOWN",
1: "INFO",
2: "WARNING",
3: "ERROR",
4: "FATAL",
}
Message_Level_value = map[string]int32{
"UNKNOWN": 0,
"INFO": 1,
"WARNING": 2,
"ERROR": 3,
"FATAL": 4,
}
)
func (x Message_Level) Enum() *Message_Level {
p := new(Message_Level)
*p = x
return p
}
func (x Message_Level) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Message_Level) Descriptor() protoreflect.EnumDescriptor {
return file_plugins_plugin_proto_enumTypes[0].Descriptor()
}
func (Message_Level) Type() protoreflect.EnumType {
return &file_plugins_plugin_proto_enumTypes[0]
}
func (x Message_Level) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Message_Level.Descriptor instead.
func (Message_Level) EnumDescriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{3, 0}
}
// The version number of gnostic.
type Version struct {
state protoimpl.MessageState `protogen:"open.v1"`
Major int32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
Patch int32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"`
// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
// be empty for mainline stable releases.
Suffix string `protobuf:"bytes,4,opt,name=suffix,proto3" json:"suffix,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Version) Reset() {
*x = Version{}
mi := &file_plugins_plugin_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Version) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Version) ProtoMessage() {}
func (x *Version) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Version.ProtoReflect.Descriptor instead.
func (*Version) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{0}
}
func (x *Version) GetMajor() int32 {
if x != nil {
return x.Major
}
return 0
}
func (x *Version) GetMinor() int32 {
if x != nil {
return x.Minor
}
return 0
}
func (x *Version) GetPatch() int32 {
if x != nil {
return x.Patch
}
return 0
}
func (x *Version) GetSuffix() string {
if x != nil {
return x.Suffix
}
return ""
}
// A parameter passed to the plugin from (or through) gnostic.
type Parameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The name of the parameter as specified in the option string
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The parameter value as specified in the option string
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Parameter) Reset() {
*x = Parameter{}
mi := &file_plugins_plugin_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Parameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Parameter) ProtoMessage() {}
func (x *Parameter) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Parameter.ProtoReflect.Descriptor instead.
func (*Parameter) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{1}
}
func (x *Parameter) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Parameter) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
// An encoded Request is written to the plugin's stdin.
type Request struct {
state protoimpl.MessageState `protogen:"open.v1"`
// filename or URL of the original source document
SourceName string `protobuf:"bytes,1,opt,name=source_name,json=sourceName,proto3" json:"source_name,omitempty"`
// Output path specified in the plugin invocation.
OutputPath string `protobuf:"bytes,2,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
// Plugin parameters parsed from the invocation string.
Parameters []*Parameter `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"`
// The version number of gnostic.
CompilerVersion *Version `protobuf:"bytes,4,opt,name=compiler_version,json=compilerVersion,proto3" json:"compiler_version,omitempty"`
// API models
Models []*anypb.Any `protobuf:"bytes,5,rep,name=models,proto3" json:"models,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Request) Reset() {
*x = Request{}
mi := &file_plugins_plugin_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Request) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Request) ProtoMessage() {}
func (x *Request) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Request.ProtoReflect.Descriptor instead.
func (*Request) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{2}
}
func (x *Request) GetSourceName() string {
if x != nil {
return x.SourceName
}
return ""
}
func (x *Request) GetOutputPath() string {
if x != nil {
return x.OutputPath
}
return ""
}
func (x *Request) GetParameters() []*Parameter {
if x != nil {
return x.Parameters
}
return nil
}
func (x *Request) GetCompilerVersion() *Version {
if x != nil {
return x.CompilerVersion
}
return nil
}
func (x *Request) GetModels() []*anypb.Any {
if x != nil {
return x.Models
}
return nil
}
// Plugins can return messages to be collated and reported by gnostic.
type Message struct {
state protoimpl.MessageState `protogen:"open.v1"`
// message severity
Level Message_Level `protobuf:"varint,1,opt,name=level,proto3,enum=gnostic.plugin.v1.Message_Level" json:"level,omitempty"`
// a unique message identifier
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// message text
Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
// an associated key path in an API description
Keys []string `protobuf:"bytes,4,rep,name=keys,proto3" json:"keys,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Message) Reset() {
*x = Message{}
mi := &file_plugins_plugin_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Message) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Message) ProtoMessage() {}
func (x *Message) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{3}
}
func (x *Message) GetLevel() Message_Level {
if x != nil {
return x.Level
}
return Message_UNKNOWN
}
func (x *Message) GetCode() string {
if x != nil {
return x.Code
}
return ""
}
func (x *Message) GetText() string {
if x != nil {
return x.Text
}
return ""
}
func (x *Message) GetKeys() []string {
if x != nil {
return x.Keys
}
return nil
}
type Messages struct {
state protoimpl.MessageState `protogen:"open.v1"`
Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Messages) Reset() {
*x = Messages{}
mi := &file_plugins_plugin_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Messages) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Messages) ProtoMessage() {}
func (x *Messages) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Messages.ProtoReflect.Descriptor instead.
func (*Messages) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{4}
}
func (x *Messages) GetMessages() []*Message {
if x != nil {
return x.Messages
}
return nil
}
// The plugin writes an encoded Response to stdout.
type Response struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Error message. If non-empty, the plugin failed.
// The plugin process should exit with status code zero
// even if it reports an error in this way.
//
// This should be used to indicate errors which prevent the plugin from
// operating as intended. Errors which indicate a problem in gnostic
// itself -- such as the input Document being unparseable -- should be
// reported by writing a message to stderr and exiting with a non-zero
// status code.
Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
// file output, each file will be written by gnostic to an appropriate
// location.
Files []*File `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
// informational messages to be collected and reported by gnostic.
Messages []*Message `protobuf:"bytes,3,rep,name=messages,proto3" json:"messages,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Response) Reset() {
*x = Response{}
mi := &file_plugins_plugin_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Response) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Response) ProtoMessage() {}
func (x *Response) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Response.ProtoReflect.Descriptor instead.
func (*Response) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{5}
}
func (x *Response) GetErrors() []string {
if x != nil {
return x.Errors
}
return nil
}
func (x *Response) GetFiles() []*File {
if x != nil {
return x.Files
}
return nil
}
func (x *Response) GetMessages() []*Message {
if x != nil {
return x.Messages
}
return nil
}
// File describes a file generated by a plugin.
type File struct {
state protoimpl.MessageState `protogen:"open.v1"`
// name of the file
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// data to be written to the file
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *File) Reset() {
*x = File{}
mi := &file_plugins_plugin_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *File) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*File) ProtoMessage() {}
func (x *File) ProtoReflect() protoreflect.Message {
mi := &file_plugins_plugin_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use File.ProtoReflect.Descriptor instead.
func (*File) Descriptor() ([]byte, []int) {
return file_plugins_plugin_proto_rawDescGZIP(), []int{6}
}
func (x *File) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *File) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
var File_plugins_plugin_proto protoreflect.FileDescriptor
const file_plugins_plugin_proto_rawDesc = "" +
"\n" +
"\x14plugins/plugin.proto\x12\x11gnostic.plugin.v1\x1a\x19google/protobuf/any.proto\"c\n" +
"\aVersion\x12\x14\n" +
"\x05major\x18\x01 \x01(\x05R\x05major\x12\x14\n" +
"\x05minor\x18\x02 \x01(\x05R\x05minor\x12\x14\n" +
"\x05patch\x18\x03 \x01(\x05R\x05patch\x12\x16\n" +
"\x06suffix\x18\x04 \x01(\tR\x06suffix\"5\n" +
"\tParameter\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value\"\xfe\x01\n" +
"\aRequest\x12\x1f\n" +
"\vsource_name\x18\x01 \x01(\tR\n" +
"sourceName\x12\x1f\n" +
"\voutput_path\x18\x02 \x01(\tR\n" +
"outputPath\x12<\n" +
"\n" +
"parameters\x18\x03 \x03(\v2\x1c.gnostic.plugin.v1.ParameterR\n" +
"parameters\x12E\n" +
"\x10compiler_version\x18\x04 \x01(\v2\x1a.gnostic.plugin.v1.VersionR\x0fcompilerVersion\x12,\n" +
"\x06models\x18\x05 \x03(\v2\x14.google.protobuf.AnyR\x06models\"\xc0\x01\n" +
"\aMessage\x126\n" +
"\x05level\x18\x01 \x01(\x0e2 .gnostic.plugin.v1.Message.LevelR\x05level\x12\x12\n" +
"\x04code\x18\x02 \x01(\tR\x04code\x12\x12\n" +
"\x04text\x18\x03 \x01(\tR\x04text\x12\x12\n" +
"\x04keys\x18\x04 \x03(\tR\x04keys\"A\n" +
"\x05Level\x12\v\n" +
"\aUNKNOWN\x10\x00\x12\b\n" +
"\x04INFO\x10\x01\x12\v\n" +
"\aWARNING\x10\x02\x12\t\n" +
"\x05ERROR\x10\x03\x12\t\n" +
"\x05FATAL\x10\x04\"B\n" +
"\bMessages\x126\n" +
"\bmessages\x18\x01 \x03(\v2\x1a.gnostic.plugin.v1.MessageR\bmessages\"\x89\x01\n" +
"\bResponse\x12\x16\n" +
"\x06errors\x18\x01 \x03(\tR\x06errors\x12-\n" +
"\x05files\x18\x02 \x03(\v2\x17.gnostic.plugin.v1.FileR\x05files\x126\n" +
"\bmessages\x18\x03 \x03(\v2\x1a.gnostic.plugin.v1.MessageR\bmessages\".\n" +
"\x04File\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" +
"\x04data\x18\x02 \x01(\fR\x04dataBD\n" +
"\x0eorg.gnostic.v1B\rGnosticPluginP\x01Z\x1b./plugins;gnostic_plugin_v1\xa2\x02\x03GNOb\x06proto3"
var (
file_plugins_plugin_proto_rawDescOnce sync.Once
file_plugins_plugin_proto_rawDescData []byte
)
func file_plugins_plugin_proto_rawDescGZIP() []byte {
file_plugins_plugin_proto_rawDescOnce.Do(func() {
file_plugins_plugin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_plugins_plugin_proto_rawDesc), len(file_plugins_plugin_proto_rawDesc)))
})
return file_plugins_plugin_proto_rawDescData
}
var file_plugins_plugin_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_plugins_plugin_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_plugins_plugin_proto_goTypes = []any{
(Message_Level)(0), // 0: gnostic.plugin.v1.Message.Level
(*Version)(nil), // 1: gnostic.plugin.v1.Version
(*Parameter)(nil), // 2: gnostic.plugin.v1.Parameter
(*Request)(nil), // 3: gnostic.plugin.v1.Request
(*Message)(nil), // 4: gnostic.plugin.v1.Message
(*Messages)(nil), // 5: gnostic.plugin.v1.Messages
(*Response)(nil), // 6: gnostic.plugin.v1.Response
(*File)(nil), // 7: gnostic.plugin.v1.File
(*anypb.Any)(nil), // 8: google.protobuf.Any
}
var file_plugins_plugin_proto_depIdxs = []int32{
2, // 0: gnostic.plugin.v1.Request.parameters:type_name -> gnostic.plugin.v1.Parameter
1, // 1: gnostic.plugin.v1.Request.compiler_version:type_name -> gnostic.plugin.v1.Version
8, // 2: gnostic.plugin.v1.Request.models:type_name -> google.protobuf.Any
0, // 3: gnostic.plugin.v1.Message.level:type_name -> gnostic.plugin.v1.Message.Level
4, // 4: gnostic.plugin.v1.Messages.messages:type_name -> gnostic.plugin.v1.Message
7, // 5: gnostic.plugin.v1.Response.files:type_name -> gnostic.plugin.v1.File
4, // 6: gnostic.plugin.v1.Response.messages:type_name -> gnostic.plugin.v1.Message
7, // [7:7] is the sub-list for method output_type
7, // [7:7] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_plugins_plugin_proto_init() }
func file_plugins_plugin_proto_init() {
if File_plugins_plugin_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_plugins_plugin_proto_rawDesc), len(file_plugins_plugin_proto_rawDesc)),
NumEnums: 1,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_plugins_plugin_proto_goTypes,
DependencyIndexes: file_plugins_plugin_proto_depIdxs,
EnumInfos: file_plugins_plugin_proto_enumTypes,
MessageInfos: file_plugins_plugin_proto_msgTypes,
}.Build()
File_plugins_plugin_proto = out.File
file_plugins_plugin_proto_goTypes = nil
file_plugins_plugin_proto_depIdxs = nil
}