Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Adding --gemfile= selection as an argument to exec #5924

Closed
lloeki opened this issue Aug 4, 2017 · 12 comments
Closed

Adding --gemfile= selection as an argument to exec #5924

lloeki opened this issue Aug 4, 2017 · 12 comments

Comments

@lloeki
Copy link

lloeki commented Aug 4, 2017

I was trying to fix this in a way that doesn't involve gruesome hacks and matryoshka wrappers by going something along this route (4.9). Here's what I found:

  • setting BUNDLE_GEMFILE=where/is/Gemfool and running bundle exec rubocop -c where/is/.rubocop.yml where/is/my/file.rb works but requires setting an env var which is impractical and cannot be done without side effects in some cases (e.g multiple projects open in a single vim instance)
  • cd'ing into where/is/my and running bundle exec rubocop file.rb works but requires changing the pwd which cannot be done without side effects in some cases (vim plugins don't like things like autochdir)
  • bundle install --gemfile=Gemfool is a thing when it can use BUNDLE_GEMFILE already, so “there's BUNDLE_GEMFILE, use that” doesn't seem to carry much weight
  • running env BUNDLE_GEMFILE=where/is/Gemfool bundle exec rubocop -c where/is/.rubocop.yml where/is/my/file.rb works but may be hard to set as a command without side effects (vim-syntastic) so why is there --gemfile= for install? Also, maybe unix/shell dependent?
  • bundle exec can already take an optional argument ([--keep-file-descriptors]) so it's not like it can't take more, so not accepting one more doesn't seem to carry much weight either

So what do you think about adding --gemfile= to bundle exec, and possibly the other commands too for consistency?

@prithvi16
Copy link

@colby-swandale I am a first-time contributor. Can I start working on this?

@colby-swandale
Copy link
Member

Sure! let us know if you have any questions.

@blackst0ne
Copy link

Any updates on this? 🙂

@pvsukale have you started to work on this proposal?

@prithvi16
Copy link

Sorry. Was busy with college work. Will start working on this tonight.
Is this okay?

@blackst0ne
Copy link

@pvsukale sure. Take your time!

I just wanted to be sure you're in business. 🙂

@ankitkataria
Copy link
Contributor

@colby-swandale if this issue is still open, can I work on this? I'm a first-time contributor. 😄

@prithvi16
Copy link

Hey @ankitkataria . I am not working on this due to some problems. I should have mentioned this earlier 😄 .

@colby-swandale
Copy link
Member

@ankitkataria Sure! let us know if you run into any issues

bundlerbot added a commit that referenced this issue Aug 30, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided
bundlerbot added a commit that referenced this issue Sep 3, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided
bundlerbot added a commit that referenced this issue Sep 3, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided
colby-swandale pushed a commit that referenced this issue Sep 21, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided

(cherry picked from commit c489248)
colby-swandale pushed a commit that referenced this issue Sep 22, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided

(cherry picked from commit c489248)
colby-swandale pushed a commit that referenced this issue Oct 5, 2018
Add gemfile flag to exec command

### What was the end-user problem that led to this PR?

This PR resolves the issue #5924

### What was your diagnosis of the problem?

- added a `gemfile` flag in `cli.rb`
- if `options[:gemfile]` is set I created a SharedHelper method `custom_gemfile` which used the predefined `find_file` function to find and set the environment variable with the argument provided

(cherry picked from commit c489248)
@alex0112
Copy link

Is this still open? Looking for an issue to work on, but it looks like there's a merged PR.

@ankitkataria
Copy link
Contributor

@alex0112 Yeah, I've already solved this one.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Dec 17, 2018
pkgsr change
* Remove @Prefix@ from ALTERNATIVES file.

## 1.17.2 (2018-12-11)

 - Add compatability for bundler merge with Ruby 2.6

## 1.17.1 (2018-10-25)

 - Convert `Pathname`s to `String`s before sorting them, fixing #6760 and #6758 ([#6761](rubygems/bundler#6761), @alexggordon)

## 1.17.0 (2018-10-25)

No new changes.

## 1.17.0.pre.2 (2018-10-13)

Features:

  - Configure Bundler home, cache, config and plugin directories with `BUNDLE_USER_HOME`, `BUNDLE_USER_CACHE`, `BUNDLE_USER_CONFIG` and `BUNDLE_USER_PLUGIN` env vars ([#4333](rubygems/bundler#4333), @gwerbin)
  - Add `--all` option to `bundle binstubs` that will generate an executable file for all gems with commands in the bundle
  - Add `bundle remove` command to remove gems from the Gemfile via the CLI
  - Improve checking file permissions and asking for `sudo` in Bundler when it doesn't need to
  - Add error message to `bundle add` to check adding duplicate gems to the Gemfile
  - When asking for `sudo`, Bundler will show a list of folders/files that require elevated permissions to write to.

The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2.

  - Improve deprecation warning message for `bundle show` command
  - Improve deprecation warning message for the `--force` option in `bundle install`

## 1.17.0.pre.1 (2018-09-24)

Features:

  - Check folder/file permissions of the Bundle home directory in the `bundle doctor` command ([#5786](rubygems/bundler#5786), @ajwann)
  - Remove compiled gem extensions when running `bundle clean` ([#5596](rubygems/bundler#5596), @akhramov)
  - Add `--paths` option to `bundle list` command ([#6172](rubygems/bundler#6172), @colby-swandale)
  - Add base error class to gems generated from `bundle gem` ([#6260](rubygems/bundler#6260), @christhekeele)
  - Correctly re-install gem extensions with a git source when running `bundle pristine` ([#6294](rubygems/bundler#6294), @wagenet)
  - Add config option to disable platform warnings ([#6124](rubygems/bundler#6124), @agrim123)
  - Add `--skip-install` option to `bundle add` command to add gems to the Gemfile without installation ([#6511](rubygems/bundler#6511), @agrim123)
  - Add `--only-explicit` option to `bundle outdated` to list only outdated gems in the Gemfile ([#5366](rubygems/bundler#5366), @peret)
  - Support adding multiple gems to the Gemfile with `bundle add` ([#6543](rubygems/bundler#6543), @agrim123)
  - Make registered plugin events easier to manage in the Plugin API (@jules2689)
  - Add new gem install hooks to the Plugin API (@jules2689)
  - Add `--optimistic` and `--strict` options to `bundle add` ([#6553](https://github.com/bundler/bundler/issues/6553), @agrim123)
  - Add `--without-group` and `--only-group` options to `bundle list` ([#6564](rubygems/bundler#6564), @agrim123)
  - Add `--gemfile` option to the `bundle exec` command ([#5924](rubygems/bundler#5924), @ankitkataria)

The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2.

  - Make `install --path` relative to the current working directory ([#2048](rubygems/bundler#2048), @igorbozato)
  - Auto-configure job count ([#5808](rubygems/bundler#5808), @segiddins)
  - Use the Gem Version Promoter for major gem updates ([#5993](rubygems/bundler#5993), @segiddins)
  - Add config option to add the Ruby scope to `bundle config path` when configured globally (@segiddins)

## 1.16.6 (2018-10-05)

Changes:

  - Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](rubygems/bundler#6341), @agrim123)
  - Add Homepage, Source Code and Chanagelog URI metadata fields to the `bundle gem` gemspec template (@walf443)

Bugfixes:

  - Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](rubygems/bundler#6529), @theflow)
  - Fix some rescue calls that don't specifiy error type (@utilum)
  - Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](rubygems/bundler#6491), @segiddins)
  - Improve handlding of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
  - Refactor check for OpenSSL in `bundle env` (@voxik)
  - Remove an unnecessary assignment in Metadata (@voxik)

Documentation:

  - Update docs to reflect revised guidance to check in Gemfile.lock into version control for gems ([#5879](https://github.com/bundler/bundler/issues/5879), @arbonap)
  - Add documentation for the `--all` flag in `bundle update` (@agrim123)
  - Update README to use `bundle add` in usage examples (@hdf1986)
@jarl-dk
Copy link
Contributor

jarl-dk commented Oct 2, 2019

Seems like this feature is not documented...

@deivid-rodriguez
Copy link
Member

Documentation PR appreciated.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants