(Quick Reference)

3.7.10 Dependencias de plugin - Reference Documentation

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

Version: null

3.7.10 Dependencias de plugin

As of Grails 1.3 you can declaratively specify plugins as dependencies via the dependency DSL instead of using the install-plugin command:

Como en Grails 1.3 puede especificar los plugins declarandolos como dependencias a través de la dependencia DSL en lugar de utilizar el comando install-plugin:

grails.project.dependency.resolution = {
    …
    repositories {
        …
    }

plugins { runtime ':hibernate:1.2.1' }

dependencies { … } … }

If you don't specify a group id the default plugin group id of org.grails.plugins is used. You can specify to use the latest version of a particular plugin by using "latest.integration" as the version number:

Si no especifica un id de grupo se utiliza el id de grupo del plugin predeterminado de org.grails.plugins. Se puede especificar el uso de la versión más reciente de un plugin determinado mediante "latest.integration" como el número de versión:

plugins {
    runtime ':hibernate:latest.integration'
}

Integration vs. Release

The "latest.integration" version label will also include resolving snapshot versions. To not include snapshot versions then use the "latest.release" label:

Integration vs. Release

La etiqueta de versión "latest.integration" también incluirá resolver versiones snapshot. Para no incluir versiones snapshot utilice la etiqueta "latest.release":

plugins {
    runtime ':hibernate:latest.release'
}

The "latest.release" label only works with Maven compatible repositories. If you have a regular SVN-based Grails repository then you should use "latest.integration".

And of course if you use a Maven repository with an alternative group id you can specify a group id:

La etiqueta de "latest.release" sólo funciona con repositorios compatibles con Maven. Si tienes un repositorio basado en SVN Grails debe utilizar "latest.integration".

Y por supuesto si utiliza un repositorio Maven con un id de grupo alternativo puede especificar un id de grupo:

plugins {
    runtime 'mycompany:hibernate:latest.integration'
}

Plugin Exclusions

You can control how plugins transitively resolves both plugin and JAR dependencies using exclusions. For example:

Exclusiones de plugin

Puede controlar cómo los plugins resuelven transitoriamente tanto las dependencias de plugin como de JAR usando las exclusiones. Por ejemplo:

plugins {
    runtime(':weceem:0.8') {
        excludes "searchable"
    }
}

Here we have defined a dependency on the "weceem" plugin which transitively depends on the "searchable" plugin. By using the excludes method you can tell Grails not to transitively install the searchable plugin. You can combine this technique to specify an alternative version of a plugin:

Aquí hemos definido una dependencia en el plugin "weceem" que transitoriamente depende el plugin "searchable". Mediante el uso del método excludes puede decirle a Grails que NO resuelva transitoriamente el plugin para búsquedas. Puede combinar esta técnica para especificar una versión alternativa de un plugin:

plugins {
    runtime(':weceem:0.8') {
        excludes "searchable" // excludes most recent version
    }
    runtime ':searchable:0.5.4' // specifies a fixed searchable version
}

You can also completely disable transitive plugin installs, in which case no transitive dependencies will be resolved:

Puede deshabilitar también completamente la instalación transitiva de plugins, en cuyo caso se resolverán las dependencias no transitivas:

plugins {
    runtime(':weceem:0.8') {
        transitive = false
    }
    runtime ':searchable:0.5.4' // specifies a fixed searchable version
}