公開されていないサードパーティのプラグインがいくつかあります。私と同僚がこれらのプラグインを簡単にインストールできるように、ローカルリポジトリを作成したいと思います。すでにnginxがインストールされているサーバーがあります。ですから、できればそれを使いたいと思います。つまり、私は、Tomcatのような別のWebサーバーをインストールして、grails.org Webインターフェイスのようなものを実行することに熱心ではありません(ドキュメントが「独自のプラグインポータル」で示唆しているように)。
grailsRepo()関数とgetPluginList()に基づいて、次のようにWebサーバー上に「grails」ディレクトリを作成しました。
/grails
- /.plugin-meta
- /plugins-list.xml
- /grails-my-plugin
- /tags
- /RELEASE_1_0_123
- /grails-my-plugin-1.0.123.zip
プラグインの名前は「my-plugin」で、プラグインのバージョン番号は1.0.123です。
私のplugins-list.xmlは次のようなものです:
<plugins revision="1">
<plugin latest-release="1.0.123" name="my-plugin">
<release tag="RELEASE_1_0_123" type="svn" version="1.0.123">
<title>MyPlugin</title>
<author>No Author</author>
<authoremail>no@email</authoremail>
<description>An example plugin.</description>
<file>http://mydev.example.com/grails/grails-my-plugin/tags/RELEASE_1_0_123/grails-my-plugin-1.0.123.zip</file>
</release>
</plugin>
</plugins>
リポジトリを詳細に構成して、新しいGrailsアプリケーション()を作成し、次の構成が含まれるようにgrails create-app test-app
調整しました。grails-app/conf/BuildConfig.groovy
repositories {
grailsRepo("http://mydev.example.com/grails", "myDevRepo")
}
このGrailsアプリに「my-plugin」プラグインをインストールしようとすると、Webサーバーにリクエストが表示され、Grailsは次のようにリポジトリからダウンロードしようとしたと報告します。
==== myDevRepo: tried
-- artifact org.grails.plugins#my-plugin;latest.integration!my-plugin.zip:
http://mydev.example.com/grails/grails-my-plugin/tags/LATEST_RELEASE/grails-my-plugin-[revision].zip
.plugin-meta/plugins-list.xml
Grailsは、リポジトリ用に作成したファイルを読み取ろうとしていないようです。ローカルのGrailsアプリの最小限の構成でこのリポジトリーを機能させるには、何をする必要がありますか?
注:私はGrails1.3.7を使用しています。