4

この質問は、私がここに投稿した別の質問の拡張です。

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への参照が正しくありませんか?

前もって感謝します!

4

1 に答える 1