Current state for dep resolution customization in June '17? (need: semver + metadata)


(Dave Smith) #1

(There is a lot of noise in the forum history with people asking about this sort of thing, but a lot of what turns up is before the dep resolution engine was replaced, and its hard to know what is true today. So, I’m asking here!)

We are trying to use Gradle for polyglot build orchestration across our entire company. We need it to resolve semver correctly. And we need to be able to add sophisticated customizations to conflict resolution; example, what if we want to resolve “{group}:foo:[1.2, 2.0[” against artifacts encoded with foo-X.Y.Z-{branch}.{revNum}.{commitSha}+{targetRuntime}.{flavor}? We know at build time what feature branch something is building against, or what architecture etc to compute the target runtime, but I don’t know how to feed that into the system.

What is the current state of gradle with respect to those requirements? I see the ResolutionStrategy documentation, but it appears to be a “read-only” field on a configuration, which implies we are limited to the “on rails” implemention of the interface as described in the docs. Is it still possible to use any of the