[Scons-users] SCons Tools maintenance

Nacho Piqueras natxo.piq at gmail.com
Thu Nov 9 06:33:36 EST 2017


Hello all,

Even if it is a not very much documented feature, I find SCons' Tools one
of the most powerful concepts to arrange a build that involves several code
transformations. In our projects we use a lot of 3rd party code generators
and we wrap them into SCons tools to bring their functionality to the build
environment.

The problem we face is that tools packages are distributed per project.
Currently all SCons tools that are required for a specific project are
included into a site-tools folder inside that project. Being this way, we
have the source code distribution problem: sometimes the code for a tool
drifts from one project to another and it is difficult to track
bugs/improvements through projects.

Because scons tools are really coupled with the tool they wrap we could try
to distribute the python package with the tool (the code generator), but
this is not always possible. Fresh install of a tool does not bring the
scons tool with it.

Also, we would like to unit test the code of a tool. This involves mocking
a scons environment somehow... for at least testing that the action would
be correctly called, or the sequence of actions correctly arranged (scons
tools' code often define scanners, emitters...). I still have not figured
out how to do it.

I would like to know how people using SCons distribute their SCons' tools
code, how do you deal with this situation.

For example, maybe we could package scons tools and install them with pip
into a virtualenv created for a project...

Many thanks for your thoughts on this question and for keeping SCons
evolving.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20171109/1d8c3c18/attachment.html>


More information about the Scons-users mailing list