puppetlabs/packaging — pull request #234 by MosesMendoza (2013-11-10 01:41:39+00:00)
Title: (RE-54) Enable expression of platform specific dependencies for gems

This PR adds additional functionality to the gem.rake file for creating
platform-specific gems with different dependencies. Using a new key in the
project_data.yaml file, we iterate over the platforms specified, building a gem
for each. A default gem, without a specified platform, is still created.
Platform-specific dependencies are *additive*, not replacing. That is, any
additional platform-specific dependencies will be added to the dependencies
listed under gem_runtime_dependencies and gem_devel_dependencies.

This PR adds support for shipping the platform-specific gems as well.

This was tested with a local gem repository running on wheezy. Specifying
platform dependencies for x86_64-darwin (mac) and x86-mingw32 (windows)
was successful.

Once this PR is reviewed/merged, the project_data.yaml file can be updated
in individual projects to enable this functionality as needed.

It is entirely backwards-compatible. Future work should include some sort of
platform sanity checker to make sure the specified platform is actually sane.