On 12/17/2003 9:49 PM, Chad Fowler wrote: > On Thu, 18 Dec 2003, Randy W. Sims wrote: > > hehe. "When I said 'distributions', I meant 'distributions'." :) Oops, sorry. When I said distribution, I meant *modules*. > # Both of the perl build tools MakeMaker > # and Module::Build produce a file, 'META.yml' that is placed inside of > # every module distribution on CPAN. The meta data is there for CPAN, > # PAUSE, and other tools easily gather information about module > # distributions to aid searching, indexing, etc. From looking at the site > # mentioned it looks like you keep that info in a ruby script > # <http://rubygems.rubyforge.org/wiki/wiki.pl?GemSpecification>; > > The Ruby script is really a pre-YAML form. You specify the gem spec in > Ruby, but it generates YAML when you actually create the gem. We didn't > want to have to hand-code YAML, since it's much easier to generate YAML > from Ruby objects. So, the Ruby you see is a generator for the real > metadata format. > > Chad Yeah, that's how it works in MakeMaker and Module::Build. So I guess the YAML would look something like: name: Foo::Bar version: 0.01 platform: MSWin32 date: 20031217T2200-0400 summary: This module goes foo. require_paths: - path/foo - path/bar autorequire: somefile.rb author: John Doe email: jd / somewhere.com homepage: http://www.foo-bar.org description: | This is a long long description of what this module does. This compares to the proposed META.yml specification where working on for perl like: name -> name version -> version platform -> requires_os|excludes_os date -> summary -> abstract require_paths -> ? autorequire -> ? author -> authored_by email -> authored_by homepage -> description -> And the META.yml would look like: name: Foo::Bar version: 0.01 requires_os: MSWin32 abstract: This module goes foo. authored_by: - John Doe <jd / somewhere.com> ... (See <http://www.thepierianspring.org/META-spec.html#synopsis> for a more representative example.) Would a common spec be beneficial? Randy.