freeride-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FR-devel] ModuleBuilder [was: Can we attack the 'not enough libraries


From: Curt Hibbs
Subject: [FR-devel] ModuleBuilder [was: Can we attack the 'not enough libraries' thing straight on?]
Date: Thu, 23 Jan 2003 11:01:27 -0800

I would like to support something like this in FreeRIDE as part of our
project-management/deployment support (which does not yet exist), and I
would appreciate it if you could keep us informed as the project progresses.

Thank you,
Curt

> -----Original Message-----
Berger, Daniel wrote:

> A few of us here in Denver are working on this issue.  See
> http://development.faeriemud.org/ModuleBuilder/.  There's a link to CVS as
> well.
>
> As far as standards, here is how the file layout is gonna be until someone
> threatens me with a pair of pliers and a blowtorch (or Michael and Martin
> kick me off the project):
>
> Layout will be based on package name.  A script (ala h2xs, but
> with a better
> name and no assumptions that C is present) will be provided to
> autogenerate
> the directory & file layout.  The initial version of this script is called
> "rbuildmaker.rb" (name subject to change) and can be found under the bin
> directory on the cvs page (follow the links from the url provided above).
>
> Examples:
>
> package "foo" - all package names will be lower case
>
> foo/
>    lib/       - foo.rb (plus whatever other libs)
>    doc/       - documentation
>    test/      - test cases here
>    CHANGES    - changelog
>    install.rb - a revamped, consistent, standard install script
>    MANIFEST   - listing of package contents
>    test.rb    - will run any unit tests included (for a "make
> test", or the
> like)
>    INSTALL    - installation instructions
>    LICENSE    - Licensing information (perhaps relegated to rd2)
>
> package "foo-bar"
>
> foo-bar/
>    lib/foo/bar.rb
>    ...
>
> In the second example, bar.rb would then be installed in the
> sitelibdir (by
> default - would be configurable) under the directory "foo".  My feeling is
> that documentation should be as well (if provided).  I wouldn't mind
> autogenerating and installing ri docs or man pages either.  Keeping
> everything in the sitelibdir would also make it easier to
> determine what 3rd
> party modules have been installed on your system.  I can't think
> of a reason
> not to install in the sitelibdir, unless it's a permissions/administration
> issue.
>
> Some stub documenation will be automatically created for you as well.  For
> example, using the foo-bar package, the bar.rb file will start off like
> this:
>
> module Foo
>    class Bar
>       VERSION = "0.1.0"
>       # Add code here
>       def self.VERSION
>          VERSION
>       end
>    end
> end
> =begin
> = Description
>    # Add description
> = Synopsis
>    # Add synopsis
> = Class Methods
>    # Add class method docs
> = Instance Methods
>    # Add instance method docs
> = Constants
>    # Add constant docs
> = Author
>    # Your name, email address, irc nick, whatever
> = License
>    # Ruby's by default.  Change as desired.
> = Copyright
>    (C) #{current-year} All Rights Reserved.  Change as desired
> =end
>
> Thus, package name matches directory layout matches module-class
> hierarchy.
>
> A couple of points to head off questions:
>
> lower case - You can make your package name whatever case you
> like, but all
> of *mine* are going to be lower case.  Most people seem to follow this
> tradition anyway.  Let's make it a standard.
>
> stub - don't bug me about the stub documentation details.  It's JUST STUB
> DOCUMENTATION.  I don't expect it to survive long.  It's just there as a
> guideline and to remind you to document certain things, like your License
> and Copyright.
>
> rd2 - if you prefer rdoc, delete and retype as you see fit.  See my point
> about "stub" above.
>
> hypocrisy - I admit I do not follow these standards 100% in my
> own packages
> (but I'm close).  However, I plan on converting all them where they differ
> eventually.
>
> Now, autogenerating a file layout is easy.  It's the install.rb script
> that's going to be the heart of this project (and thus most difficult).
>
> Questions anyone?
>
> Regards,
>
> Dan
>
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]