Development
SCons is actively looking for developers. If you're interested, we'd love to hear from you at dev@scons.tigris.org.
It's only fair that you get an idea of how we develop SCons before deciding if you'd like to help. There is a complete and evolving set of Developer's Guidelines that go into reasonable detail about how we're guaranteeing that SCons is always an exceptionally stable and reliable tool for building software. Here are the key points:
- We write a lot of automated tests to test the daylights out of SCons. Lines of test code currently outnumber lines of code in SCons itself by more than 2.5 to one.
- You can use Mercurial (via Bitbucket) as a front end for submitting patches.
That said, here are resources for SCons developers (or onlookers):
The complete statement of guiding principles and procedures
for SCons development.
Subject to change and improvement.
The SCons project page at
Tigris.org.
This is the center of active SCons development,
hosting the issue tracker (bugs, patches, tasks, etc.).
The old Subversion repository is there, but we now use
Bitbucket
to host the official source repository.
The SCons project page at
SourceForge.
This is where we used to development, but no longer.
It's now mostly of historic interest,
although it's also the origination site for downloads.
The whole source tree in easy-to-download form.
Updated whenever a change is made to SCons.
(Note that the source tree in these archives
is mostly for packaging and testing of SCons;
consult the README file for
information about how to build packages and
install SCons from the source tree.
It's not handled by
executing python setup.py directly
from this package.)
A set of HTML pages documenting the API
of the latest SCons release.
These are generated by
epydoc
from the SCons source code and doc strings.
NOTE: We only started generating
this documentation with the 0.96.95 release,
so it's likely that much of the text might reflect older,
outdated versions of source code,
and needs updating.
If you find these sorts of things,
please let us know by
filing a bug report,
or even
submitting a patch
yourself.
Our
browsable Bitbucket repository
is kept at Bitbucket.org.
The default/ branch contains the most-current development,
but some long-term development is carried out on subsidiary branches/.
Anyone may clone the main repository from bitbucket.
See the Branching and Merging
page in our wiki for a description of the different branches
and how we handle branch management.
The SCons Buildbot,
which runs the entire SCons test suite
on multiple systems after every checkin.
The SCons Buildbot is hosted by
Bad Dog Consulting.
The original design, from the
Software Carpentry
build tool contest,
on which SCons itself was based.
This is now of more interest as an historical document,
since the current design has changed significantly
as we figured out how to make things easier.