Share gradle tasks between different repositories (without wrtiting a plugin)?

Is there an easy way to share a set of different gradle tasks between different projects in different git repositories?

Right now I have 3 different projects (that I don’t want to convert into a multi-module-project) that uses the same set of custom tasks, e.g. each project have:


apply from: 'tasks/a.gradle'
apply from: 'tasks/b.gradle'
apply from: 'tasks/c.gradle'

Each time there is an update to one of the above files I copy that around to the other projects/repos.

Is there an easy way to avoid this without writing a custom gradle plugin or converting to a multi-module project?

A few thing I have considered:

  1. Move the shared tasks to a new repository and do some git sub module magic to pull in the shared tasks each time a git pull is run on each of the separate projects.

  2. Similar to above but instead upload/download them from an internal artifact management server.

  3. java - How to shared gradle tasks across many projects in different git repositories - Stack Overflow and gradle/script-plugin at master · rivancic/gradle · GitHub . But that does not really seem to be active/working…

Am I missing some other simple approach?

Your can apply from an http location, it’s best to include a version in the URL

apply from: 'http://path/to/tasks/1.2.3/a.gradle'
apply from: 'http://path/to/tasks/1.2.3/b.gradle'
apply from: 'http://path/to/tasks/1.2.3/c.gradle'

Personally I’d create a plugin(s)