Hi all,

I'd like to make it easier for third party plugins to be integrated into Gradle builds. Right now plugins either need to insist on an internet connection in order to apply a script, or the contents of that script needs to be inlined. "apply plugin: 'xxx'" is so much cleaner than bulky build script dependencies configurations with funky GitHub Ivy resolvers. Getting plugins added to maven central is enough of an obstacle that no-one does it. So, these are the motivating pain points for me.

This is the kind of DSL change I'm considering:

apply plugin: 'pluginname', githubid: 'githubid', version: '1.0'

The key here being that as a side-effect of the apply that it adds an IvyResolver that will resolve to a URL pattern like this: "http://cloud.github.com/downloads/[organisation]/[module]/[module]- [revision].[ext]" But only for an exact match on the dependency: organisation "githubid", module "pluginname", and version "1.0". The other side effect of course being an implicit: "buildscript { dependencies { classpath 'githubid:pluginname:1.0' } }".
What do you think? Would this be in line with the plans for Gradle?
Cheers,
Merlyn

Reply via email to