この質問は、私がここに投稿した別の質問の拡張です。
Grails 2では、アプリが依存しているプラグインのGantスクリプトのターゲットをどのように含めますか?
私はshiroプラグインの会社固有のバージョンであるgrailsプラグインを書いています。私の会社のシロ。次のように、BuildConfig.groovyでプラグインの依存関係としてshiroを設定しました。
plugins {compile(":shiro:1.1.4")}
プラグインをパッケージ化して、fooという新しいgrailsアプリにインストールしようとしています。
foo> grails install-plugin ../my-company-shiro/grails-my-company-shiro-01.zip
問題はありません。ここで、my-company-shiroの一部であるfooでスクリプトを実行し、shiroプラグインからスクリプトを参照します。
foo>grails create-auth-controller
次のエラーが発生します。
Error Error executing script CreateAuthController: No such property: shiroPluginDir for class: .....
これは、実行中のスクリプトの1つが次のようにshiroのスクリプトの1つにアクセスしようとするときに発生します。
includeTargets << new File (shiroPluginDir, "/scripts/_ShiroInternal.groovy")
このリファレンスは、プラグインをコンパイルするときに機能しますが、別のgrailsアプリにインストールするときには機能しません。
BuildConfig.groovyで依存関係を誤って設定しているため、shiroのファイルがプラグインに含まれていないため、参照できませんか?
- shiroプラグインが.grailsキャッシュに表示されますmy-compnay-shiro/plugins / shiro-1.1.4
- my-company-shiroプラグインをfooにインストールすると、.grailsキャッシュでfoo / plugins / my-company-shiro-0.1/dependencies.groovyおよびplugin.xmlファイルがshiroを参照します。ここにはshiroのスクリプトやファイルはありませんが、ここにコピーする必要があるかどうかはわかりません。
インストール時にshiroPluginへの参照が正しくありませんか?
前もって感謝します!