save-cloud icon indicating copy to clipboard operation
save-cloud copied to clipboard

Mono repository

Open nulls opened this issue 2 years ago • 1 comments

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-demo from a common build
  • [ ] exclude save-cosv from a common build
  • [ ] exclude save-sandbox from 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

nulls avatar Oct 19 '23 08:10 nulls

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 first
  • save-frontend-common and save-orchestrator-common

nulls avatar Dec 20 '23 11:12 nulls