使用FAKE F#MAKE更新XML文件

时间:2017-03-20 09:00:51

标签: f# f#-3.0 f#-fake

如何使用FAKE更新XML文件中的属性?

我想从假冒更新xml文件。实际上有版本_没有由teamcity生成的东西,我必须在version.config文件中更新该版本。

我已经看到它可以使用XMLHelper类完成,但我没有得到如何使用它。

这是xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<version-info>
  <major-version number="1">
    <minor>1-aplha</minor>
    <build>123</build>
    <revision>112</revision>
  </major-version>
</version-info>

例如:我需要分别将主要版本,次要版本,版本,修订版本更改为2,1,12,123。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我快速修改了一个&#39; build.fsx&#39;我的档案。编辑如下:

 -(BOOL)silenced {
     #if TARGET_IPHONE_SIMULATOR
         // return NO in simulator. Code causes crashes for some reason.
         return NO;
     #endif

    CFStringRef state;
    UInt32 propertySize = sizeof(CFStringRef);
    AudioSessionInitialize(NULL, NULL, NULL, NULL);
    AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
    if(CFStringGetLength(state) > 0)
            return NO;
    else
            return YES;

    }

在构建过程中,它会编辑&#39; myxml.xml&#39;并替换次要标记内的值。编辑后的XML看起来像这样:

// Build the main module with MSBuild
Target "BuildMain" (fun _ ->
  XMLHelper.XmlPokeInnerText "./myxml.xml" "/version-info/major-version/minor" "now-beta"
  !! "./Kapoin_03_Main/Kapoin_03_Main.fsproj"
  |> MSBuild buildDir "Build" buildProps
  |> Log "Main build output: " )