5.7.8 Plugin JAR Dependencies 2.4.4

See the light - agile, industrial strength, rapid web application development made easy

(Quick Reference) # 5.7.8 Plugin JAR Dependencies - Reference Documentation Authors: Graeme Rocher, Peter Ledbrook, Marc Palmer, Jeff Brown, Luke Daley, Burt Beckwith, Lari Hotari Version: 2.4.4 ## 5.7.8 Plugin JAR Dependencies #### Specifying Plugin JAR dependencies The way in which you specify dependencies for a plugin is identical to how you specify dependencies in an application. When a plugin is installed into an application the application automatically inherits the dependencies of the plugin. To define a dependency that is resolved for use with the plugin but not exported to the application then you can set the `export` property of the dependency:
    compile('org.spockframework:spock-core:0.5-groovy-1.8') {
        export = false
    }
In this case the Spock dependency will be available only to the plugin and not resolved as an application dependency. Alternatively, if you're using the Map syntax:
    compile group: 'org.spockframework', name: 'spock-core',
         version: '0.5-groovy-1.8', export: false
You can use `exported = false` instead of `export = false`, but we recommend the latter because it's consistent with the Map argument. #### Overriding Plugin JAR Dependencies in Your Application If a plugin is using a JAR which conflicts with another plugin, or an application dependency then you can override how a plugin resolves its dependencies inside an application using exclusions. For example:

    plugins {
        compile(":hibernate:$grailsVersion") {
            excludes "javassist"
        }
    }dependencies {
        runtime "javassist:javassist:3.4.GA"
    }
In this case the application explicitly declares a dependency on the "hibernate" plugin and specifies an exclusion using the `excludes` method, effectively excluding the javassist library as a dependency. | Quick Reference (hide)