2012-08-09 56 views
0

如何在ant中编写exec任务以替换.m文件中的两个值。 因为我想替换iphone应用程序中的版本号,包括我使用哈德森构建的版本号,我远程访问了macos,并将应用程序复制到我的windows 系统中,所以我使用ant exec任务,但现在我想在编译前将我的内部版本号替换为关注文件,因此我如何使用exec任务来替换文件中的某些值。 我知道propertyfile任务替换属性文件中的值,但它不适用于 这个。exec ant替换.m文件中的值

回答

0

如果您有一个模板文件,您可以使用<copy>任务与嵌套的<filterset>替换某些值。如果没有,您仍然可以使用<copy>,这次使用包含<replaceregex>token filter的嵌套滤波器链。如果你想在原地进行编辑,那么你可以将新创建​​的文件move之后的文件移动到旧位置。

使用<exec>对于您的应用程序几乎肯定是一个坏主意,因为它会使您的构建依赖于通常在所有平台上都不可用的外部应用程序,因此打破了构建的可移植性。

+0

我不想使用复制任务,我想在mac上执行我的构建,这就是我想使用exec的原因。 – user1330847 2012-08-10 06:08:05

+0

@ user1330847,“执行我的构建”是什么意思?对我来说,执行构建意味着调用ant并让它完成需要完成的任务。只要给定的任务完成了工作,我为什么要使用其他任务?我觉得这里有一些深刻的误解,但我还不能确定。 – MvG 2012-08-10 07:34:47