¿Cómo ejecutar un plugin local en Grails 2.0?
groovy grails-plugin (5)
En Grails, hay una variante de cómo incluir plugins locales desde las fuentes. De acuerdo con los documentos, uno puede escribir en BuildConfig.groovy
:
// Useful to test plugins you are developing.
grails.plugin.location.shiro =
"/home/dilbert/dev/plugins/grails-shiro"
// Useful for modular applications where all plugins and
// applications are in the same directory.
grails.plugin.location.''grails-ui'' = "../grails-grails-ui"
El problema es que no funciona en Grails 2.0.RC1. He intentado hacer que grails clean
, para instalar el complemento plugin grails install-plugin
y para colocarlo en BuildConfig.groovy
. Aún no se puede resolver.
Esto funciona para mí
grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro"
Donde shiro
es el nombre del complemento (no el nombre del directorio en el que se encuentra). Asegúrese de que la ruta al complemento sea una ruta absoluta o la ruta relativa al complemento desde la aplicación.
Descubrí que, a veces, esto no funciona si el complemento aparece en application.properties
o BuildConfig.groovy
, por lo tanto, si lo está, elimínelo, luego ejecute grails clean
y reinicie la aplicación.
Puede agregar el archivo .zip para el complemento en su / lib y se instalará.
Ejemplo:
compile ":myPlugin:1.0"
Archivo:
/lib/myPlugin-1.0.zip
Nota: debe comprimir el contenido de la carpeta del complemento.
Fuente: http://grails.1312388.n4.nabble.com/Insert-own-local-plugin-into-build-config-td4646704.html
También puede instalar el complemento en su caché maven local.
La documentación habla sobre esto:
3.7.10 Despliegue a un repositorio de Maven
maven-install
El comando maven-install instalará el proyecto Grails o artefacto de complemento en su caché Maven local:
grails maven-install
Esto tiene la ventaja de permitirle incluir el complemento en su aplicación principal utilizando la sintaxis más común ":plugin-name:version"
Lo que le permite a su aplicación determinar el mejor lugar para recuperar el complemento cuando está en producción. De un maven-repo interno o equivalente.
Rodee el nombre del complemento con comillas en caso de que contenga guiones:
grails.plugin.location.''plugin-name-with-dashes'' = "<path>"
Con Grails 3.x hay otra forma de hacer esto. Supongamos que tiene una aplicación y un complemento de grails (código fuente) dentro del mismo directorio de proyecto:
/my-project
---/my-app
---/grails-shiro
Para ejecutar su complemento local, debe crear un archivo settings.gradle
en el directorio my-project
especificando la ubicación de su aplicación y el complemento:
include ''my-app'', ''grails-shiro''
A continuación, agregue la dependencia en build.gradle de su aplicación:
compile project('':grails-shiro'')
Has hecho.
Mire la documentación de los complementos para más información.