We have a number of embedded projects, and are trying to improve our process. This includes automating our unit and system tests with jenkins. I have gotten some of our existing environments automated to a reasonable degree. We have some new projects starting from scratch, and I would like to set these up in an even better way- so that the automation is ready as the development is ready to use it.
My problem is that it seems like every project we have is using a different target board, and requires a different proprietary version of eclipse with a unique toolchain. Windriver, TI, Microsemi, Green Hills... Now, instead of adapting automation to whatever ugly process grew up over a couple years, I can design things from the ground up- but have no idea what the best way to do it is.
What are best practices here? Should we be checking eclipse .project files into source control and building the software through an eclipse CLI? Should I be trying to force developers to maintain more traditional Makefiles to isolate the GUI tools from the process? If so, how do I set up tests so that they can be run on target (simulator or physical) when the current practice is "push this button on this window to connect to target, hit this other button to run, and look for pass or fail in the console"?
Recommendations of books on this topic would be just as good as detailed answers...I cannot find any good recommendations about this.