Configuration #2458: Move to Jugit, gitlab-ci, scgbuild, local Windows
Split repository into Fit, Core, GUI
|Status:||Long Term Idea||Start date:||22 May 2020|
In future, the GUI will depend not only on libBornAgainCore, but also on libMVVM. We should treat these dependencies on an equal footing. Either we merge libMVVM into the BornAgain repository. Or we split the latter into Core and GUI.
Keeping everything in one repository won't scale; it prevents adoption of Fit and MVVM by other projects. So splitting, if technically feasible, is preferable. Probably not just Core and GUI but, say, Fit, PyFit, Core, PyCore, GUI.
As a side benefit, CI of GUI would be much accelerated.
For managing dependencies, see the "Live at Head" model in the Google software negineering book, Ch. 21 https://learning.oreilly.com/library/view/software-engineering-at/9781492082781/ch21.html
For cross-project testing pipelines, see https://docs.gitlab.com/ee/ci/multi_project_pipelines.html.