우분투 서버에서 Ant로 쓰리래빗츠 북을 빌드합니다. 며칠 전까지 문제가 없었는데 갑자기 에러가 발생합니다. 아무도 빌드 시스템을 건드리지 않았습니다.
얼마 전에 우분투 서버 업데이트를 자동으로 바꿨습니다. 우분투 패키지로 Ant를 설치했기에 Ant도 자동 업데이트 대상입니다. 업데이트로 Property Task
동작에 변화가 있었습니다. build.properties
파일은 다음과 같습니다. 내부적으로 값을 치환합니다.
project.app=../app-3-0 project.app.src=${project.app}/src
특별하게도 Property Task
에 prefix
값이 있습니다.
<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" />
얻은 교훈은 다음과 같습니다.
시스템 운영자와 개발자는 자동 업데이트 기능을 사용하지 않는다.
꼭 필요하지 않다면
prefix
와 같은 부가적인 기능을 사용하지 않는다. 세상을 복잡하게만 만든다.과거에 같은 문제가 있었습니다. Ant를 되돌려서 문제를 해결했습니다. 바쁘더라도 근본적인 해결책을 찾는다.