bazelruby / rules_ruby

Formerly canonical rules for ruby, that are about 2-3 years behind current Bazel. If they work for you great, but if not — please try the new rules ruby by Alex Radionov: https://github.com/bazel-contrib/rules_ruby
Apache License 2.0
99 stars 37 forks source link

Add support for adding just the gems in a particular bundle group #127

Open robertgates55 opened 2 years ago

robertgates55 commented 2 years ago

Interested in feedback for this. I'm trying to take the downloaded/installed gems and use them within a container image; and we make pretty extensive use of bundle groups.

kigster commented 2 years ago

I understand about bundle groups, And I can see how that might be a useful feature.

What I don't understand is your comment about using pre-installed gems in your doctor container.

As you well know many ruby gems require native extensions to be built in C. Those extensions are heavily operating system dependent. If you build a local gem on OS X you cannot copy the result straight into a docker container and expect them to work, unless the gem is pure ruby, OR you are on the same linux variant as the docker container itself. In any other situation you would still need to run bundle install to compile native extensions.

Finally there an error on CI:

registering gem parser with binaries: ["bin/ruby-parse", "bin/ruby-rewrite"]
registering gem rspec-core with binaries: ["bin/rspec"]
registering gem rubocop with binaries: ["bin/rubocop"]
create_bundle_build_file.rb:245:in `prepend': can't modify frozen String: "awesome_print" (FrozenError)