C
C#2y ago
41andrew

❔ 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
Doombox
Doombox2y ago
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
41andrew
41andrew2y ago
Thanks, what about keeping it as a nuget package, any drawbacks to that?
Doombox
Doombox2y ago
not really, just the extra steps to maintain it, both solutions are fine, the only real consideration is licensing
41andrew
41andrew2y ago
got it, thanks!
Accord
Accord2y ago
Looks like nothing has happened here. I will mark this as stale and this post will be archived until there is new activity.