For its embedded work, my team uses a single large git repository made up of ~30 interlinked projects (e.g. libraries, platforms, plugins etc), each with a pair of Debug/Release build configurations.
However, because I can't find any way of debugging or visualising the repo's tangled mess of Eclipse project/target references, this has now crept beyond the limit of what I can practically manage without getting a migraine.
Are there any Eclipse CDT plugins that can help me visualise / manage project dependencies? Or, failing that, are there any Eclipse config settings that might help me debug which specific project build dependency rules have been invoked in a given build?
Any trick that can make project dependencies more easily visible would be much appreciated, thanks!
Hi @np ,
>>Thanks for the link - I know that page well, you can see a nice comment I left there last summer near the bottom.
ah, did not realize that :-).
Ok, I see what you mean. Unfortunately I'm not aware of such a plugin for CDT, but there are a few for JDT. Unfortunately they are not applicable to JDT as they are using the manifest files.
Erich
There is the 'Project References' in the project settings:
This allows you to open/closed referenced projects.
You might find the following article on that subject helpful: https://mcuoneclipse.com/2017/09/19/managing-project-and-library-dependencies-with-eclipse-cdt/
I hope this helps,
Erich
Hi @ErichStyger ,
Thanks for the link - I know that page well, you can see a nice comment I left there last summer near the bottom.
Yes, we're already editing all the project references via the Project Properties pages, just as you'd expect. However, the problem we're seeing as that as we add more projects to the repo, we're starting to get unexpected build behaviours (i.e. where a project is being built multiple times, or where a Debug build is triggering a Release build, etc) which we can't easily debug.
So, what I'm trying to manage here is that the way Eclipse handles references between multiple projects is getting increasingly hard to debug as our overall development scales up. We're likely to end up with something like 50 or even 60 projects within this single repo, so scale is probably a bigger issue for us than for many embedded developers.
I'm hoping to find an Eclipse CDT plugin that renders to GraphViz in the way Linux tools such as dependency-cruiser do, but almost all the plugins I've found are very Java-centric. All the same, any trick that can help us debug complex project dependencies would be a big win.
Thanks, Nick
I dont know whether Scons/Sconsolidator will help you. May need some changes to your work practices but would probably be a benefit in the long term
https://cute-test.com/guides/scons/