2012-08-09 57 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