sconsUtils provides fundamental functionality for building LSST packages but has a couple of issues that, if fixed, would significantly help with advanced continuous integration builds and metrics gathering. In this RFC I propose we make the following changes to sconsUtils:
- Enable EUPS-less builds. Allowing the build to run without requiring EUPS be available simplifies decomposition of the build into individual entities. This is an extension of
RFC-44. There is a bug report in DM-2769.
- Run tests with py.test or nose. The tests currently write a .failed file with the output of the test. This is not parseable by standard test reporting environments. We propose to modify the test execution to use py.test or equivalent capable of writing test results in a standard form that can be understand by many tools. This will improve the readability and metrics analysis of tests (at the expense of one more python dependency). This may require some tweaks to how tests are laid out currently and account will be made of the memory test case (including running tests with valgrind enabled).
- Replace the ups/*.cfg file with a file in standard pkg_config format. This will allow for the installed packages to be queried for dependencies using standard tools and support non-EUPS thirdparty applications linking against the stack C++.