gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam R. B. Jack" <aj...@trysybase.com>
Subject [RT] Gump[y] internals re-design
Date Fri, 14 May 2004 02:28:54 GMT
I think I've finally got Sam's itch for a more real-time/interactive Gump.
[FWIIW: I think Brutus' wonderful multiple-a-day cycles are being wasted
without more interaction with users, and this led me here.]

Basically, I think I'd like to see Gump's internals refactored so that we
have logic like:

    # In order...
    for project in run.getBuildSequence():

        module=project.getModule()

        # Update on demand
        if not module.isUpdated():
            module.update()
            module.updateStats()
            module.document()
            module.syndicate()
            module.notify()

        # Build project
        project.build()
        product.publishArtefacts()
        project.updateStats()
        project.document()
        project.syndicate()
        project.notify()

        # Keep track of progress...
        documentBuildList()

    # The wrap up...
    documentWorkspace()

This allows (1) CVS|SVN updates to occur just in time (2) the smallest
possible window between update/build failure/notification (3) watch as Gump
goes [monitoring].

[I'd like to split project/module/workspace into wrapping context objects
(separate from the models) that hold state, etc. I doubt anybody cares about
that, but I, but I want a loaded workspace to be re-usable, it 'costs' too
much to load.]

Now, there are far better designers than I on this list, and I have to
wonder if I am missing some useful patterns. Ought I consider plug-ins (e.g
ant|maven|xyz), ought I consider observer patterns, etc. etc. How do I cope
with optional/switchable/dynamic code paths through here? [i.e. no
update/just build, no publish/just build, etc.] Any thoughts here?

BTW: I'd like to be able to combine this with some sort of web-based
interface that can use  a loaded workspace in memory (it is slow to load 600
projects) and allow users to interactively say 'validate this', or 'preview
this for me', 'do an adhoc build, pls', etc. This is a knock on goal, but
seems important to consider.

I'm posting this so I don't start coding it. It isn't critical this moment,
but it'd be a nice to have. I'd really appreciate thoughts/insights/advice.

regards,

Adam
--
Experience the Unwired Enterprise:
http://www.sybase.com/unwiredenterprise
Try Sybase: http://www.try.sybase.com


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@gump.apache.org
For additional commands, e-mail: general-help@gump.apache.org


Mime
View raw message