• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Gem::Specification.new do |s|
2  s.name        = "google-protobuf"
3  s.version     = "4.29.4"
4  git_tag       = "v#{s.version.to_s.sub('.rc.', '-rc')}" # Converts X.Y.Z.rc.N to vX.Y.Z-rcN, used for the git tag
5  s.licenses    = ["BSD-3-Clause"]
6  s.summary     = "Protocol Buffers"
7  s.description = "Protocol Buffers are Google's data interchange format."
8  s.homepage    = "https://developers.google.com/protocol-buffers"
9  s.authors     = ["Protobuf Authors"]
10  s.email       = "protobuf@googlegroups.com"
11  s.metadata    = { "source_code_uri" => "https://github.com/protocolbuffers/protobuf/tree/#{git_tag}/ruby" }
12  s.require_paths = ["lib"]
13  s.files       = Dir.glob('lib/**/*.{rb,rake}')
14  if RUBY_PLATFORM == "java"
15    s.platform  = "java"
16    s.files     += ["lib/google/protobuf_java.jar"] +
17      Dir.glob('ext/**/*').reject do |file|
18        File.basename(file) =~ /^((convert|defs|map|repeated_field)\.[ch]|
19                                   BUILD\.bazel|extconf\.rb|wrap_memcpy\.c)$/x
20      end
21    s.extensions = ["ext/google/protobuf_c/Rakefile"]
22    s.add_dependency "ffi", "~>1"
23    s.add_dependency "ffi-compiler", "~>1"
24  else
25    s.files     += Dir.glob('ext/**/*').reject do |file|
26      File.basename(file) =~ /^(BUILD\.bazel)$/
27    end
28    s.extensions = %w[
29      ext/google/protobuf_c/extconf.rb
30      ext/google/protobuf_c/Rakefile
31    ]
32    s.add_development_dependency "rake-compiler-dock", "= 1.2.1"
33  end
34  s.required_ruby_version = '>= 3.0'
35  # bigdecimal must be used as a non-built in gem as of ruby-3.4
36  s.add_dependency "bigdecimal"
37  # TODO: evaluate removing Rakefile and moving logic to extconf.rb, so that we
38  # can remove this runtime dependency on rake. See the discussion here for
39  # more details:
40  # https://github.com/protocolbuffers/protobuf/pull/15203
41  s.add_dependency "rake", ">= 13"
42  s.add_development_dependency "ffi", "~>1"
43  s.add_development_dependency "ffi-compiler", "~>1"
44  s.add_development_dependency "rake-compiler", "~> 1.1.0"
45  s.add_development_dependency "test-unit", '~> 3.0', '>= 3.0.9'
46end
47