このスレッドに基づいています。NAntスクリプトで、プロジェクトの現在のバージョンのセットを置き換えようとしました。
これが私の置換スニペットです
<target name="Replace">
<loadfile file="${SetVersionCpp.File}" property="h.file.content" />
<regex
input="${h.file.content}"
pattern="(?'BEFORE'[.\s]*)${LineBegining}\s*[\s\d,]*\r\n(?'AFTER'[.\s]*)" />
<echo
file="${SetVersionCpp.File}"
message="${BEFORE}${LineBegining} ${ReplaceWith}
${AFTER}"
append="false"
verbose="true" />
</target>
私はこのファイルを呼び出します
#define FILEVER 0, 2, 0, 3
#define PRODUCTVER 0, 2, 0, 3
#define STRFILEVER "00.02.00.03\0"
#define STRPRODUCTVER "00.02.00.03\0"
以下のパラメータで
<property name="SetVersionCpp.File" value="${baseline.dir}\VersionNo.h" />
<property name="LineBegining" value="#define FILEVER" />
<property name="ReplaceWith" value="${FileVersion}" />
出力に基づいて、AFTER変数は何らかの理由でファイルの残りの部分をキャプチャしていません。これは私が得るものです:
[#define FILEVER 0, 2, 0, 30
]
*空白が正しくフォーマットされるように角かっこで囲みます
私が間違っていることについて何か考えはありますか?