google-protobuf 3.22.0 → 3.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of google-protobuf might be problematic. Click here for more details.

@@ -0,0 +1,120 @@
1
+ # Protocol Buffers - Google's data interchange format
2
+ # Copyright 2023 Google Inc. All rights reserved.
3
+ # https://developers.google.com/protocol-buffers/
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are
7
+ # met:
8
+ #
9
+ # * Redistributions of source code must retain the above copyright
10
+ # notice, this list of conditions and the following disclaimer.
11
+ # * Redistributions in binary form must reproduce the above
12
+ # copyright notice, this list of conditions and the following disclaimer
13
+ # in the documentation and/or other materials provided with the
14
+ # distribution.
15
+ # * Neither the name of Google Inc. nor the names of its
16
+ # contributors may be used to endorse or promote products derived from
17
+ # this software without specific prior written permission.
18
+ #
19
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+
31
+ module Google
32
+ module Protobuf
33
+ # A pointer -> Ruby Object cache that keeps references to Ruby wrapper
34
+ # objects. This allows us to look up any Ruby wrapper object by the address
35
+ # of the object it is wrapping. That way we can avoid ever creating two
36
+ # different wrapper objects for the same C object, which saves memory and
37
+ # preserves object identity.
38
+ #
39
+ # We use WeakMap for the cache. If sizeof(long) > sizeof(VALUE), we also
40
+ # need a secondary Hash to store WeakMap keys, because our pointer keys may
41
+ # need to be stored as Bignum instead of Fixnum. Since WeakMap is weak for
42
+ # both keys and values, a Bignum key will cause the WeakMap entry to be
43
+ # collected immediately unless there is another reference to the Bignum.
44
+ # This happens on 64-bit Windows, on which pointers are 64 bits but longs
45
+ # are 32 bits. In this case, we enable the secondary Hash to hold the keys
46
+ # and prevent them from being collected.
47
+ class ObjectCache
48
+ def initialize
49
+ @map = ObjectSpace::WeakMap.new
50
+ @mutex = Mutex.new
51
+ end
52
+
53
+ def get(key)
54
+ @map[key]
55
+ end
56
+
57
+ def try_add(key, value)
58
+ @map[key] || @mutex.synchronize do
59
+ @map[key] ||= value
60
+ end
61
+ end
62
+ end
63
+
64
+ class LegacyObjectCache
65
+ def initialize
66
+ @secondary_map = {}
67
+ @map = ObjectSpace::WeakMap.new
68
+ @mutex = Mutex.new
69
+ end
70
+
71
+ def get(key)
72
+ value = if secondary_key = @secondary_map[key]
73
+ @map[secondary_key]
74
+ else
75
+ @mutex.synchronize do
76
+ @map[(@secondary_map[key] ||= Object.new)]
77
+ end
78
+ end
79
+
80
+ # GC if we could remove at least 2000 entries or 20% of the table size
81
+ # (whichever is greater). Since the cost of the GC pass is O(N), we
82
+ # want to make sure that we condition this on overall table size, to
83
+ # avoid O(N^2) CPU costs.
84
+ cutoff = (@secondary_map.size * 0.2).ceil
85
+ cutoff = 2_000 if cutoff < 2_000
86
+ if (@secondary_map.size - @map.size) > cutoff
87
+ purge
88
+ end
89
+
90
+ value
91
+ end
92
+
93
+ def try_add(key, value)
94
+ if secondary_key = @secondary_map[key]
95
+ if old_value = @map[secondary_key]
96
+ return old_value
97
+ end
98
+ end
99
+
100
+ @mutex.synchronize do
101
+ secondary_key ||= (@secondary_map[key] ||= Object.new)
102
+ @map[secondary_key] ||= value
103
+ end
104
+ end
105
+
106
+ private
107
+
108
+ def purge
109
+ @mutex.synchronize do
110
+ @secondary_map.each do |key, secondary_key|
111
+ unless @map.key?(secondary_key)
112
+ @secondary_map.delete(key)
113
+ end
114
+ end
115
+ end
116
+ nil
117
+ end
118
+ end
119
+ end
120
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/compiler/plugin.proto
3
4
 
@@ -5,36 +6,32 @@ require 'google/protobuf'
5
6
 
6
7
  require 'google/protobuf/descriptor_pb'
7
8
 
8
- Google::Protobuf::DescriptorPool.generated_pool.build do
9
- add_file("google/protobuf/compiler/plugin.proto", :syntax => :proto2) do
10
- add_message "google.protobuf.compiler.Version" do
11
- optional :major, :int32, 1
12
- optional :minor, :int32, 2
13
- optional :patch, :int32, 3
14
- optional :suffix, :string, 4
15
- end
16
- add_message "google.protobuf.compiler.CodeGeneratorRequest" do
17
- repeated :file_to_generate, :string, 1
18
- optional :parameter, :string, 2
19
- repeated :proto_file, :message, 15, "google.protobuf.FileDescriptorProto"
20
- optional :compiler_version, :message, 3, "google.protobuf.compiler.Version"
21
- end
22
- add_message "google.protobuf.compiler.CodeGeneratorResponse" do
23
- optional :error, :string, 1
24
- optional :supported_features, :uint64, 2
25
- repeated :file, :message, 15, "google.protobuf.compiler.CodeGeneratorResponse.File"
26
- end
27
- add_message "google.protobuf.compiler.CodeGeneratorResponse.File" do
28
- optional :name, :string, 1
29
- optional :insertion_point, :string, 2
30
- optional :content, :string, 15
31
- optional :generated_code_info, :message, 16, "google.protobuf.GeneratedCodeInfo"
32
- end
33
- add_enum "google.protobuf.compiler.CodeGeneratorResponse.Feature" do
34
- value :FEATURE_NONE, 0
35
- value :FEATURE_PROTO3_OPTIONAL, 1
9
+
10
+ descriptor_data = "\n%google/protobuf/compiler/plugin.proto\x12\x18google.protobuf.compiler\x1a google/protobuf/descriptor.proto\"F\n\x07Version\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x12\r\n\x05patch\x18\x03 \x01(\x05\x12\x0e\n\x06suffix\x18\x04 \x01(\t\"\x81\x02\n\x14\x43odeGeneratorRequest\x12\x18\n\x10\x66ile_to_generate\x18\x01 \x03(\t\x12\x11\n\tparameter\x18\x02 \x01(\t\x12\x38\n\nproto_file\x18\x0f \x03(\x0b\x32$.google.protobuf.FileDescriptorProto\x12\x45\n\x17source_file_descriptors\x18\x11 \x03(\x0b\x32$.google.protobuf.FileDescriptorProto\x12;\n\x10\x63ompiler_version\x18\x03 \x01(\x0b\x32!.google.protobuf.compiler.Version\"\xe0\x02\n\x15\x43odeGeneratorResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\x1a\n\x12supported_features\x18\x02 \x01(\x04\x12\x42\n\x04\x66ile\x18\x0f \x03(\x0b\x32\x34.google.protobuf.compiler.CodeGeneratorResponse.File\x1a\x7f\n\x04\x46ile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0finsertion_point\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x0f \x01(\t\x12?\n\x13generated_code_info\x18\x10 \x01(\x0b\x32\".google.protobuf.GeneratedCodeInfo\"W\n\x07\x46\x65\x61ture\x12\x10\n\x0c\x46\x45\x41TURE_NONE\x10\x00\x12\x1b\n\x17\x46\x45\x41TURE_PROTO3_OPTIONAL\x10\x01\x12\x1d\n\x19\x46\x45\x41TURE_SUPPORTS_EDITIONS\x10\x02\x42r\n\x1c\x63om.google.protobuf.compilerB\x0cPluginProtosZ)google.golang.org/protobuf/types/pluginpb\xaa\x02\x18Google.Protobuf.Compiler"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+
14
+ begin
15
+ pool.add_serialized_file(descriptor_data)
16
+ rescue TypeError => e
17
+ # Compatibility code: will be removed in the next major version.
18
+ require 'google/protobuf/descriptor_pb'
19
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
+ parsed.clear_dependency
21
+ serialized = parsed.class.encode(parsed)
22
+ file = pool.add_serialized_file(serialized)
23
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
+ imports = [
25
+ ["google.protobuf.FileDescriptorProto", "google/protobuf/descriptor.proto"],
26
+ ]
27
+ imports.each do |type_name, expected_filename|
28
+ import_file = pool.lookup(type_name).file_descriptor
29
+ if import_file.name != expected_filename
30
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
36
31
  end
37
32
  end
33
+ warn "Each proto file must use a consistent fully-qualified name."
34
+ warn "This will become an error in the next major version."
38
35
  end
39
36
 
40
37
  module Google
@@ -1,14 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/source_context.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/protobuf/source_context.proto", :syntax => :proto3) do
8
- add_message "google.protobuf.SourceContext" do
9
- optional :file_name, :string, 1
7
+
8
+ descriptor_data = "\n$google/protobuf/source_context.proto\x12\x0fgoogle.protobuf\"\"\n\rSourceContext\x12\x11\n\tfile_name\x18\x01 \x01(\tB\x8a\x01\n\x13\x63om.google.protobufB\x12SourceContextProtoP\x01Z6google.golang.org/protobuf/types/known/sourcecontextpb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
10
28
  end
11
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
12
32
  end
13
33
 
14
34
  module Google
@@ -1,30 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/struct.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/protobuf/struct.proto", :syntax => :proto3) do
8
- add_message "google.protobuf.Struct" do
9
- map :fields, :string, :message, 1, "google.protobuf.Value"
10
- end
11
- add_message "google.protobuf.Value" do
12
- oneof :kind do
13
- optional :null_value, :enum, 1, "google.protobuf.NullValue"
14
- optional :number_value, :double, 2
15
- optional :string_value, :string, 3
16
- optional :bool_value, :bool, 4
17
- optional :struct_value, :message, 5, "google.protobuf.Struct"
18
- optional :list_value, :message, 6, "google.protobuf.ListValue"
19
- end
20
- end
21
- add_message "google.protobuf.ListValue" do
22
- repeated :values, :message, 1, "google.protobuf.Value"
23
- end
24
- add_enum "google.protobuf.NullValue" do
25
- value :NULL_VALUE, 0
7
+
8
+ descriptor_data = "\n\x1cgoogle/protobuf/struct.proto\x12\x0fgoogle.protobuf\"\x84\x01\n\x06Struct\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.protobuf.Struct.FieldsEntry\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\xea\x01\n\x05Value\x12\x30\n\nnull_value\x18\x01 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x16\n\x0cnumber_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12/\n\x0cstruct_value\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x30\n\nlist_value\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x42\x06\n\x04kind\"3\n\tListValue\x12&\n\x06values\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00\x42\x7f\n\x13\x63om.google.protobufB\x0bStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
26
28
  end
27
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
28
32
  end
29
33
 
30
34
  module Google
@@ -1,15 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/timestamp.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/protobuf/timestamp.proto", :syntax => :proto3) do
8
- add_message "google.protobuf.Timestamp" do
9
- optional :seconds, :int64, 1
10
- optional :nanos, :int32, 2
7
+
8
+ descriptor_data = "\n\x1fgoogle/protobuf/timestamp.proto\x12\x0fgoogle.protobuf\"+\n\tTimestamp\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x12\r\n\x05nanos\x18\x02 \x01(\x05\x42\x85\x01\n\x13\x63om.google.protobufB\x0eTimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
11
28
  end
12
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
13
32
  end
14
33
 
15
34
  module Google
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/type.proto
3
4
 
@@ -6,76 +7,33 @@ require 'google/protobuf'
6
7
  require 'google/protobuf/any_pb'
7
8
  require 'google/protobuf/source_context_pb'
8
9
 
9
- Google::Protobuf::DescriptorPool.generated_pool.build do
10
- add_file("google/protobuf/type.proto", :syntax => :proto3) do
11
- add_message "google.protobuf.Type" do
12
- optional :name, :string, 1
13
- repeated :fields, :message, 2, "google.protobuf.Field"
14
- repeated :oneofs, :string, 3
15
- repeated :options, :message, 4, "google.protobuf.Option"
16
- optional :source_context, :message, 5, "google.protobuf.SourceContext"
17
- optional :syntax, :enum, 6, "google.protobuf.Syntax"
18
- end
19
- add_message "google.protobuf.Field" do
20
- optional :kind, :enum, 1, "google.protobuf.Field.Kind"
21
- optional :cardinality, :enum, 2, "google.protobuf.Field.Cardinality"
22
- optional :number, :int32, 3
23
- optional :name, :string, 4
24
- optional :type_url, :string, 6
25
- optional :oneof_index, :int32, 7
26
- optional :packed, :bool, 8
27
- repeated :options, :message, 9, "google.protobuf.Option"
28
- optional :json_name, :string, 10
29
- optional :default_value, :string, 11
30
- end
31
- add_enum "google.protobuf.Field.Kind" do
32
- value :TYPE_UNKNOWN, 0
33
- value :TYPE_DOUBLE, 1
34
- value :TYPE_FLOAT, 2
35
- value :TYPE_INT64, 3
36
- value :TYPE_UINT64, 4
37
- value :TYPE_INT32, 5
38
- value :TYPE_FIXED64, 6
39
- value :TYPE_FIXED32, 7
40
- value :TYPE_BOOL, 8
41
- value :TYPE_STRING, 9
42
- value :TYPE_GROUP, 10
43
- value :TYPE_MESSAGE, 11
44
- value :TYPE_BYTES, 12
45
- value :TYPE_UINT32, 13
46
- value :TYPE_ENUM, 14
47
- value :TYPE_SFIXED32, 15
48
- value :TYPE_SFIXED64, 16
49
- value :TYPE_SINT32, 17
50
- value :TYPE_SINT64, 18
51
- end
52
- add_enum "google.protobuf.Field.Cardinality" do
53
- value :CARDINALITY_UNKNOWN, 0
54
- value :CARDINALITY_OPTIONAL, 1
55
- value :CARDINALITY_REQUIRED, 2
56
- value :CARDINALITY_REPEATED, 3
57
- end
58
- add_message "google.protobuf.Enum" do
59
- optional :name, :string, 1
60
- repeated :enumvalue, :message, 2, "google.protobuf.EnumValue"
61
- repeated :options, :message, 3, "google.protobuf.Option"
62
- optional :source_context, :message, 4, "google.protobuf.SourceContext"
63
- optional :syntax, :enum, 5, "google.protobuf.Syntax"
64
- end
65
- add_message "google.protobuf.EnumValue" do
66
- optional :name, :string, 1
67
- optional :number, :int32, 2
68
- repeated :options, :message, 3, "google.protobuf.Option"
69
- end
70
- add_message "google.protobuf.Option" do
71
- optional :name, :string, 1
72
- optional :value, :message, 2, "google.protobuf.Any"
73
- end
74
- add_enum "google.protobuf.Syntax" do
75
- value :SYNTAX_PROTO2, 0
76
- value :SYNTAX_PROTO3, 1
10
+
11
+ descriptor_data = "\n\x1agoogle/protobuf/type.proto\x12\x0fgoogle.protobuf\x1a\x19google/protobuf/any.proto\x1a$google/protobuf/source_context.proto\"\xe8\x01\n\x04Type\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Field\x12\x0e\n\x06oneofs\x18\x03 \x03(\t\x12(\n\x07options\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x36\n\x0esource_context\x18\x05 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12\'\n\x06syntax\x18\x06 \x01(\x0e\x32\x17.google.protobuf.Syntax\x12\x0f\n\x07\x65\x64ition\x18\x07 \x01(\t\"\xd5\x05\n\x05\x46ield\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x1b.google.protobuf.Field.Kind\x12\x37\n\x0b\x63\x61rdinality\x18\x02 \x01(\x0e\x32\".google.protobuf.Field.Cardinality\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x10\n\x08type_url\x18\x06 \x01(\t\x12\x13\n\x0boneof_index\x18\x07 \x01(\x05\x12\x0e\n\x06packed\x18\x08 \x01(\x08\x12(\n\x07options\x18\t \x03(\x0b\x32\x17.google.protobuf.Option\x12\x11\n\tjson_name\x18\n \x01(\t\x12\x15\n\rdefault_value\x18\x0b \x01(\t\"\xc8\x02\n\x04Kind\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"t\n\x0b\x43\x61rdinality\x12\x17\n\x13\x43\x41RDINALITY_UNKNOWN\x10\x00\x12\x18\n\x14\x43\x41RDINALITY_OPTIONAL\x10\x01\x12\x18\n\x14\x43\x41RDINALITY_REQUIRED\x10\x02\x12\x18\n\x14\x43\x41RDINALITY_REPEATED\x10\x03\"\xdf\x01\n\x04\x45num\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\tenumvalue\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.EnumValue\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x36\n\x0esource_context\x18\x04 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12\'\n\x06syntax\x18\x05 \x01(\x0e\x32\x17.google.protobuf.Syntax\x12\x0f\n\x07\x65\x64ition\x18\x06 \x01(\t\"S\n\tEnumValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\";\n\x06Option\x12\x0c\n\x04name\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any*C\n\x06Syntax\x12\x11\n\rSYNTAX_PROTO2\x10\x00\x12\x11\n\rSYNTAX_PROTO3\x10\x01\x12\x13\n\x0fSYNTAX_EDITIONS\x10\x02\x42{\n\x13\x63om.google.protobufB\tTypeProtoP\x01Z-google.golang.org/protobuf/types/known/typepb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+
15
+ begin
16
+ pool.add_serialized_file(descriptor_data)
17
+ rescue TypeError => e
18
+ # Compatibility code: will be removed in the next major version.
19
+ require 'google/protobuf/descriptor_pb'
20
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
21
+ parsed.clear_dependency
22
+ serialized = parsed.class.encode(parsed)
23
+ file = pool.add_serialized_file(serialized)
24
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
25
+ imports = [
26
+ ["google.protobuf.SourceContext", "google/protobuf/source_context.proto"],
27
+ ["google.protobuf.Any", "google/protobuf/any.proto"],
28
+ ]
29
+ imports.each do |type_name, expected_filename|
30
+ import_file = pool.lookup(type_name).file_descriptor
31
+ if import_file.name != expected_filename
32
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
77
33
  end
78
34
  end
35
+ warn "Each proto file must use a consistent fully-qualified name."
36
+ warn "This will become an error in the next major version."
79
37
  end
80
38
 
81
39
  module Google
@@ -72,14 +72,8 @@ module Google
72
72
  end
73
73
 
74
74
  Timestamp.class_eval do
75
- if RUBY_VERSION < "2.5"
76
- def to_time
77
- Time.at(self.to_f)
78
- end
79
- else
80
- def to_time
81
- Time.at(seconds, nanos, :nanosecond)
82
- end
75
+ def to_time
76
+ Time.at(seconds, nanos, :nanosecond)
83
77
  end
84
78
 
85
79
  def self.from_time(time)
@@ -1,38 +1,34 @@
1
+ # frozen_string_literal: true
1
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
3
  # source: google/protobuf/wrappers.proto
3
4
 
4
5
  require 'google/protobuf'
5
6
 
6
- Google::Protobuf::DescriptorPool.generated_pool.build do
7
- add_file("google/protobuf/wrappers.proto", :syntax => :proto3) do
8
- add_message "google.protobuf.DoubleValue" do
9
- optional :value, :double, 1
10
- end
11
- add_message "google.protobuf.FloatValue" do
12
- optional :value, :float, 1
13
- end
14
- add_message "google.protobuf.Int64Value" do
15
- optional :value, :int64, 1
16
- end
17
- add_message "google.protobuf.UInt64Value" do
18
- optional :value, :uint64, 1
19
- end
20
- add_message "google.protobuf.Int32Value" do
21
- optional :value, :int32, 1
22
- end
23
- add_message "google.protobuf.UInt32Value" do
24
- optional :value, :uint32, 1
25
- end
26
- add_message "google.protobuf.BoolValue" do
27
- optional :value, :bool, 1
28
- end
29
- add_message "google.protobuf.StringValue" do
30
- optional :value, :string, 1
31
- end
32
- add_message "google.protobuf.BytesValue" do
33
- optional :value, :bytes, 1
7
+
8
+ descriptor_data = "\n\x1egoogle/protobuf/wrappers.proto\x12\x0fgoogle.protobuf\"\x1c\n\x0b\x44oubleValue\x12\r\n\x05value\x18\x01 \x01(\x01\"\x1b\n\nFloatValue\x12\r\n\x05value\x18\x01 \x01(\x02\"\x1b\n\nInt64Value\x12\r\n\x05value\x18\x01 \x01(\x03\"\x1c\n\x0bUInt64Value\x12\r\n\x05value\x18\x01 \x01(\x04\"\x1b\n\nInt32Value\x12\r\n\x05value\x18\x01 \x01(\x05\"\x1c\n\x0bUInt32Value\x12\r\n\x05value\x18\x01 \x01(\r\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\x1b\n\nBytesValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x42\x83\x01\n\x13\x63om.google.protobufB\rWrappersProtoP\x01Z1google.golang.org/protobuf/types/known/wrapperspb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+
12
+ begin
13
+ pool.add_serialized_file(descriptor_data)
14
+ rescue TypeError => e
15
+ # Compatibility code: will be removed in the next major version.
16
+ require 'google/protobuf/descriptor_pb'
17
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
+ parsed.clear_dependency
19
+ serialized = parsed.class.encode(parsed)
20
+ file = pool.add_serialized_file(serialized)
21
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
+ imports = [
23
+ ]
24
+ imports.each do |type_name, expected_filename|
25
+ import_file = pool.lookup(type_name).file_descriptor
26
+ if import_file.name != expected_filename
27
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
34
28
  end
35
29
  end
30
+ warn "Each proto file must use a consistent fully-qualified name."
31
+ warn "This will become an error in the next major version."
36
32
  end
37
33
 
38
34
  module Google
@@ -30,6 +30,7 @@
30
30
 
31
31
  # require mixins before we hook them into the java & c code
32
32
  require 'google/protobuf/message_exts'
33
+ require 'google/protobuf/object_cache'
33
34
 
34
35
  # We define these before requiring the platform-specific modules.
35
36
  # That way the module init can grab references to these.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.22.0
4
+ version: 3.24.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Protobuf Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
11
+ date: 2023-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler-dock
@@ -95,6 +95,7 @@ files:
95
95
  - lib/google/protobuf/empty_pb.rb
96
96
  - lib/google/protobuf/field_mask_pb.rb
97
97
  - lib/google/protobuf/message_exts.rb
98
+ - lib/google/protobuf/object_cache.rb
98
99
  - lib/google/protobuf/plugin_pb.rb
99
100
  - lib/google/protobuf/repeated_field.rb
100
101
  - lib/google/protobuf/source_context_pb.rb
@@ -107,7 +108,7 @@ homepage: https://developers.google.com/protocol-buffers
107
108
  licenses:
108
109
  - BSD-3-Clause
109
110
  metadata:
110
- source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.22.0/ruby
111
+ source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.24.1/ruby
111
112
  post_install_message:
112
113
  rdoc_options: []
113
114
  require_paths:
@@ -116,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
117
  requirements:
117
118
  - - ">="
118
119
  - !ruby/object:Gem::Version
119
- version: '2.3'
120
+ version: '2.7'
120
121
  required_rubygems_version: !ruby/object:Gem::Requirement
121
122
  requirements:
122
123
  - - ">="