Tuesday, September 06, 2011

Two weeks of doom later

Well, having completed my introduction at Biton (which was awesome, by the way), I'm back to coding, and the situation does not look quite as grim as I had imagined it to be.

First of all, implementing proper handling of exceptions turned out to be a fairly easy fix, and seems to be working just fine now (read:  I am not yet aware of the bugs).  On the other hand, I've been putting off writing the build system for a while now, and I really should get working on that: there simply isn't that much more left to do for 0.1, except for writing the lessons themselves, and the install scripts (but that's something I want to put off even more).

The main issue with the build system is that it has to be possible to call from two places, and each of these places needs a SConstruct file.  Moreover, each of these places needs a different SConstruct file, and there are still some issues that are too vague:  where the executables should go, how much power the user should have, etc.

As far as I can tell, the simplest solution at the moment is to have a SConscript file optionally present with each lesson, which can override some defaults and set the target to build.  If this SConscript is not present, it should be generated automatically.  SConstruct files should always be generated automatically, and only stored for as long as necessary -- I don't want to be bound to their current layout in the future.

In fact, seeing as the general information about the lesson is likely to be less varied over time than the necessities of SConscript files, there should be another file, lesson.yaml, that is read in order to discover the name of the lesson and similar.  Eventually, this could be expanded to contain all information to generate a lesson (unless something more elegant can be found).


By the way, I'm curious whether shipping is the correct term to use in my previous post for releasing an open source project...  But, bah, more important things to be done.

No comments:

Post a Comment