ソフトウェア ビルド システムとほとんど同じように機能するソフトウェア インフラストラクチャがあります。情報はさまざまなソースから収集され、いくつかの出力を生成するために使用されます。従来のソフトウェア ビルドと同様に、さまざまな種類の出力、依存関係ツリーなどがあります。
主な違いは、ソース、中間結果、および出力が本質的にファイルベースではないことです。むしろ、それらは (一意にアドレス指定可能な) データ オブジェクトです。
現在、従来のビルド システム (SCons) と組み合わせて、データ構造をファイルとディレクトリにマッピングしていますが、パフォーマンスと (より重要なことに) 保守性との両方に関して、スケーリングしません。したがって、この目的のためにゼロから構築されたインフラストラクチャを探しています。
例として、3 つの XML ドキュメントA
、B
およびがあるとしC
ます。は と から計算され、同様にから計算B/foo/bar
されるA/x/y
としましょう。インフラストラクチャが必要ですA/x/z
C/a/b
A/x/y
- これらの関係を実装します (つまり、変換とその依存関係)
- 変更後に関連部分を自動的に再構築
A
ファイルを使用する際の大きな問題の 1 つは、B
とC
をいくつかのファイルA.xml
にマップし、B.xml
とをC.xml
従来のビルド システムを使用すると、と( の元の依存関係) が変更されていなくても、を変更するととA.xml
の再構築がトリガーされることです。したがって、きめ細かい依存関係の解決のために、ファイルではなく、各サブディレクトリが要素を表し、ファイルが属性などを表すディレクトリに、それぞれをマップする必要があります。我ら。B.xml
C.xml
A/x/y
A/x/z
B
A
B
C
(当社のシステムは実際には XML に基づいていないことに注意してください)
現在、実装言語や基礎となるデータ構造に関係なく、この方向性を示す既存のソフトウェア、インフラストラクチャ、または概念を探しています。