2014-11-26 1 views
1
<configuration> 
    <userSettings> 
     <IntegrationTests.Resources.IntegrationTests> 
      <setting name="UserAppPath" serializeAs="String"> 
       <value>C:\Program Files (x86)\App\</value> 
      </setting> 
      <setting name="LogFilePath" serializeAs="String"> 
       <value>C:\logfiles\</value> 
      </setting> 
     </IntegrationTests.Resources.IntegrationTests> 
    </userSettings> 
</configuration> 

위의 xml 파일이 있습니다. 작업을 실행하는 동안 내 빌드 작업이 동적으로이 경로 값을 편집하도록합니다 ... 그래서 이름을 UserAppPath로 설정하면 설정이 LogFilePath 인 경우 올바른 경로와 동일합니다. 그런 다음 선택한 슬레이브를 기반으로 로그 파일 경로를 편집합니다 ... 현명한 경우처럼 n 개의 설정이있을 수 있지만 그 중 일부만 변경하려는 경우가 있습니다. 내가 대체 시도, 개미 xmltask의 요청을 삽입하십시오. 하지만 내 문제를 해결하지 못했습니다 .... 어떤 도움을 주신 것입니다Ant xmltask를 사용하여 구성 파일을 편집하십시오.

+0

무엇을 사용하여 스크립트처럼 xmltask입니까? –

답변

3

copyfilterset와 함께이 작업을 수행 할 수 있습니다.

변수를 속성 파일에 입력하십시오.

user.app.path=C:\\Program Files (x86)\\App\\ 
logfile.path=C:\\logfiles\\ 

구성 파일의 템플릿 버전을 만듭니다. 빌드 파일에서

<configuration> 
    <userSettings> 
     <IntegrationTests.Resources.IntegrationTests> 
      <setting name="UserAppPath" serializeAs="String"> 
       <value>@[email protected]</value> 
      </setting> 
      <setting name="LogFilePath" serializeAs="String"> 
       <value>@[email protected]</value> 
      </setting> 
     </IntegrationTests.Resources.IntegrationTests> 
    </userSettings> 
</configuration> 

는 filterset와 템플릿 버전에서 자리를 대체하여 구성 파일의 버전을 만들 :

<project name="test" default="test"> 
    <target name="test"> 
    <copy file="config_template.xml" tofile="config.xml"> 
     <filterset begintoken="@" endtoken="@"> 
     <filtersfile file="config.properties" /> 
     </filterset> 
    </copy> 
    </target> 
</project> 
+0

깨끗하고 명확한 대답에 감사드립니다. –