プロジェクト間で Delphi ソース ファイルを共有する最良の方法は何ですか?
明確化: 複数の Delphi プロジェクトで単一のソース ファイルを使用したいと考えています。SCM ツールを使用して同じファイルを複数のフォルダーに配置してきましたが、これは非常にエレガントなエクスペリエンスではなく、これをサポートしていないツールへの移行も検討しています。
この質問を調査してきたので、いくつかの異なるアプローチを検討しましたが、あなたが何をしているのか、どのようにアプローチを見つけているのか知りたいです.
重要なシナリオ:
- コードタイム
- 新しい共有依存関係を追加するには、共有が管理されるように、明示的な宣言が必要です。
- 新しい共有依存関係の追加は比較的簡単です。複雑なプロセスは必要ありません。
- プロジェクトの「インポートされた」ファイル (外部から) のすべてをリストする 1 つのファイルがよいでしょう。
- コンパイル時
- すべてのプロジェクトは、常に 1 つの現在のバージョン (ソースの同期状態とローカル編集の時点で最新) でビルドする必要があります。
- (異なる場所で異なるバージョンを維持するには、ここではトピックではないファイル ブランチを使用する必要があります。)
- 各プロジェクトが、異なるコンパイラ設定 (フラグを含む) で共有ファイルのコンパイルに影響を与えることができるかどうかは、議論の余地があります。
- 常に一貫してビルドされているソース コードを維持する (つまり、長期的に) ことは間違いなく簡単です。
- 変更の範囲を 1 つのプロジェクトに簡単に制限できる場合は、メンテナンス修正 (つまり、短期) を行う方がおそらく簡単です。
- すべてのプロジェクトは、常に 1 つの現在のバージョン (ソースの同期状態とローカル編集の時点で最新) でビルドする必要があります。
- デバッグ時間
- ルーチンにステップインするか、ブレークポイントを設定すると、正しいバージョンのソースが自動的に開きます。
- 表示されたソースを編集すると、次のビルドに影響するはずです。
- ソースの一時的なコピーに対してデバッグしたくありません。混乱の中でコードを失う可能性があります。
考慮事項:
- 短期:
- 最も簡単に導入できるアプローチはどれですか?
- 長期:
- 使用と保守が最も簡単なアプローチはどれですか?
フィードバックをお寄せいただきありがとうございます。
マティアス
- - アップデート - -
回答、コメント、投票を通じて、フィードバックをお寄せいただきありがとうございます。
私は、共有ファイルを 1 つの「生産者」プロジェクトに入れ、コンパイルされたファイルのリストを各「消費者」プロジェクトにインポートするという道を歩み始めました。プロジェクトは MSBuild と一緒にリンクされています。物事がより明確になったら、この質問と「ライブラリ プロジェクト」の回答を編集して、学んだことを共有します。
乞うご期待!(でも息を止めないでください。数分以内に窒息してしまいます! :P )