Ant의 prefixValues 속성

우분투 서버에서 Ant로 쓰리래빗츠 북을 빌드합니다. 며칠 전까지 문제가 없었는데 갑자기 에러가 발생합니다. 아무도 빌드 시스템을 건드리지 않았습니다.

얼마 전에 우분투 서버 업데이트를 자동으로 바꿨습니다. 우분투 패키지로 Ant를 설치했기에 Ant도 자동 업데이트 대상입니다. 업데이트로 Property Task 동작에 변화가 있었습니다. build.properties 파일은 다음과 같습니다. 내부적으로 값을 치환합니다.

project.app=../app-3-0
project.app.src=${project.app}/src

특별하게도 Property Taskprefix 값이 있습니다.

<property file="build.properties" prefix="3rabbitz." />

3rabbitz.project.app.src의 값은 ../app-3-0/src입니다. 그런데 새로 업데이트한 Ant는 치환하지 못하고 ${project.app}/src를 반환합니다. prefix까지 고려해서 치환하는 모양입니다. 이 문제를 해결하려면 prefixValues 속성을 true로 설정해야 합니다.

<property file="build.properties" prefix="3rabbitz." prefixValues="true" />

얻은 교훈은 다음과 같습니다.