<compatible>

<compatible> – <compatible> で、バージョンの制限を緩和する

<recommended> 依存バージョンおよび <compatible> を使用する

<compatible> タグは、バージョンタグ <recommended> を含む <package> の依存性とともに使用するように設計されています。 例えば pear.example.com/Bar バージョン 1.3.0 の例を考えてみます。

<package>
 <name>Foo</name>
 <channel>pear.example.com</channel>
 <min>1.0.0</min>
 <recommended>1.5.2</recommended>
</package>

上の依存性を日本語に翻訳すると、次のようになります。 "パッケージ pear.example.com/Foo を使用します。しかし、バージョン 1.0.0 か、それより新しいもののみです。もし pear.example.com/Foo が インストールされていなければ、バージョン 1.5.2 をインストールします。 もしバージョン 1.5.2 以外の pear.example.com/Foo がインストールされていれば、 --force を指定されていない限りインストールは失敗します。 あるいは pear.example.com/Foo は私と互換性があります。"

最後の文 "……あるいは pear.example.com/Foo は私と互換性があります。" は、<compatible> タグによって制御されます。パッケージ Foo バージョン 1.5.3 の package.xml に以下のような <compatible> タグが 含まれていた場合、

<compatible>
 <name>Bar</name>
 <channel>pear.example.com</channel>
 <min>1.2.0</min>
 <max>1.3.0</max>
 <exclude>1.2.9</exclude>
</compatible>

インストーラは「pear.example.com/Foo バージョン 1.5.3 は pear.example.com/Bar バージョン 1.2.0 から 1.3.0 までと互換性がある。 ただし 1.2.9 とは互換性がない」と解釈します。

非常に重要な注意点は、<compatible> に記述するのは テスト済みの 既存の バージョンのみにしておくと いうことです。将来 pear.example.com/Bar の新しいバージョンが出た際には、 単純に <recommended> タグを更新して対応します。

<compatible> には 3 つのバージョン管理タグを含めることが可能です。 <min> および <max> は必須で、テスト済みの互換性がある バージョンの範囲を定義します。 また <exclude> は、範囲内で例外とするバージョンを指定します。 上の例では、1.3.0 および 1.2.0 がそれぞれ指定可能な最大バージョン および最小バージョンとなります。package.xml 内で指定できる <compatible> タグの数には制限がありません。

特化したファイルインストールおよびファイル操作 (Previous) package.xml 2.0 における依存性の指定 (Next)
Last updated: Sat, 20 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.