'pathmap'에 해당되는 글 1건

  1. 2008.12.09 Buildr : 리소스 교체 (3)

리소스 필터링이 리소스 파일의 내용을 변경하는 것이라면, 리소스 교체는 원본 리소스 파일을 환경에 적합한 다른 리소스 파일로 교체하는 것입니다. 
예를 들어 개발서버 환경에서는 로컬PC 환경과 다른 설정값을 갖는 web.xml 파일이 사용되어야 한다면, 개발서버 환경용 web.xml.dev 파일을 만들고 개발 빌드시에 web.xml.dev => web.xml 식으로 파일 자체를 바꾸는 것입니다.
 
Ant에서 리소스 파일교체는 다음처럼 처리할 수 있습니다.

<copy todir="'target/webapp/WEB-INF" overwrite="true" preservelastmodified="true" verbose="true">
     <fileset dir="'target/webapp/WEB-INF" includes="**/*.dev" />
     <mapper type="glob" from="*.dev" to="*" />
</copy>


Buildr에서는 이렇게 처리할 수 있습니다. 

FileList['target/webapp/WEB-INF/**/*.dev'].each do |file|
    cp file, file.pathmap('%X'), :preserve=>true, :verbose => true
end

*.dev 파일을 골라내기 위해 FileList[glob패턴]을 사용했고, 각 파일들을 순회하면서 이름을 바꿔서 복사합니다.
여기서 pathmap이라는 메소드가 보이는데요, rake에서 String 클래스을 상속하여 추가한 메소드입니다.
pathmap이 받는 패턴 중에서 %X는 파일전체 패스에서 파일 확장자를 제외한 나머지 문자열을 리턴합니다. 'aa/bb.xml.dev'.pathmap('%X')는 'aa/bb.xml'을 리턴하죠.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Build&Deploy > Buildr' 카테고리의 다른 글

Buildr : 아티팩트 다운로드 받기  (0) 2008.12.17
Buildr : 타스크 의존 관계  (0) 2008.12.11
Buildr : 리소스 교체  (3) 2008.12.09
Buildr : 리소스 필터링  (0) 2008.12.09
Buildr : 파일집합 복사하기  (0) 2008.12.05
Buildr : 파일 집합 선택  (0) 2008.12.01
Posted by 에코지오

댓글을 달아 주세요

  1. BlogIcon [짱가™] 2008.12.09 19:41 신고  댓글주소  수정/삭제  댓글쓰기

    서영아빠님의 buildr 을 책으로~~~

    • BlogIcon 에코지오 2008.12.10 10:20 신고  댓글주소  수정/삭제

      헉 짱가님 무신 그럼 무서븐 말씀을...
      buildr 사용할 때 저처럼 삽질하지 말라고
      기록을 남기는 것일뿐이에요... -.-;
      오히려 저보다는 짱가님이 책한권 쓰심이...
      짱가님의 필력으로 봐서는 충분하고도 남을거같은데요! ^^

  2. BlogIcon [짱가™] 2008.12.10 11:28 신고  댓글주소  수정/삭제  댓글쓰기

    그래도 책으로~



티스토리 툴바