> Well - maybe its not that bad ... but all the same - this is an early
> warning .. I'm thinking about making a copy of AntBuilder
> (gump/python/gump/builder/ant.py), renaming it to magic.py, making a
> couple of small but significant changes, sorting out what actually does
> the builder selection, updating it submitting a patch.  And all of this
> with zero Python experience and no compiler.

Nothing slightly heretic (unless you are talking about Ant religion not Gump
religion). Magic is like Ant (based upon, I believe) but different, so you
approach seems totally correct given today's Gump codebase. The only (small
but significant) extras I can think off would be:

1) Add a <magic element to the project metadata (like <ant, like <maven) and
update gump/model/builder.py to have such a Magic class (based upon
Builder), just like the Ant class. [Feel free to update xdocs for site
documentation.]

2) Modify gump/model/project.py to create the self.magic member data, and
hasMagic(), getMagic() beaner methods, and clone that small section in
complete() (that constructs objects from XML) that constructs a Magic class
for a <magic DOM element.

3) Update gump/build/builder to have a self.magic and then if
project.hasMagic() to call your gump/builder/magic.py.

> If this sounds like heresy then please yell out now because as I see it
> this is the next step in moving the magic gump equation forward.  If
> anyone wants to shepherd me though the process I'll be very grateful.

We have ant.py and maven.py, so when not magic.py? Get a few more and we can
refactor these steps about to allow (1) auto-discovered/auto-loaded plugins
based upon the element name (2) element name to model/builder auto mappings.
A few more and we'll have enough experience for a reasonable plug-in
strategy. (For example, I think the CLASSPATH generation could move into the
builder, so we could have similar but non-Java such stuff).

BTW: What are the differences between Ant and Magic as far as Gump is
concerned?

regards

Adam


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to