¿Cómo configurar local de la dependencia en griales de plugins (ruta de clases de la aplicación principal)?

StackOverflow https://stackoverflow.com/questions/1890830

Pregunta

Tengo una aplicación Grails que consiste en la aplicación principal y su módulo local vinculado en BuildConfig.groovy:

grails.plugin.location.'mymodule'= "módulos / mimodulo"

En mimodulo me gustaría utilizar Clases de ayuda desde la aplicación principal, sin embargo no puedo encontrar ninguna manera de cómo hacer dependiente mimodulo a la aplicación principal. Estaba pensando en la adición de una parte adicional a la ruta de clase de compilación mimodulo, pero estoy atascado aquí.

¿Alguna idea de cómo hacer esto?

¿Fue útil?

Solución

No se puede hacer lo que usted está tratando de hacer, al menos no con facilidad. Es una dependencia unidireccional de los plugins, que se compilan en primer lugar. La única manera de hacerlo es crear un mecanismo de revocación en su plugin que se puede registrar en contra. De esta manera, su aplicación se registrará con el plugin y el plugin llamará a las clases cuando sea necesario.

Piense en plugins y sus dependencias como frascos - no se puede descargar un frasco de alguna biblioteca y esperar que llame a su código, a menos que esté diseñado de esa manera.

Si usted tiene clases de ayuda, suponiendo que no depende de nada en su aplicación principal, me gustaría sugerir que los mueva de aplicación principal para un plugin separado que su plugin local depende. De esta manera, tanto la aplicación principal y su plugin locales dependen de las clases de ayuda. O simplemente mover las clases de ayuda para el plug-in en el primer lugar - que luego estarán disponibles tanto para el plugin y la aplicación principal.

Otros consejos

A ver si sigo - en su configuración (el mío es el mismo) debe editar application.properties para incluir el plugin compartida como dependencia, tanto en el plugin local y el app-núcleo es ésta mejores prácticas? no conseguir el plugin "instalado dos veces"? parece estar instalado en dos ubicaciones

Estoy mirando simplemente para utilizar el complemento de seguridad de la primavera a través de la aplicación principal y varios plugins locales

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top