To clarify: I'm not against managing (downloading) dependencies. I just want
two separate steps: [download things] and [compile things].
This separation allows to build the project off-line, which is not an uncommon
scenario. There are environments that have the direct internet access
prohibited e.g. by a company policy. There are environments that have it
difficult (e.g. are behind a proxy). There are distribution package builders
(RPM, DEB), which have a policy of only working on local sources.
And then there is build reproducibility. If external network is involved,
the whole reproducibility idea goes out of the window. Remember the left-pad
farce? Part of the cause was idiotic split to microdependencies, but part was
that everybody used external network for their build process.
This separation allows to build the project off-line, which is not an uncommon scenario. There are environments that have the direct internet access prohibited e.g. by a company policy. There are environments that have it difficult (e.g. are behind a proxy). There are distribution package builders (RPM, DEB), which have a policy of only working on local sources.
And then there is build reproducibility. If external network is involved, the whole reproducibility idea goes out of the window. Remember the left-pad farce? Part of the cause was idiotic split to microdependencies, but part was that everybody used external network for their build process.