データベースからデータを取得して、Nant スクリプトを自動的に更新する必要があります。私が考えることができる解決策は、DB からデータをフェッチし、Nant スクリプトを更新するサービスを介して実行することです。これはできますか?はいの場合、どのように?
2 に答える
理論的には、スクリプトの動作を変更する必要がある場合は、NAnt ビルド ファイルを生成するプログラムを作成し、それをexec
タスクとinclude
そのファイルで実行してから、ターゲットを呼び出すことができます。
しかし、それは少し複雑すぎるようです。データに基づいてスクリプトがどの程度変更されるかによると思います。
データが単なる構成である場合は、データを使用してビルド スクリプトでプロパティを設定できます (上記と同じメカニズムを使用するか、カスタム タスクを作成して SQL ステートメントの結果に基づいてプロパティ値を作成します)。if
次に、これらのプロパティを使用して、ステートメントやforeach
ループなどの標準的なものを使用してビルド スクリプトの制御フローを決定します。
ビルトインでこれを行うものはないと思いますが、プログラミングができれば、カスタム タスクは非常に簡単に作成できます。
nantスクリプトを更新/編集しても、現在の実行は変更されません。代わりに、.buildファイルを生成し、<nant>
タスクを介して、たとえば<foreach>
ループまたは<style>
xsl-transformationを使用して実行できます。<script>
別の方法は、特にC#で快適にプログラムできる場合は、小さなものを書くことです。より具体的な回答が必要な場合は、より多くの情報が役立ちます。(使用するデータベース、データの抽出に使用できるツール)