別のプラグイン (WidgetMaster と呼びましょう) のバージョン 1.0 に依存する Eclipse プラグインを作成しました。現在、WidgetMaster のバージョン 2.0 がリリースされており、私が使用していた多くのクラスのインターフェイスが変更されています。WidgetMaster の両方のバージョンをサポートしながら、プラグインの 1 つのバージョンを維持するにはどうすればよいですか?
これまでのところ、私が思いついたのは次のとおりです。
- WidgetMaster が提供するすべての機能の独自のインターフェイスを作成します。これは、使用していたすべてのタイプのラッパーも作成する必要があることを意味します。
- WidgetMaster のサポートされているバージョンごとに、そのバージョンの API に関して、インターフェイスとすべてのラッパー クラスを実装する Fragment プロジェクトを作成します。
現在、プラグイン コード全体で WidgetMaster クラスを使用しているため、これはかなりの量の作業になります。Fragment プロジェクトから特定のバージョンの WidgetMaster のみに依存する場合は、そのすべてを移動してラップする必要があります。また、ラッパーの 99% はバージョンごとに同じですが、それでも各フラグメントにコピーする必要があります。
これは正しいアプローチですか、それともこの状況を処理するためのより良い方法はありますか?