개미 'exec'작업에서 환경 변수를 내보내려면 어떻게해야합니까?

2009-11-23 4 views
2

WinXp에서 Ant를 사용하여 MSVisual C++ 프로젝트를 빌드하고 있습니다.개미 'exec'작업에서 환경 변수를 내보내려면 어떻게해야합니까?

컴퓨터에 독립적 인 "devenv.com"에 액세스하려면 vsvars32.bat 스크립트를 사용하고 싶습니다. 불행히도 환경 변수는 "exec"범위에서만 정의 된 것으로 보입니다.

예 :

<exec executable='"${env.VS90COMNTOOLS}vsvars32.bat/> 
<echo message="${DevEnvDir}" /> 
<echo message="${env.DevEnvDir}" /> 
<property environment="env2"/> 
<echo message="${env2.DevEnvDir}" /> 

나는 예상 된 결과를 얻을 수 없다.

"vsvars32.bat"스크립트를 어떻게 사용하고 해당 환경에 액세스 할 수 있습니까? vars? 이것을 달성하는 더 좋은 방법이 있습니까?

답변

2

개미 스크립트를 실행하는 작은 배치 파일을 만들고 배치 파일에서 ant 호출 전에 vsvars32.bat를 실행할 수 있습니다.

@echo off 

setlocal 

set TEMP_HOME=%~dp0 

call "%VS90COMNTOOLS%\vsvars32.bat" 

call "%ANT_HOME%\bin\ant.bat" %* 

endlocal 
4

대신 직접 vsvars32.bat를 호출, set을 사용하여 파일에 환경 설정을 기록 작은 도우미 스크립트에서 호출.

도우미 스크립트 vsenvwrap.bat : 당신의 build.xml 전화 도우미 스크립트에서

@echo off 

call "%VS90COMNTOOLS%\vsvars32.bat" 

set > vsenv.txt 

, 다음 설정이 vsenv.bat 파일 읽기 :

<exec executable="vsenvwrap.bat" /> 
<property file="vsenv.txt" prefix="env2" /> 

당신은 다음 빌드 중 vsenv.txt 파일을 삭제할 수 있습니다, 또는 귀하의 깨끗한 목표물.

이것은 환경 변수 목록이 대부분 Java 등록 정보 파일에 필요한 형식을 따르고 있다는 사실을 사용합니다.

관련 문제