Chicken/egg issue with dependency configuration setup and "task configuration avoidance"

I optimized it a bit. There are multiple “verbosities” of version needed. The standard project.version is just one rendering of it and it doesn’t need all the input data. I made all the inputs lazy as well so only what is needed is obtained (and cached in memory). That helps a bit.

I’d like to understand more about the impact/effect versions have outside the major/visible tasks. If I knew more about it I might be able to figure something out…

I made all the inputs lazy as well so only what is needed is obtained (and cached in memory)

With gradle, the benefits are realised by writing to disk rather than in memory. And properly declaring inputs

Yes. But in this case the inputs are external, complicated.