Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I've created a simple groovy-based plugin for gradle.

in my gradle.build file I have the following:

apply plugin: 'groovy'

dependencies {
    compile gradleApi()
    compile localGroovy()
}

Everything works great, I get a build directory and a .jar is generated in the lib folder, I guess this is the standalone plugin.

Now I want to know how to register this new plugin into my gradle instalation, so I can do apply plugin: 'myPlugin' I've done the following:

  • Droped the plugin into the plugin folder in the installation
  • Created the myplugin.properties file and included it in the META-INF folder
  • placed the same properties file in the META-INF in the src dir (act of desperation)

Well after every step when I try to apply the plugin I get the error:

  • Plugin with id 'myplugin' not found

How can I get this right??

can you state a list of steps that will get my plugin working? (Im new to gradle+groovy)

Thanks for the help

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
588 views
Welcome To Ask or Share your Answers For Others

1 Answer

The chapter 58 of the user guide has all the information you need. In summary:

  • Put your myPlugin.properties inside your project structure, in src/main/resources/META-INF /gradle-plugins/
  • Build your jar like you usually do
  • In the script you wish to use this plugin, add a buildscript closure to something like:

    buildscript {
        repositories {
            flatDir dirs: "build/libs"
        }
        dependencies {
            classpath "your.group:your-plugin:1.0.0"
        }
    }
    

Or whatever settings for repositories and dependencies you wish, but you need to use the classpath configuration as I've done here. I don't think you can (or should!) add the jar to the plugin dir of Gradle like you did.

Note: the flatDir does not resolve transitive dependencies. The same rule for dependency management applies to the buildscript, so you can use a regular maven or ivy repository to deploy your plugin.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...