Preparing for LicenseFinder 1.0

September 14, 2012 Matthew Parker

I worked with Ian Lesperance and Paul Meskers this week preparing LicenseFinder for its 1.0.0 release. In addition to performing some much needed refactoring on the codebase, we also added the following new features:

  • Support for more license types (we now detect Apache2, BSD, New BSD, Simplified BSD, MIT, LGPL, ISC, Ruby, and GPLv2).
  • A new HTML report with tons of useful information for your non-technical product owners (including links to license text, color coding of approved v. unapproved dependencies, listing the parent/children dependencies of gems).
  • A simplified text report (also suitable for non-tech product owners)
  • A simplified command-line interface (there’s now just a single command license_finder, though we still offer an equivalent rake task (rake license_finder) if you want to use it for a CI build)
  • A completely rewritten README with clear usage instructions
  • An cucumber integration test suite that outlines all of the license finder features
  • Continuous integration via

While developing the integration test suite, we had the need to shell out and run bundle outside the context of the license finder bundle. It turns out that in order to do this, you have to wrap your system calls inside a block passed to Bundler.with_clean_env:

  Bundler.with_clean_env do
    `cd somewhere && bundle`

If you ever find yourself bootstrapping applications from a ruby script that you need to bundle, keep this little-documented bundler feature in mind.

About the Author

Matthew Parker

Matt Parker is Head of Engineering for Pivotal Labs

Pivotal Tracker on the iPhone 5
Pivotal Tracker on the iPhone 5

As if you haven't found enough excuses to buy a new iPhone 5, here's another: Pivotal Tracker for iOS ver...

Is Data Scientist the Sexiest Job of the Century?
Is Data Scientist the Sexiest Job of the Century?

Hey good lookin'. Yep, I'm talking to you, or at least the data scientists reading this. (The rest of you a...