NAntビルド スクリプトを書き直して、よりクリーンでシンプルなだけでなく、より汎用的なものにしています。
ビルド プロセスの手順の 1 つは、特定のファイルを zip ファイルにパッケージ化することです。fileset
多くのファイル タイプを含む を作成する前に、プロジェクトに含まれる可能性のあるすべてのものをキャッチしようとしました。これは、プロジェクトに非標準のファイル タイプを含めたい場合に問題を引き起こすことがありました。
Visual Studio プロジェクト ファイル (.csproj) にリストされているファイル (およびファイルのサブセットfileset
)に基づいてを作成する方法を見つけられることを期待していました。その後、このファイルセットをタスクで使用できます。これを自動的に行うものは見つかりませんでした (ただし、NAntContribの廃止されたタスクは少し有望に見えました)。zip
SLiNgshoT
私はこれを手動で行おうとする道を歩み始めましたが、行き詰まりました。ソリューションからプロジェクトを取得し (を使用)、プロジェクト内の各コンテンツ ファイルを(XPath クエリregex
を使用して) 取得しようとするターゲットがあります。ここでの問題は、すべての値が返されるわけではなく、最初の値だけが返されることです。そして、すべての値が返されたとしても、ここからどのように取得するのかわかりません。xmlpeek
/n:Project/n:ItemGroup/n:Content/@Include
xmlpeek
fileset
この思考回路を救う方法はありますか? カスタム NAnt タスクを使用して目的を達成できますか (すべてのプロジェクトをカスタム タスクに依存させたくありません)。私が見つけていないこれを行うための組み込みの方法はありますか?
私の目標や方法について不明な点がある場合は、コメントでお気軽に質問してください。
ありがとう!
更新:明確にするために、これらすべての私のポイントは、プロセス全体をよりシームレスにすることです。すべての .xml ファイルをパッケージに簡単に追加できますが、同じフォルダーに存在するが、実際にはプロジェクトの一部ではない .xml ファイルを取得することがよくあります。プロジェクトが使用するファイルのリストを既に持っている場合 (コンテンツと他のタイプの間で分離されていても)、その情報を使用しないのは残念です。最終的に、パッケージに含まれるものを変更するためにビルド ファイルに手を加える必要はありません。私にはあまり夢物語ではないように思えます...