Yeah I agree with @adamhjk here. It feels like an emerging anti-pattern to hide many of a project's true dependancies down in a software definition. I would consider listing anything you are going to version override at the top-level project. For example all of these software components are overridden at the `chefdk` project level:

```ruby
override :berkshelf, version: "master"
override :bundler,   version: "1.5.2"
override :libedit,   version: "20130712-3.1"
override :libtool,   version: "2.4.2"
override :libxml2,   version: "2.9.1"
override :libxslt,   version: "1.1.28"
override :nokogiri,  version: "1.6.1"
override :ruby,      version: "2.1.1"
override :rubygems,  version: "2.2.1"
override :yajl,      version: "1.2.0"
override :zlib,      version: "1.2.8"
```

At the very least it feels like `ruby`, `rubygems`, `bundler` and `berkshelf` should be listed as project dependencies.