2011-11-16 14 views
17

In Grails, c'è una variante su come includere il plug-in locale dai sorgenti. Secondo documenti, si può digitare in BuildConfig.groovy:Come eseguire un plugin locale in 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" 

Il problema è che non funziona in Grails 2.0.RC1. Ho provato a fare grails clean, per installare il plugin con grails install-plugin e per posizionarlo su BuildConfig.groovy. Ancora incapace di risolvere.

+0

Che errore ottieni? Ho appena provato il percorso 'BuildConfig', con 2.0RC1 e sembra funzionare bene ... Stai facendo l'uno o l'altro no? Non 'grails install-plugin' e lo mettiamo in' BuildConfig.groovy' allo stesso tempo? –

+1

Era dannatamente semplice. Con questa linea 'grails.plugin.location. *' Non dovresti installare il plugin. Basta digitare questo lint in 'BuildConfig.groovy' e fare' grails run-app'! –

+0

Stavo cercando di installare-plugin o di inserirlo in BuildConfig DSL nello stesso tempo :) grazie a @tim_yates –

risposta

20

questo funziona per me

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

Dove shiro è il nome del plugin (non il nome della directory è in). Assicurati che il percorso del plug-in sia un percorso assoluto o il percorso relativo al plug-in dall'applicazione.

Ho scoperto che questo a volte non funziona se il plugin è elencato in application.properties o BuildConfig.groovy, quindi se lo è, rimuoverlo, quindi eseguire grails clean e riavviare l'applicazione.

+0

Questo metodo funziona per me aggiungendo a buildConfig.groovy. +1 a @andruso per il commento relativo ai trattini. Se il tuo plugin contiene un trattino, inserisci il nome del plugin tra virgolette. Esempio: grails.plugin.location.'plugin-name-with-dashes '= "" –

0

È possibile aggiungere il file .zip per il plug-in nel proprio/lib e verrà installato.

Esempio:

compile ":myPlugin:1.0" 

File:

/lib/myPlugin-1.0.zip 

Nota: Devi comprimere il contenuto della cartella plugin.

Fonte

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

+0

Questo non è efficace in quanto dovresti comprimere e sostituire il file ogni volta che viene effettuato un aggiornamento. Dimentica questo passaggio e scoprirai alcuni problemi davvero confusi. – Joseph

+1

Non funziona in Grails 2.4.0 – sikander

7

È inoltre possibile installare il plugin nella cache Maven locale.

La documentazione parla di questo:

3.7.10 Deploying to a Maven Repository

maven-install 

Il comando Maven-installazione installerà il progetto Grails o artefatto plugin nella cache Maven locale:

grails maven-install

Questo ha il vantaggio di permetterti di includere il plugin nella tua applicazione madre usando th e più comune ":plugin-name:version" sintassi

Che consente all'applicazione di determinare il luogo migliore in cui recuperare il plug-in durante la produzione. Da un maven-repo interno o equivalente.

1

Surround il nome del plugin con le virgolette nel caso in cui contenga trattini:

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

Con Grails 3.x c'è un altro modo per farlo.Immagino che tu abbia un'applicazione graal e plug-in (codice sorgente) all'interno della stessa directory del progetto:

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

Per eseguire il plugin locale, è necessario creare un file nella directory settings.gradlemy-project specificare la posizione della vostra applicazione e plug-in :

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

quindi aggiungere la dipendenza nel build.gradle dell'applicazione:

compile project(':grails-shiro') 

che hai fatto.

Vedere lo plugins documentation per ulteriori informazioni.

Problemi correlati