3〜4種類のオープンソースC / C ++ライブラリを使用するプロジェクトがあります。
これらのライブラリをいくつかのプラットフォーム用にビルドし、プロジェクトのさまざまなプラットフォーム用のインクルードファイルとスタティックライブラリをチェックインしました。
しかし、私はいくつかの問題に苦労しています。これらのプロジェクトはすべて、依存関係管理に関するものです。そして、私はベストプラクティスのアドバイスを探しています。
1)何を使用しているのか正確に知るにはどうすればよいですか?
静的libのバージョンを取得する方法がありません。結果として、使用している静的libのバージョンを何らかの方法で追跡する必要があります(ビルド元のコミットのSHAである可能性があります)?
これらのライブラリをいつアップグレードするかを理解する必要がある場合、これは特に重要です。
2)ビルドを再現するにはどうすればよいですか?
特定のプラットフォーム用の特定のライブラリーを構築するのに苦労したかもしれません。それを理解するのにしばらく時間がかかりました。
次回同じライブラリを作成する必要があるのは、半年後(なんらかの理由でアップグレードが必要になるとき)になる可能性があります。しかし、そのときまでに、何がどのライブラリで構築されたのかはっきり覚えていません長い間なくなります。
3)これらのライブラリをフォークしてソースコードのコピーを作成する必要がありますか?
これはそれほど問題ではありません。しかし、それはまだ問題です。ビルドが再現可能であることを確認するのは良いことです(そのようなソースコードが必要です)。