[Scons-dev] GSoC: Introduction and Interested in "Refactor the Node object"

anatoly techtonik techtonik at gmail.com
Mon Mar 17 15:35:40 EDT 2014


Hi Rajul,

You background and previous experience in improving logging/debugging
systems would be very handy for this specific SCons project. SCons
doesn't use standard Python logging, and this opens new possibilities
to work on internal harness that will allow to monitor SCons
processing at real-time without too much performance overhead. Why it
is important for "Refactoring the Node object"
(http://www.scons.org/wiki/GSoC2014Ideas#Refactor_the_Node_object)?

As you may see, there are two points among the goals:

* Improve code readability and maintainability
* Lay the groundwork for future work

Basically, this means that the current way the Node works is not
completely clear for all people proficient with Python and that is
something that we would like to be changed. I personally more in favor
of live system output rather than lengthy docs, because good
visualization can be valuable in debugging future modifications.
Diagnostic output from build system should be constrained by a text
log, some live graph visualization is my personal long term goal for
SCons. Visualizing a problem with Nodes using visual graphing in open
source manner will earn you extra points for future carrier, but it is
not required for the scope of Node refactoring task.

As for the docs. There are some developer notes I just found on our
wiki - http://www.scons.org/wiki/DeveloperGuide/Nodes (wiki is our
primary tool for storing different drafts and sharing knowledge). This
DeveloperGuide is a good reading even with a a clear lack of pictures.
All corrections are welcome - they are monitored from the
RecentChanges page, so feel free to ask and clarify.

As for introductory bug. We use bug tracker on scons.tigris.org
http://scons.tigris.org/issues/reports.cgi?state=Open+issues&containing=&type=natural+language+search&x=Milestone&y=Priority
and although I can not locate a particular bug for the issue,
hopefully somebody else can popup and point you.

Summer of code is a coding project, but there is also a big research
part, so from my side a successful proposal should include a strategy
of conducting this research with reports that could be validated,
repeated and reused for future work on SCons (or any other build
tools). That may require extending our benchmark framework, but you
won't have to start from scratch in any way.

We are all in different time zones and may not respond quickly. If you
need my help - you may try to pop up on IRC channel #scons on freenode
or better ping me directly on Google+.

Feel free to ask questions, and welcome. ;)
--
anatoly t.


More information about the Scons-dev mailing list