dep-protobuf/ruby/Gemfile
Matthew Wear ae3f25c964 ruby: make bigdecimal a development dependency (#28928)
Fixes #28927

I ran into this while packaging the OpenTelemetry Ruby auto-instrumentation as a prebuilt gem bundle (see #28927 for the full write up). The tl;dr: `bigdecimal` is only used by the test suite, so it only needs to be a development dependency. The only references are:

8baed752ce/ruby/tests/common_tests.rb (L9)

8baed752ce/ruby/tests/common_tests.rb (L1708)

As a runtime dependency it causes pain for anyone vendoring the gem. `bigdecimal` is a native extension with no precompiled build, so it has to be compiled from source for each Ruby ABI, making it the one gem that stops a prebuilt bundle from working across Ruby versions, despite never being loaded at runtime.

This PR moves `bigdecimal` from a runtime to a development dependency. For consistency it also moves `bigdecimal` into the `test` group in the Gemfile, since that's the only environment that needs it.

Closes #28928

COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/28928 from mwear:ruby-bigdecimal-dev-dependency 6fb8ee4fad
PiperOrigin-RevId: 957450742
2026-07-31 19:47:08 -07:00

23 lines
489 B
Ruby

source 'https://rubygems.org'
# FFI is required for JRuby platforms, but optional elsewhere
if defined? $JRUBY_VERSION
gem "ffi", "~>1", platforms: %i[jruby]
gem "ffi-compiler", "~>1", platforms: %i[jruby]
else
group :development do
gem "ffi", "~>1"
gem "ffi-compiler", "~>1"
end
end
group :test do
gem "test-unit", '~> 3.7'
gem "bigdecimal"
end
group :development do
gem "rake", "~> 13.3"
gem "rake-compiler", "~> 1.3"
gem "rake-compiler-dock", "~> 1.11"
end