Custom Dependency Resolution

I’m looking into writing a plugin that would allow developers to include a dependency along with it’s git repository info. If the version can be resolved in configured repositories, the compiled artifact will be included, but if not, the repository will be cloned at the given branch / tag / commit, and included as a project depenency.

This would greatly simplify work when modifying several independent modules, by allowing the developer to work with everything in the same project, without having to install / publish a new version of the dependency after each change; plus once the new version is published, everyone will simply use the packaged artifact skipping building it altogether.

Is it currently possible to provide my own dependency type / resolver to do so? I’ve been looking into the Gradle source and so far been unable to find anything, but hopefuly someone else will be able to help me out.

Thanks in advance