Documentation

カスタムコードとパッチの互換性

サブスクライバー

DXP 7.2をカスタマイズまたはパッチするコードを展開する場合、使用しているすべてのパッチとの互換性を維持する必要があります。 次のトピックでは、この方法について説明します。

重要

これらのカスタマイズとパッチ適用の手順は、Liferay DXP 7.2にのみ適用されます。 DXP 7.3以降には適用されません。

カスタムパッチのパッチレベル情報の保存

パッチングツールの store および diff コマンドは、Liferay DXPパッチとカスタムDXPパッチを含む、パッチ間の違いを処理します。 store コマンドは、パッチソースコードのパッチレベルファイルを書き込みます。 diff コマンドは、パッチ間の違いを出力します。

./patching-tool.sh store コマンドは、 diff コマンドで使用されるパッチレベル情報を管理します。 パッチには、パッチレベルを格納し、 diff コマンドの使用可能な情報を準備するためのソースコードが含まれている必要があります。 store コマンドオプションは次のとおりです。

  • add:パッチレベルを patches フォルダに保存します。

  • info:保存されているパッチレベルを構成するパッチのリストを出力します。

  • rm:以前に保存されたパッチレベル情報を削除します。

  • update:パッチレベル情報を追加または更新します。

詳しい使用方法については、./patching-tool.sh help storeを実行してください。

パッチレベルの違いの比較

./patching-tool.sh diff コマンドは、2つのパッチレベルの違いを出力します。 少なくとも1つの保存されたパッチレベルが使用可能である必要があります。 このコマンドは、出力をフィルタリングするための次のオプションを受け入れます。

  • collisions:デプロイされたプラグインと衝突する変更されたファイルを一覧表示します。

  • files:変更されたファイルを一覧表示します。

  • fixed-issues:パッチが修正する(問題追跡システムからの)LPS/LPE問題を一覧表示します。

  • html:フィルタリングオプション(sourcefiles、またはfixed-issues)のいずれかと一緒にHTMLを指定し、パッチレベルの後に、差分をdiffsフォルダのHTMLファイル(<stored-name-1>-<stored-name-2>-[type]-diff.html)に書き込みます。 追加は緑色で、削除は赤色で表示されます。

  • source:2つのパッチレベル間のソースコードの違いを示します。

詳しい使用方法については、./patching-tool.sh help diffを実行してください。

パッチとカスタムプラグイン間の衝突の処理

一部のパッチは、プラグインを介してカスタマイズされたファイルを更新します。 list-collisions コマンドは、OSGiフラグメントバンドルのJSPファイルの違い(衝突)を返します。

./patching-tool.sh list-collisions

これは、次のdiffコマンドのエイリアスです。

./patching-tool.sh diff collisions files _base

_base 引数は、リテラルパッチレベル名です。 衝突は、ソースコードファイルを含むインストール済みパッチに対してのみ表示されます。

特定のパッチを削除した場合、または何らかの衝突が発生した場合は、-force 引数を使用して、パッチングツールに現在使用可能なパッチを強制的にインストールさせます。

例:

./patching-tool.sh profile_name install -force

カスタムコードとカスタムパッチを他のDXPパッチと統合する方法をマスターしました。