My comments:
"Extensions" Section:
1) "Extensions SHOULD reside in ext/"
There are project that include more than one extension, I've
encouraged project follow the setup.rb folder structure, exemplified
here:
(under structure)
2) "Extensions SHOULD be buildable with ruby extconf.rb; make."
That is not true, there are extension that even using extconf they
generate Rakefiles, because they depend on mkrf and not mkmf
That can't be enforced on these developers, if done a lot of project
could break.
3) "Extensions SHOULD be installed into an architecture-specific
directory."
RubyGems doesn't do that, it just relocate binaries from ext directory
to lib, adding the platform directory will make impossible for pre-
built binary gems that bundle 1.8 and 1.9 extension.
It also means that RubyGems will need to add RUBY_PLATFORM (or
RbConfig::CONFIG['host_os']) of each gem into $LOAD_PATH.
This has been requested in the past in RubyGems:
http://rubyforge.org/tracker/index.php?func=detail&aid=14943&group_id=126&atid=575
Installations not using RubyGems will need to adapt their libraries to
try loading from RUBY_PLATFORM directory and under failure try from
other options?
If no RubyGems and no developers implementing those tricks, means Ruby
will need to be modified to handle that.
Setup.rb already handles that putting binaries *outside* the package
and inside site_ruby for each RUBY_PLATFORM
3) Files ending with .exe
AFAIK: "Exe"cutables, not extensions or libraries
My two cents
···
On Apr 20, 4:27 am, Christian Neukirchen <chneukirc...@gmail.com> wrote:
Hello,
earlier this month I wrote up a draft for a specification on how to
structure Ruby projects. It started athttp://gist.github.com/361451
and there was lots of discussion there, which I now want to move to
ruby-talk to gain a larger audience.
The specification now resides at
http://chneukirchen.github.com/rps/
and is generated fromhttp://github.com/chneukirchen/rps.
Please keep discussion on RPS to this thread, so people which usually
don't follow ruby-talk can discuss too.
--
Luis Lavena