What's with combining the build process steps?
Pretty much every project has dependencies and (depending on the target of course) generally a system will only build if all the dependencies are available locally anyway.
This does not necessitate downloading the latest version of every dependency and mindlessly using it every time a system is built.
Updating dependencies is a good thing. Updating dependencies with no thought or control over the process is a bad thing and, in fact, is a very naive and foolish thing to do. Without control over dependnecies there is no reproducability, no genuine testing possible and therefore it is not possible to truly support a system much beyond hope and guesses.