1

ライブラリとアプリケーションをリリースするプロジェクトがある場合、2 つの間のバージョン番号をどのように処理するか。

例: あなたのプロジェクトは、異なるファイル形式を相互に変換するライブラリを提供します。ライブラリは、他のアプリケーションに含めるためにリリースされています。ただし、このライブラリを使用し、機能へのインターフェイスを実装するコマンドライン アプリケーションもリリースします。

ライブラリの新しいリリースは、(すべての新機能を利用するための) アプリケーションの新しいリリースにつながりますが、アプリケーションの新しいリリースは、ライブラリの新しいリリースをトリガーしない場合があります。バージョン番号はどのように処理されますか: 完全に独立していますか、それともライブラリとアプリケーションのバージョンは何らかの方法で依存する必要がありますか?

4

3 に答える 3

2

完全に独立したバージョン番号ですが、コマンド ライン (またはその他の依存する) アプリは、ヘルプ セクションまたはバナーでコンパイルされたライブラリのバージョンを示す必要があります。

そうすれば、アプリにどの機能があるかを知ることができ、潜在的な混乱を減らすことができます。特に、誰かが何らかの理由で古いライブラリに対して新しいバージョンのアプリをコンパイルできる場合はなおさらです。また、それらを分離して、アプリの新しいバージョンのリリースなどに依存することなく、ライブラリに機能を追加できます。

すべてのアプリとライブラリを常にロックステップで使用することが確実な場合は、同じ数を使用できますが、それは強い理由ではない制約を追加しています.

于 2008-09-27T07:28:23.327 に答える
1

別々のバージョン番号を使用すると思います。もちろん、アプリのリリースごとに必要な最小ライブラリバージョンを文書化します。それらが常に同じバージョン番号を持ち、同じ番号のライブラリバージョンに対してのみアプリをテストする場合、それらは実際には別個のコンポーネントではないため、そうであるとは言わないでください。ロット全体を1つの塊として解放します。

それらを別々にした場合でも、適切な場合は同じバージョン番号を付けることができます。たとえば、主要な互換性の中断の後、両方のバージョン2.0を同時にリリースする場合があります。

次の例を示します。xsltproc(コマンドラインアプリ)はlibxslt(ライブラリ)の一部としてリリースされているため、独自のバージョン番号はありません。ただし、libxsltは他の2つのライブラリに依存しており、それらのバージョン番号は独立しています。

$ xsltproc --version
Using libxml 20628, libxslt 10120 and libexslt 813
xsltproc was compiled against libxml 20628, libxslt 10120 and libexslt 813
libxslt 10120 was compiled against libxml 20628
libexslt 813 was compiled against libxml 20628
于 2008-09-27T11:30:12.153 に答える
0

フレームワークを使用するアプリケーションを構築しました。両方のバージョン番号を別々に保持しています。

これはうまく機能します。特に、フレームワークとアプリケーションが十分に大きくなり、さまざまなチームが開発できるようになりました。

だから私の意見...バージョン番号を分けてください。

于 2008-09-27T07:31:25.720 に答える