(Quick Reference)

3.7.7 Dependencias Jar de plugins - Reference Documentation

Authors: Graeme Rocher, Peter Ledbrook, Marc Palmer, Jeff Brown, Luke Daley, Burt Beckwith

Version: null

3.7.7 Dependencias Jar de plugins

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:

Especificación de las dependencias JAR de un plugin

La forma en que se especifican las dependencias para un plugin es idéntica a la que permite especificar las dependencias en una aplicación. Cuando se instala un plugin en una aplicación la aplicación hereda automáticamente las dependencias del plugin.

Para definir una dependencia que se resuelve para su uso con el plugin pero no se exporta a la aplicación, puede definir la propiedad export de la dependencia:

test('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:

En este caso la dependencia Spock estará disponibles sólo para el plugin y no será resuelta como una dependencia de la aplicación. Alternativamente, si utiliza la sintaxis de mapa:

test 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.

Puede utilizar exported = false en lugar de export = false, pero recomendamos este último porque es coherente con el argumento de mapa.

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:

Reemplazar las dependencias JAR de un plugin en su aplicación

Si un plugin está utilizando un JAR que crea conflictos con otro plugin, o con una dependencia de la aplicación, se puede modificar cómo un plugin resuelve sus dependencias dentro de una aplicación mediante las exclusiones. Por ejemplo:

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.

En este caso la aplicación explícitamente declara una dependencia en el plugin de "hibernate" y especifica una exclusión utilizando el método excludes, excluyendo la biblioteca de javassist como una dependencia.