I'll take a stab at this with caveat that I'm not the maintainer...

Ahh - as I was writing this Jeff chimed in.  Anything I say here that's in
contradiction to him, believe him, not me (though I think we're actually in
agreement on the various points). :-)

On Tue, Nov 23, 2010 at 3:23 PM, Carles Barrobés i Meix <[email protected]
> wrote:

> My questions, mainly to the developers:
> - Can I rely on using functions in fabric.main?
>

Sort of.  The plan is to refactor all that code heavily post 1.0, but as I
understand it, the code will stay pretty much as-is (or at least BC) through
the various 1.x releases.  If anything, you'll have some better options
available and those will be the deprecated way of interacting with the code,
but they'll be there at least until 2.0.  Again though, as is my
understanding.

That said, you might want to look at my fork of Fabric on GitHub.  It does
have some pretty heavy refactoring of that code to allow for things like
namespace tasks (think `fab db.init`, `fab django.run_tests`, etc.).



> - Are there plans to refactor fabric.main so that it is more usable in the
> way I suggest, and eventually become a published API?
>

Yes, yes, and more yes.  Ideally we'll have a runner script that pulls the
relevant pieces from the command line and then invokes Fabric.  There's talk
of a three(ish)-step process as well, the first one that loads the minimum
amount of Fabric necessary to parse a fabfile, followed by the loading of
the fabfile at which point other tasks and plugins and roles and such can be
defined and modify things such as the command parameters, and finally the
execution of the code.



> - Would you be open to contributions in that direction?
>

Yup.  Right now the big changes coming down the pipe for 1.0 are some
get/put finishing touches, followed by (hopefully) all of my namespace task,
__all__, etc., changes (my master on GH).  After that I believe 1.1 and 1.2
are spoken for, but anything you're interested in doing, go for it.  One
thing we've (well, I've) definitely learned from though is to make topic
branches.  I intended my code to be one or two commits, and now am some 30
commits off of being in sync with the main source.  A lot of my changes
build on other changes, so they're a lot harder to break into branches now.

-T
_______________________________________________
Fab-user mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to