Rather than having to manually keep track of what version each thing in here is and copy files around by hand on update let's use Bundler's standalone mode and careful use of `.gitignore` to help us do it. This means a `bundle update --standalone` will allow us to update all gems in vendor. We could consider vendoring other gems this way in future but I'd suggest only doing this for gems with no dependencies or at least gems with no native extensions. The only gem this applies to that we currently use is `ruby-prof` and I'm not convinced it's widely used enough to warrant vendoring for everyone. Perhaps that's another criteria: it should be functionality that's used by non-developer commands and/or normal Homebrew usage.
66 lines
1.3 KiB
Plaintext
66 lines
1.3 KiB
Plaintext
# First, ignore everything.
|
|
/*
|
|
|
|
# Explicitly ignore OS X Finder thumbnail files.
|
|
.DS_Store
|
|
|
|
# Unignore the contents of `Library` as that's where our code lives.
|
|
!/Library/
|
|
|
|
# Ignore files within `Library` (again).
|
|
/Library/Homebrew/.npmignore
|
|
/Library/Homebrew/bin
|
|
/Library/Homebrew/doc
|
|
/Library/Homebrew/test/.gem
|
|
/Library/Homebrew/test/.subversion
|
|
/Library/Homebrew/test/coverage
|
|
/Library/Homebrew/test/fs_leak_log
|
|
/Library/Homebrew/vendor/portable-ruby
|
|
/Library/Taps
|
|
|
|
# Ignore Bundler files
|
|
**/.bundle/bin
|
|
**/.bundle/cache
|
|
**/vendor/bundle
|
|
**/vendor/ruby
|
|
**/vendor/bundle-standalone/ruby/*/cache
|
|
**/vendor/bundle-standalone/ruby/*/gems/*/*
|
|
**/vendor/bundle-standalone/ruby/*/specifications
|
|
|
|
# Unignore vendored gems
|
|
!**/vendor/bundle-standalone/ruby/*/gems/*/lib
|
|
|
|
# Ignore backports gem (we don't need all files)
|
|
**/vendor/bundle-standalone/ruby/*/gems/backports-*/lib
|
|
|
|
# Ignore `bin` contents (again).
|
|
/bin
|
|
|
|
# Unignore our `brew` script.
|
|
!/bin/brew
|
|
|
|
# Unignore our documentation/completions.
|
|
!/.github
|
|
!/completions
|
|
!/docs
|
|
!/manpages
|
|
|
|
# Ignore generated documentation site
|
|
/docs/_site
|
|
/docs/bin
|
|
/docs/.jekyll-metadata
|
|
|
|
# Unignore our root-level metadata files.
|
|
!/.gitignore
|
|
!/.travis.yml
|
|
!/.codecov.yml
|
|
!/.yardopts
|
|
!/CHANGELOG.md
|
|
!/CODE_OF_CONDUCT.md
|
|
!/CONTRIBUTING.md
|
|
!/LICENSE.txt
|
|
!/README.md
|
|
|
|
# Unignore tests' bundle config
|
|
!/Library/Homebrew/test/.bundle/config
|