2017-03-20 8 views
2

XML 파일의 특성을 FAKE로 업데이트하려면 어떻게해야합니까?FAKE F # MAKE를 사용하여 XML 파일 업데이트

가짜에서 xml 파일을 업데이트하고 싶습니다. 사실 teamcity에 의해 생성되는 version_no 종류의 일이 있으며 version.config 파일에서 해당 버전을 업데이트해야합니다.

XMLHelper 클래스를 사용하여 수행 할 수 있지만이 방법을 사용하지 못하는 것으로 나타났습니다. 예를 들어

<?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> 

: 여기

은 XML 파일입니다 I는 각각 2, 1, 12, 123, 개정, 마이너, 메이저 버전을 변경 구축 할 필요가있다.

어떻게하면 되나요 ??

+0

나는 대답의 첫 번째 3 분의 1을 가지고 있다고 생각합니다. 다른 사람들이 다른 2/3을 추가 할 수 있기를 바랍니다. 이미 알고 있듯이 Fake에는 [XMLHelper] (http://fsharp.github.io/FAKE/apidocs/fake-xmlhelper.html) 모듈이 있습니다. function 'XmlPoke fileName xpath value' 설명 : "XML 파일의 텍스트를 XPath 표현식에 지정된 위치에 바꿉니다." 이미 'build.fsx'파일이 있습니까? –

답변

3

'build.fsx'파일을 신속하게 편집했습니다. 편집은 다음과 같습니다.

// 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: ") 

빌드하는 동안 'myxml.xml'을 편집하고 마이너 태그의 값을 바꿉니다. 그러면 편집 된 XML은 다음과 같이 보입니다.

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

고마워, 그것은 일했다 :) – KMittal