Created
August 27, 2013 14:50
-
-
Save TTimo/6354568 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Full build system redesign | |
I need to ditch the whole es_downloader horror and build something clean from scratch | |
I don't think it's even worth pursuing the current effort on Linux/OSX | |
Need to put down some clear goals to hit with a rewrite though. | |
** As a Developer, I expect to leverage build systems provided with the software I use | |
ACCEPTANCE TESTS: | |
- Not wasting time rewriting build system | |
- Not dealing with gyp at any point | |
- Extend and tweak the build systems that come with the software as needed | |
** As a Developer, I expect to write the build systems for all platforms | |
ACCEPTANCE TESTS: | |
- Reduce the amount of platform specific work | |
- Pick build technologies that adapt well to multiple platforms | |
** As a Developer, I expect the Linux compilation to install all the software to a special build prefix | |
ACCEPTANCE TESTS: | |
- Use one build prefix for all the supporting software | |
- Consider having final targets (es_core) use that prefix as well | |
** As a Developer, I expect to be able to quickly clean/update/rebuild specific components | |
ACCEPTANCE TESTS: | |
- Can clean and fully rebuild any specific part independently: Ogre for instance, or libzmq etc. | |
COMMENTS: | |
Is this the main argument for buildbot? Having a web page, where I can say 'clean this, update this, rebuild this' | |
** As a Developer, I expect release packaging to be integrated with the build system | |
ACCEPTANCE TESTS: | |
- The build system can go all the way to upload a new build to the public | |
** As a Developer, I expect a build system that is easy for everyone to add they own components and modify | |
ACCEPTANCE TESTS: | |
- Pick widely used technologies | |
- Make a documentation effort | |
** As a Developer, I expect to support making variant builds on a large scale easily | |
ACCEPTANCE TESTS: | |
- Can easily 'clone' an entire build setup and use a different branch for ogre for instance | |
- Can easily output builds side by side with a different compiler | |
- Support some kind of 'global build settings' | |
COMMENTS: | |
Is it crazy to think about scons at the top level? | |
Generate the BB configurations to give insight into the build steps and interactivity. | |
** As a Developer, I expect to write basic logic pieces that will help the build system as independent modules | |
ACCEPTANCE TESTS: | |
- Abstract out the logic of 'clone or update', 'checkout or update' into independent modules | |
- Make no assumptions on the overall environment, pass only the required configuration | |
- Python modules |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment