2011-11-16 10 views
17

En Grails, hay una variante de cómo incluir el complemento local de las fuentes. De acuerdo con documentos, uno puede escribir en BuildConfig.groovy:¿Cómo ejecutar un plugin local en Grails 2.0?

// 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. Intenté hacer grails clean, para instalar el complemento con grails install-plugin y colocarlo en BuildConfig.groovy. Aún no se puede resolver.

+0

¿Qué error obtienes? Acabo de probar la ruta 'BuildConfig', con 2.0RC1 y parece funcionar bien ... Estás haciendo uno u otro ¿no? No 'grails install-plugin' Y colocándolo en' BuildConfig.groovy' al mismo tiempo? –

+1

Eso fue muy simple. Con esta línea 'grails.plugin.location. *', Simplemente no deberías instalar el plugin. Simplemente escriba esta pelusa en 'BuildConfig.groovy' y haga' grails run-app'! –

+0

Estaba intentando instalar-complemento o ponerlo en BuildConfig DSL al mismo tiempo :) gracias @tim_yates –

Respuesta

20

Esto funciona para mí

grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro" 

Dónde shiro es el nombre del plug-in (no el nombre del directorio que está en). Asegúrese de que la ruta al complemento sea una ruta absoluta o la ruta relativa al complemento desde la aplicación.

he encontrado que esto a veces no funciona si el complemento aparece en application.properties o BuildConfig.groovy, por lo que si lo es, eliminarlo, a continuación, ejecutar grails clean y reiniciar la aplicación.

+0

Este método funciona para mí al agregar a buildConfig.groovy. +1 a @andruso por su comentario sobre los guiones. Si su complemento contiene un guión, envuelva el nombre del complemento entre comillas. Ejemplo: grails.plugin.location.'plugin-name-with-guiones '= "" –

0

Puede agregar el archivo .zip para el complemento en su/lib y se instalará.

Ejemplo:

compile ":myPlugin:1.0" 

del archivo:

/lib/myPlugin-1.0.zip 

Nota: Usted tiene que comprimir el contenido de la carpeta de plugin.

Fuente: http://grails.1312388.n4.nabble.com/Insert-own-local-plugin-into-build-config-td4646704.html

+0

Esto no es efectivo, ya que tendría que comprimir y reemplazar el archivo cada vez que se realiza una actualización. Olvida este paso y estarás rastreando algunos problemas realmente confusos. – Joseph

+1

No funciona en griales 2.4.0 – sikander

7

También puede instalar el plugin en su caché local de Maven.

La documentación habla de esto:

3.7.10 Deploying to a Maven Repository

maven-install 

El comando experto a instalar instalará el proyecto Grails o un artefacto plug-in en su caché local de Maven:

grails maven-install

Esto tiene la ventaja de permitirle incluir el complemento en su aplicación principal utilizando th e más común ":plugin-name:version" sintaxis

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.

1

rodean el plugin con cotizaciones en caso de que contiene guiones:

grails.plugin.location.'plugin-name-with-dashes' = "<path>" 
3

Con Griales 3.x hay otra manera de hacerlo.Supongamos que usted tiene una aplicación Grails y el plugin (código fuente) en el interior del mismo directorio del proyecto:

/my-project 
---/my-app 
---/grails-shiro 

Para ejecutar el plugin local, debe crear un archivo en el directorio settings.gradlemy-project especificar la ubicación de su aplicación y el plugin :

include 'my-app', 'grails-shiro' 

a continuación, agregue la dependencia en build.gradle de su aplicación:

compile project(':grails-shiro') 

que has hecho.

Consulte el plugins documentation para obtener más información.

Cuestiones relacionadas