[Scons-users] SCons as a library

Matias Iturburu matias.iturburu at tallertechnologies.com
Thu Oct 10 14:19:15 EDT 2013


2013/10/10 Kenny, Jason L <jason.l.kenny at intel.com>


> >>** **

>

> Right.

> For instance. In fudepan, fbuild keeps track of the fundation's projects,

> so any newcomer can download fbuild and say *fbuild targets* and it will

> list the projects available to him, he can then download it with *fbuild

> myproject:checkout* and run its unittests with *fbuild myproject:test* and

> so on...****

>

> ** **

>

> Does Parts works like that?****

>

> >>** **

>

> ** **

>

> Parts allows Scons to drive the build for the most part. It adds an idea

> of a component called a Part. The Part can be given a VCS object (like

> VcsSvn(…) ) that would define information about where to get the code for

> the Parts. Currently Parts will check out all the Part()s that are defined

> when you start a build, and only update the code if:****

>

> **1) **The information about what to check out is different ( such

> as you point to a different branch, or select a different branch as with

> the SmartSvn object)****

>

> **2) **You request the code to be updated via the –update switch. (

> default to all component, but can be given options to update only a given

> set of 1 or more components)****

>

> ** **

>

> Checkouts are done in parallel using the value of –j, however this can be

> overridden with a --vcs-jobs option to be serial or more parallel.****

>

> ** **

>

> I hope someday to have time to implement a new format, or a continuous

> loader that would allow me to only check out the components needed ( vs all

> of them). The current logic is as it is because we don’t know what Parts

> depend on other parts on a fresh build, so we have to check out the code to

> get the part file information. Given that a Part file is a python file at

> the end of the day people can scan the drive with their own code. This

> generally means at the moment I have I check out all the data ( not just a

> Parts file) to make sure that part file when read ( and given who it is

> done in scons “executed” in python) that directories and files it expects

> to find are there.****

>

> ** **

>

> As far as testing goes we have a notion of a unit test. (ie an program

> that is the test) The api can be customized to do stuff with gold testing,

> however a different API would be better for this. To run a test you might

> say:****

>

> ** **

>

> #run all tests in mycomp****

>

> Scons run_utest::mycomp****

>

> #run test1 in mycomp****

>

> Scons run_utest::mycomp::test1 ****

>

> ** **

>

> Or if you had “sub” parts you might any to run all the tests in mycomp and

> any sub-part. This would be done via****

>

> Scons run_test::mycomp:: # ending :: is like a *, ( without * shell

> issues J )****

>

> Or you could run all tests defined in the Sconstruct via :****

>

> Scons run_utest::****

>

> ** **

>

> ****

>

> Parts does not have a central repro of project information it points to

> what projects exists or don’t, or how they relate and what versions of the

> components exists. I did not do this for a few reasons. However I could see

> this as a nice addon.****

>

> ** **

>

> Hope this helps. Let me know if there are any other questions****

>

> Jason****

>

>

Ok, so there is not much overlap, in the sense that there are clearly
different goals with both projects.
So my first question still remains.
Is there a way that I could load a SConstruct (or SConscript) dynamically
and call the SCons main entry point from a python script without relying in
a subproces call?





> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

>



--
<http://www.tallertechnologies.com>
Matías Iturburu
Software Engineer

*San Lorenzo 47, 3rd Floor, Office 5
Córdoba, Argentina

*
*Phone: +54 351 4217888 / +54 351 4218211
Skype: matias.iturburu*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20131010/8d52a1c0/attachment-0001.html


More information about the Scons-users mailing list