puppetlabs/puppet — pull request #2147 by thallgren (2013-12-12 14:10:54+00:00)
Title: Make puppet module build use metadata.json as primary input

The Forge team has decided that the current way of building, using the
Modulefile as the source for metadata, should change. The Modulefile
will become obsolete and the metadata.json will take its place as the
primary source. This means that the tool should no longer make an
attempt to generate the metadata.json.

This commit changes the current behavior so that when a metadata.json
is discovered, then it will be used verbatim. No checksums, no types,
and providers will be added to it.

The metadata.json will still be generated in case it is missing and
the Modulefile is present. A warning will be emitted to notify the
user that the Modulefile is deprecated.

When both the Modulefile and the metadata.json are present, the former
is ignored and a warning is emitted.