❔ Best way to handle external dependencies (.exe files, etc.)
Hi, I have a pretty large project and in order to build it I need some external dependencies (e.g. an executable file that can be downloaded from the internet).
Right now, every build agent/developer machine needs to manually install it in the correct path, which is a bit tedious.
I thought of 2 ways to solve this problem:
1. Package these exe files in a nuget package and store it on my local nuget feed. Then I can just reference this nuget package, so e.g. when setting up a new build machine, I wouldn't need to install anything manually, it would just fetch all the dependencies from nuget.
2. Store these files directly in the repository. Now this solution is not ideal, because these executables are pretty large for a git repo (but not overly large, sub 500Mbs), but then again there would be no need for additional setup when pulling repo - everything would be already there.
Is one solution better than the other? Or maybe there's a better one.
5 Replies
if the license permits it I'd generally include the dependencies in the repo itself, size is rarely any issue unless you're talking in the gigabytes for files that change constantly
and in the case you do want to change/update dependencies having it all version controlled already makes life a lot easier
Thanks, what about keeping it as a nuget package, any drawbacks to that?
not really, just the extra steps to maintain it, both solutions are fine, the only real consideration is licensing
got it, thanks!
Looks like nothing has happened here. I will mark this as stale and this post will be archived until there is new activity.