Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Monorepo #31

Closed
kitsudaiki opened this issue Feb 2, 2023 · 2 comments
Closed

Create Monorepo #31

kitsudaiki opened this issue Feb 2, 2023 · 2 comments
Assignees
Labels
Env: Build-Process in case the build-process has to be updated Env: Deploy-Process in case the deploy-process has to be updated Env: Documentation requires an update of the documentation Env: Test updates in test-code (functional-tests and so on) QA Any tasks, witch improve the quality of the code, documentation and so on Topic: Usability changes to improve the usability of the program
Milestone

Comments

@kitsudaiki
Copy link
Owner

Change

Description

Actual this repository here serves only as central anchor for this project. All sub-components and libraries are only attached as git-submodules. The basic idea at the beginning by keeping all as separate repositories was the re-usability of the libraries in other projects. At this time I still had my automation tool, which had also used these libraries.

But there are problems:

  • There are many more repositories now. With 33 attached repositories it becomes quite hard to handle. Even basic things like tagging all repos or for example fixing the badges in the readme's (fix github worflow badge #23) take much time. Also keeping all in a consistent stat becomes quite hard.
  • git-submodules can be tricky
  • maybe future projects use Rust instead of C++ and so the libraries in separate repositories is potentially not necessary anymore

Primary problem is the huge amount of maintenance workload for the huge amount of repositories, which will become even more in the future.

So I decided to close all the sub-repositories and merge the source-code of all into this repository here. This should make the workflow more effective. Even if this structure has its own disadvantages.

@kitsudaiki kitsudaiki added QA Any tasks, witch improve the quality of the code, documentation and so on Env: Documentation requires an update of the documentation Topic: Usability changes to improve the usability of the program labels Feb 2, 2023
@kitsudaiki kitsudaiki added this to the 0.2.0 milestone Feb 2, 2023
@kitsudaiki kitsudaiki self-assigned this Feb 2, 2023
kitsudaiki added a commit that referenced this issue Feb 4, 2023
In order to replace the submodules by the real repositories, all
git-submodules were removed from this repository.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
Added the plain source-code of all repositories, which were
included as submodules until the previous commit.

While doing so, there are some additional changes:
- structured them into new subdirectories for a cleaner separation.
- removed license-files an git-directores to keep all under the
  current Apache2-license
- update license-header in all files to match with the license of
  the repository
kitsudaiki added a commit that referenced this issue Feb 4, 2023
The order within the pro-file was wrong. This resulted in dependency-issues
when building Tsugumi, which requires the sdk-library.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
Because now the entire source-code exist in one repository, additional
dependency-tracking for each library and component is not necessary anymore.
Additionally the overview was updated.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
Because now the entire source-code exist in one repository, additional
dependency-tracking for each library and component is not necessary anymore.
Additionally the overview was updated.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
Added the plain source-code of all repositories, which were
included as submodules until the previous commit.

While doing so, there are some additional changes:
- structured them into new subdirectories for a cleaner separation.
- removed license-files an git-directores to keep all under the
  current Apache2-license
- update license-header in all files to match with the license of
  the repository
- Reducing the internal readme's
kitsudaiki added a commit that referenced this issue Feb 4, 2023
The dashboard had used git-submodules in order to load dependencies into
the src-directory. This doesn't work anymore with the new monorepo. To
fix this these were replaced with softlinks with relative path.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
The order within the pro-file was wrong. This resulted in dependency-issues
when building Tsugumi, which requires the sdk-library.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
Because now the entire source-code exist in one repository, additional
dependency-tracking for each library and component is not necessary anymore.
Additionally the overview was updated.
kitsudaiki added a commit that referenced this issue Feb 4, 2023
…cing-submodules

Related issue: #31

Merge all repositories into this one here and create a monorepo this way 
in order to reduce the amount of maintenance workload.

original repos:

- https://github.com/kitsudaiki/KyoukoMind
- https://github.com/kitsudaiki/ShioriArchive
- https://github.com/kitsudaiki/MisakiGuard
- https://github.com/kitsudaiki/AzukiHeart
- https://github.com/kitsudaiki/ToriiGateway
- https://github.com/kitsudaiki/TsugumiTester
- https://github.com/kitsudaiki/libHanamiAiSdk
- https://github.com/kitsudaiki/Hanami-AI-Dashboard
- https://github.com/kitsudaiki/libShioriArchive
- https://github.com/kitsudaiki/libMisakiGuard
- https://github.com/kitsudaiki/libAzukiHeart
- https://github.com/kitsudaiki/libKitsunemimiHanamiClusterParser
- https://github.com/kitsudaiki/libKitsunemimiHanamiSegmentParser
- https://github.com/kitsudaiki/libKitsunemimiHanamiPolicies
- https://github.com/kitsudaiki/libKitsunemimiHanamiMessages
- https://github.com/kitsudaiki/libKitsunemimiHanamiCommon
- https://github.com/kitsudaiki/libKitsunemimiHanamiDatabase
- https://github.com/kitsudaiki/libKitsunemimiHanamiNetwork
- https://github.com/kitsudaiki/libKitsunemimiSakuraDatabase
- https://github.com/kitsudaiki/libKitsunemimiSakuraNetwork
- https://github.com/kitsudaiki/libKitsunemimiSakuraHardware
- https://github.com/kitsudaiki/libKitsunemimiConfig
- https://github.com/kitsudaiki/libKitsunemimiJson
- https://github.com/kitsudaiki/libKitsunemimiOpencl
- https://github.com/kitsudaiki/libKitsunemimiObj
- https://github.com/kitsudaiki/libKitsunemimiSqlite
- https://github.com/kitsudaiki/libKitsunemimiIni
- https://github.com/kitsudaiki/libKitsunemimiArgs
- https://github.com/kitsudaiki/libKitsunemimiJwt
- https://github.com/kitsudaiki/libKitsunemimiCpu
- https://github.com/kitsudaiki/libKitsunemimiNetwork
- https://github.com/kitsudaiki/libKitsunemimiCrypto
- https://github.com/kitsudaiki/libKitsunemimiCommon
kitsudaiki added a commit that referenced this issue Feb 4, 2023
…ibrary

Related issue: #31

Remove old deprecated library, which was accidentally added
@kitsudaiki kitsudaiki added Env: Test updates in test-code (functional-tests and so on) Layer: ALL labels Feb 5, 2023
@kitsudaiki
Copy link
Owner Author

Archived all old repositories, which were moved to this main-repo in context of this issue.

@kitsudaiki kitsudaiki added Env: Build-Process in case the build-process has to be updated Env: Deploy-Process in case the deploy-process has to be updated labels Feb 7, 2023
kitsudaiki added a commit that referenced this issue Feb 9, 2023
Related issue: #31

Update ci-pipeline and build-process for the new monorepo-structure.
@kitsudaiki
Copy link
Owner Author

Created new ci-pipeline with the already existing tests of the libraries. Also updated the helm-chart and created and tested a new set of docker-images.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Env: Build-Process in case the build-process has to be updated Env: Deploy-Process in case the deploy-process has to be updated Env: Documentation requires an update of the documentation Env: Test updates in test-code (functional-tests and so on) QA Any tasks, witch improve the quality of the code, documentation and so on Topic: Usability changes to improve the usability of the program
Projects
Status: Done
Development

No branches or pull requests

1 participant