For every ExecutableLocator that points to an artifact spec: creates a
project configuration dependency for that artifact, registers the
configuration dependency as an input dependency with the specified tasks,
and adds a doFirst {} block to the specified tasks which resolves the
spec, downloads the artifact, and point to the local path.