Differences between revisions 6 and 7
Revision 6 as of 2004-07-12 19:37:15
Size: 4195
Editor: 1Cust203
Comment:
Revision 7 as of 2009-09-20 23:49:34
Size: 4261
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * [http://brutus.apache.org/gump/pydoc/ PyDoc Root]
 * [http://brutus.apache.org/gump/pydoc/gump.html Gump PyDoc]
 * [[http://brutus.apache.org/gump/pydoc/|PyDoc Root]]
 * [[http://brutus.apache.org/gump/pydoc/gump.html|Gump PyDoc]]
Line 12: Line 12:
 * [http://brutus.apache.org/gump/pydoc/gump.core.html Core Classes] (e.g. [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRunOptions GumpRunOptions], [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpSet GumpSet], [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRun GumpRun])
 * [http://brutus.apache.org/gump/pydoc/gump.model.html Object Model] (e.g. Project/Module, etc.)
 * [http://brutus.apache.org/gump/pydoc/gump.runner.html Runner] (perform a run)
 * [http://brutus.apache.org/gump/pydoc/gump.update.html Updater] (CVS/SVN/etc.)
 * [http://brutus.apache.org/gump/pydoc/gump.build.html Builder] (Ant/Maven/etc.)
 * [[http://brutus.apache.org/gump/pydoc/gump.core.html|Core Classes]] (e.g. [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRunOptions|GumpRunOptions]], [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpSet|GumpSet]], [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRun|GumpRun]])
 * [[http://brutus.apache.org/gump/pydoc/gump.model.html|Object Model]] (e.g. Project/Module, etc.)
 * [[http://brutus.apache.org/gump/pydoc/gump.runner.html|Runner]] (perform a run)
 * [[http://brutus.apache.org/gump/pydoc/gump.update.html|Updater]] (CVS/SVN/etc.)
 * [[http://brutus.apache.org/gump/pydoc/gump.build.html|Builder]] (Ant/Maven/etc.)
Line 18: Line 18:
1) Create [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpSet GumpSet] 1) Create [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpSet|GumpSet]]
Line 20: Line 20:
The input parameters (e.g. all or * or avalon-*) are matched against projects in the loaded workspace to determine a list of projects. The dependencies for those projects are sorted to create an order project sequence. The modules for that complete sequence is stored. We now have a full GumpSet with all the details we need to perform a run. This (along with [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRunOptions Run Options]), and the original workspace tree (of projects/modules) are stored on a [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRun GumpRun]. The input parameters (e.g. all or * or avalon-*) are matched against projects in the loaded workspace to determine a list of projects. The dependencies for those projects are sorted to create an order project sequence. The modules for that complete sequence is stored. We now have a full GumpSet with all the details we need to perform a run. This (along with [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRunOptions|Run Options]]), and the original workspace tree (of projects/modules) are stored on a [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#GumpRun|GumpRun]].
Line 22: Line 22:
2) [http://brutus.apache.org/gump/pydoc/gump.runner.html Run] 2) [[http://brutus.apache.org/gump/pydoc/gump.runner.html|Run]]
Line 24: Line 24:
The [http://brutus.apache.org/gump/pydoc/gump.runner.html Runner] loops throug the build sequence and (when needed) does an [http://brutus.apache.org/gump/pydoc/gump.update.html update] on a module before doing a [http://brutus.apache.org/gump/pydoc/gump.build.html build] of the project. When done (with each) a [http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#RunEvent Run Event] is dispatched to all listening worker/actors. The workers/actors do their thing (e.g. update stats, generate documentation, etc.) The [[http://brutus.apache.org/gump/pydoc/gump.runner.html|Runner]] loops throug the build sequence and (when needed) does an [[http://brutus.apache.org/gump/pydoc/gump.update.html|update]] on a module before doing a [[http://brutus.apache.org/gump/pydoc/gump.build.html|build]] of the project. When done (with each) a [[http://brutus.apache.org/gump/pydoc/gump.core.gumprun.html#RunEvent|Run Event]] is dispatched to all listening worker/actors. The workers/actors do their thing (e.g. update stats, generate documentation, etc.)
Line 32: Line 32:
 * [http://brutus.apache.org/gump/pydoc/gump.document.html Documenting (Text/XDOCS/XHTML)]
 * [http://brutus.apache.org/gump/pydoc/gump.notify.html Notification (E-mails)]
 * [http://brutus.apache.org/gump/pydoc/gump.syndication.html Syndication (RSS|Atom)]
 * [http://brutus.apache.org/gump/pydoc/gump.stats.html Statistics (to DBM file)]
 * [http://brutus.apache.org/gump/pydoc/gump.results.html Results (e.g. XML on/for other servers)]
 * [http://brutus.apache.org/gump/pydoc/gump.repository.html Repository (Artifacts Repo)]
 * [http://brutus.apache.org/gump/pydoc/gump.timing.html Timing (Time Keeper, how long did X take)]
 * [[http://brutus.apache.org/gump/pydoc/gump.document.html|Documenting (Text/XDOCS/XHTML)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.notify.html|Notification (E-mails)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.syndication.html|Syndication (RSS|Atom)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.stats.html|Statistics (to DBM file)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.results.html|Results (e.g. XML on/for other servers)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.repository.html|Repository (Artifacts Repo)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.timing.html|Timing (Time Keeper, how long did X take)]]
Line 42: Line 42:
 * [http://brutus.apache.org/gump/pydoc/gump.loader.html Loading from XML to model]
 * [http://brutus.apache.org/gump/pydoc/gump.utils.html Utility code] (e.g. file sync, DOM, exec, etc.)
 * [[http://brutus.apache.org/gump/pydoc/gump.loader.html|Loading from XML to model]]
 * [[http://brutus.apache.org/gump/pydoc/gump.utils.html|Utility code]] (e.g. file sync, DOM, exec, etc.)
Line 47: Line 47:
 * [http://brutus.apache.org/gump/pydoc/gump.shared.html Shared code (e.g. model comparators by XYZ)]
 * [http://brutus.apache.org/gump/pydoc/gump.integration.html Integration code (e.g. w/ CVS/others) ]
 * [http://brutus.apache.org/gump/pydoc/gump.guru.html Stats & XRef 'gurus' -- know it alls]
 * [[http://brutus.apache.org/gump/pydoc/gump.shared.html|Shared code (e.g. model comparators by XYZ)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.integration.html|Integration code (e.g. w/ CVS/others) ]]
 * [[http://brutus.apache.org/gump/pydoc/gump.guru.html|Stats & XRef 'gurus' -- know it alls]]
Line 51: Line 51:
 * [http://brutus.apache.org/gump/pydoc/gump.svg.html SVG utilities (Scalable Vector Graphics)]
 * [http://brutus.apache.org/gump/pydoc/gump.test.html Unit Tests]
 * [http://brutus.apache.org/gump/pydoc/gump.threads.html Multithreading]
 * [[http://brutus.apache.org/gump/pydoc/gump.svg.html|SVG utilities (Scalable Vector Graphics)]]
 * [[http://brutus.apache.org/gump/pydoc/gump.test.html|Unit Tests]]
 * [[http://brutus.apache.org/gump/pydoc/gump.threads.html|Multithreading]]

'Gump Code'

The main gump packages are documented here:

Main Packages:

See GumpInternals for how a run (the tree of context) is formed/loaded (objects from XML) and worked upon.

1) Create GumpSet

The input parameters (e.g. all or * or avalon-*) are matched against projects in the loaded workspace to determine a list of projects. The dependencies for those projects are sorted to create an order project sequence. The modules for that complete sequence is stored. We now have a full GumpSet with all the details we need to perform a run. This (along with Run Options), and the original workspace tree (of projects/modules) are stored on a GumpRun.

2) Run

The Runner loops throug the build sequence and (when needed) does an update on a module before doing a build of the project. When done (with each) a Run Event is dispatched to all listening worker/actors. The workers/actors do their thing (e.g. update stats, generate documentation, etc.)

Note: Currently context (such as output from exec commands) are stored on the model, not on a wrapper, hence the model/tree is poluted by the run & not re-usable. [Work todo...]

Workers (Actors):

The workers work on the content tree (the tree of results) based off events that come from the runner, e.g. module complete, project completed, etc. These actors process the state of the entity and do their thing (including updating information on that entity in the tree, e.g. timestamps).

Random Important:

Random Minor:

GumpCode (last edited 2009-09-20 23:49:34 by localhost)