Druudik
Druudik

Reputation: 1015

How to use custom gradle plugin without publishing it to maven/ivy repositories?

I have 2 gradle projects. One is my custom gradle plugin and the other one is project which uses this plugin.

I know I can build my custom plugin, publish it to some repository and use it in my other project but is there any way how can I set something like "dependency" for my plugin (in build.gradle of my other project) and use it without need of building/publishing it somewhere?

To get and idea what I am trying to accomplish, here is some code which hopefully demonstrates the idea:

buildScript {
    dependencies {
         compile project(":my-gradle-plugin")
    }
}

apply "my-gradle-plugin"

Upvotes: 3

Views: 1117

Answers (1)

Louis Jacomet
Louis Jacomet

Reputation: 14500

You can do that if your plugin project can be moved inside buildSrc of the project that wants to include it. In that case, the plugin will be by default on the classpath of the project.

If that plugin is shared between multiple projects, you will need to produce the binary and then reference it. Note that a local repository can be used, it does not have to be a remote one. One advantage of using a local repository is that Gradle will not cache the resolved plugin and thus any update, even without a version change, will be picked up immediately.

Upvotes: 2

Related Questions