even if I know that in bundler FAQ ability to require all spec for all groups is mentioned as feature it is not good behavior in some use cases.
One of them is our use case:
We develop virtual machine with requirement on minimal size dependency. We found bundler useful to handle multiple gem version in case, that there is more rails servers ( our server is just configuration server on specified port ). We ensure that version is correct different way, so we use bundler only to preload correct gem versions. We have quite a lot of gems in development and test groups, so for us is not option to have such gems on target system. Also we need to handle systems which is offline to public net, so downloading it is not option.
So what I change?
I add option miniresolver which solves only non-excluded groups. So if someone want on production miniresolving then creating .bundle/config which contain without and miniresolver, then it prevent loading of specs and resolve on required groups.
Thanks for attention
P.S. it would be nice if you can backport it also to 1.0 as we still use it ( change is same, just maybe testcase doesn't work, I can create separate sr if you are interested ).
add option to resolve dependencies only for given group
add testcase that demonstrate such functionality
This pull request fails (merged 3d33fa0 into 54b6240).
Thank you for the pull request! Unfortunately, this sort of change is outside the scope of the Bundler project — we want to have a single resolve, including all groups, in the Gemfile.lock. If you remove any groups from the resolve, your resolve is no longer valid for the entire file, and that is no good. Have you tried putting the gem files into vendor/cache, or using the --deployment flag?