2011-11-16 6 views
17

Grailsには、ソースからローカルプラグインを含める方法があります。ドキュメントによると、1はBuildConfig.groovyに入力することがあります。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" 

問題は、それがGrailsの2.0.RC1では動作しないということです。私はgrails clean、プラグインをgrails install-pluginでインストールし、それをBuildConfig.groovyに配置しようとしました。まだ解決できません。

+0

どのようなエラーが表示されますか?私は2.0RC1で 'BuildConfig'ルートを試したところ、うまく動作しているようです...あなたはどちらか一方をしていますか? 'grails install-plugin'とか' BuildConfig.groovy'に同時に置きますか? –

+1

それはまあ単純だった。この 'grails.plugin.location。*'行では、プラグインをインストールしないでください。このlintを 'BuildConfig.groovy'に入力し、' grails run-app'を実行してください! –

+0

私はプラグインをインストールしようとしていましたが、同時にBuildConfig DSLに入れました:) thanks @tim_yates –

答えて

20

これは私のためにshiroプラグイン(それは中のディレクトリの名前ではなく)の名前である

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

に動作します。プラグインへのパスがアプリケーションからの絶対パスか、プラグインへの相対パスかを確認してください。

私はプラグインがapplication.propertiesBuildConfig.groovyに表示されている場合、これは時々動作しないことがわかったので、それであれば、grails cleanを実行し、アプリを再起動し、それを削除しました。

+0

このメソッドは、buildConfig.groovyに追加することで機能します。 ダッシュに関する彼のコメントのために@andrusoに+1してください。プラグインにハイフンが含まれている場合は、プラグイン名を引用符で囲みます。 例:grails.plugin.location.plugin-name-with-dashes = "" –

0

プラグインの.zipファイルを/ libに追加すると、インストールされます。

例:

compile ":myPlugin:1.0" 

ファイル:

/lib/myPlugin-1.0.zip 

注:プラグインフォルダの内容を圧縮する必要があります。

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

+0

これは、更新が完了するたびにファイルを圧縮して置き換える必要があるため、効果的ではありません。このステップを忘れて、本当に混乱しているいくつかの問題を追跡します。 – Joseph

+1

grails 2.4.0で作業していません – sikander

7

ます。また、ローカルのMavenキャッシュにプラグインをインストールすることができます。

ドキュメントはこのことについて話す:

3.7.10 Deploying to a Maven Repository

maven-install 

ローカルのMavenのキャッシュへのGrailsプロジェクトやプラグインアーティファクトインストールしますMavenの-installコマンド:

grails maven-install

をこれには、親アプリケーションにプラグインを含めることができるという利点がありますより一般的な":plugin-name:version"構文

これは、アプリケーションがプロダクションでプラグインを取得する最適な場所を判断できるようにします。内部的なレポや同等のものから。

1

サラウンド場合は引用符でプラグイン名にはダッシュが含まれています

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

Grailsの3.xのでこれを行うための別の方法があります。あなたが同じプロジェクトディレクトリ内のGrailsアプリとプラグイン(ソースコード)をしましたと仮定します。

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

あなたの地元のプラグインを実行するには、アプリケーションやプラグインの場所を指定my-projectディレクトリ内settings.gradleファイルを作成する必要があります:

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

次に、アプリケーションのbuild.gradleに依存関係を追加します。

compile project(':grails-shiro') 

あなたが行ってきました。

詳細については、plugins documentationをご覧ください。

関連する問題