Open korthout opened 5 years ago
Mono repo:
Pros | Cons |
---|---|
Only 1 place for issue tracking | Separating pipelines for each project will be difficult -> Requires PoC |
Only 1 PR per feature, even when crosscutting over multiple projects | Separate releases are required (polyglot projects), but releasing different tools in one Github project may pose problems |
Easy to find all related projects | Longer build times (sum of build times of all projects), unless these can be parallelised |
One readme explaining the goal of Cantis | |
Integration tests crosscutting all projects |
In order to support the addition of other tools (like #7 and #26), the project should be restructured.
The project currently known as
Cantis
should be renamed to something likecantis-javaparser
. This allows adding other tools, like parsers for other languages (likecantis-dotnet
,cantis-scala
, etc), visualisers (like #26) and integration tools (like #7) that can use the output of these different parsers. Thecantisfile.json
outputted by the parsers can be used as the common notation for all of these tools.To do this, a decision needs to be made on whether the different projects will be hosted in a mono repo or in separate git repos. This question revolves about usability and maintainability. For example, should the tools be released together or separately? After that a bunch of changes need to be made.
In any case:
Add a warning note to the readme about this change, it may cause build problemscantis-javaparser
In the case of a mono repo:
In the case of separate git repos:Rename the GitHub project tocantis-javaparser
Create a GitHub project forcantis
to have some main project with info