save-cloud
save-cloud copied to clipboard
Mono repository
A full build takes a lot of time. We don't want to split our repo to a set of small repos.
Need to setup a mono repo for save-cloud.
- [x] #2888
- [x] #2890
- [ ] #2896
- [ ] #2666: need to disable building of save-agent and save-demo for each build
- [ ] exclude
save-demofrom a common build - [ ] exclude
save-cosvfrom a common build - [ ] exclude
save-sandboxfrom a common build
Useful info:
- https://docs.gradle.org/6.3/userguide/multi_project_builds.html
- Example on GitHub with tweaking CI: https://github.com/orangain/gradle-multi-project-monorepo/tree/master
Dependencies between modules:
| Module | Dependencies |
|---|---|
| api-gateway | save-cloud-common, authentication-service |
| authentication-service | save-cloud-common |
| save-agent | save-cloud-common |
| save-api | save-cloud-common |
| save-api-cli | save-cloud-common, save-api |
| save-backend | save-cloud-common, authentication-service, test-analysis-core, save-cosv, test-utils (only test), save-agent (binary only) |
| save-cloud-common | - |
| save-cosv | save-cloud-common |
| save-cosv-frontend | save-cloud-common, save-frontend-common |
| save-demo | save-cloud-common, save-demo-agent (binary only) |
| save-demo-agent | save-cloud-common |
| save-demo-cpg | save-cloud-common |
| save-frontend | save-cloud-common, save-frontend-common |
| save-frontend-common | save-cloud-common |
| save-orchestrator | save-cloud-common, save-orchestrator-common, test-utils (only test) |
| save-orchestrator-common | save-cloud-common, test-utils (only test) |
| save-preprocessor | save-cloud-common, test-utils (only test) |
| save-sandbox | save-orchestrator-common, authentication-service, test-utils (only test), save-agent (binary only) |
| test-analysis-core | save-cloud-common |
| test-utils | - |
Module should be built when there are changes in *.gradle.kts, gradle/*, <MODULE_NAME>/** and <DEPENDENCY_MODULE_NAME>/**
Common modules:
save-cloud-common-- should be built at firstsave-frontend-commonandsave-orchestrator-common