2010-04-05 11 views
7

Ho avviato un'applicazione Grails da grail create-app. Per modularità, ritengo che sarebbe meglio che il componente sia un plugin. Posso convertire questa applicazione in un plugin Grails? grazie, Babu.Converti grails app al plug-in

risposta

5

non ho mai creato un plugin sulla base di una domanda scritta prima, ma guardando il documentation for grails plugins si può leggere la seguente dichiarazione:

La struttura di un plugin Grails è esattamente lo stesso di struttura di directory di un progetto regolare Grails , eccetto che nella radice della directory del plugin troverai un plugin Groovy chiamato "descrittore del plugin".

Quindi vorrei suggerire di creare un nuovo plug-in con grails create-plugin *your-plugin-name* e copiare tutti i file dall'applicazione nel plugin.

+0

Grazie Stefan, cercherò fuori .. Sto anche cercando fare un plug-in di test per vedere come si differenziano. Concluderò questa discussione se nessuno ha esperienza con commenti di requisiti simili. grazie ancora – bsr

0

Nel caso in cui nessun altro è alla ricerca, questo dovrebbe essere esattamente quello che ti serve: http://burtbeckwith.com/blog/?p=1973

Estratto:

Quindi, per convertire un'applicazione a un plug-in, il flusso di lavoro generale sarebbe essere qualcosa come

  • Creare il descrittore del plug-in, FooGrailsPlugin.groovy. Il modo più semplice per farlo è quello di creare rungrails-plugin pluginName e copiare il file generato da lì

  • eliminare tutto dal application.properties tranne la proprietà app.grails.version

  • se si dispone di vasetti in la directory lib che sono disponibili in un repo Maven, eliminarli e sostituirli con BuildConfig.groovy dipendenze

  • cambiamento eventuali dipendenze dei plugin e vaso che sono necessari per lo sviluppo e la sperimentazione, ma non quando il plugin è installato di non essere esportati , aggiungendo export = false

  • Se sono necessari gli script _Install.groovy, _Uninstall.groovy o _Upgrade.groovy (probabilmente non lo sono), acquisiscili dal plug-in fittizio dal passaggio 1 (ma elimina quelli non necessari, essi " re tutto opzionale)

  • eliminare ApplicationResources.groovy se non lo si utilizza e non dipendono plugin di risorse

  • codice di passaggio da BootStrap.groovy init() toFooGrailsPlugin.doWithApplicationContext e/orFooGrailsPlugin .doWithDynamicMethods e destroy() a FooGrailsPlugin.onShutdown ed elimina BootStrap.g roovy

  • aggiungere una dipendenza per il plugin rilascio in BuildConfig.groovy

  • cancellare tutto ma la configurazione log4j da Config.groovy

  • eliminare urlMappings.groovy a meno che tu non abbia esportato i mapping; solo a mantenere quelli aggiunti

  • definizioni mossa di fagioli da resources.groovy a FooGrailsPlugin.doWithSpring ed eliminare resources.groovy

  • eliminare i file del bundle a meno aggiunti i messaggi graal-app/messaggio i18n; solo a mantenere quelli aggiunti

  • cancellare tutto, dai graal-app/views che non si utilizza (in particolare error.gsp, index.gsp e layout/main.gsp)

  • eliminare tutto, dalla web-app che non si usa (compresi wEB-INF XML e file TLD)

  • ora sarebbe un grande momento di scrivere quelle prove che avete in mente di arrivare a

  • creare uno o più applicazioni di test per installare il plug-in per assicurarsi che funzioni come un plug-in; considerare lo scripting questo

  • scrivere la documentazione su come usare il plugin; come minimo un file README, ma Grails file gDoc sarebbe molto meglio (eseguire graal doc --init per iniziare)

Problemi correlati