안드로이드 library 프로젝트와 참조 프로젝트의 svn 꼬이는 문제 해결하기 by 오리대마왕

어쩌다보니 안드로이드 개발을 하고 있다. 원하던 바이기도 하다. 재밌다!안드로이드 library 프로젝트와 이를 참조하는 샘플 프로젝트를 동시에 만들고 있다. 당연히 두 프로젝트 모두 svn으로 관리한다.문제는 library 프로젝트는 괜찮은데, 샘플 프로젝트의 bin 디렉토리가 이상하게 꼬이는 것이다.당연히 빌드로 생성되는 자원들인 /bin, /gen 디렉터리는 svn ignore에 추가했는데도 자꾸 /bin 이 svn 관리 하에 들어가는 것으로 표시가 된다. 꼴보기 싫어 자꾸 언급되는 /bin 을 svn에서 날려버리니 엉뚱하게도 라이브러리 프로젝트의 소스코드가 삭제되어버리네.원인은 참조 프로젝트의 /bin 폴더에 library 프로젝트의 /src/.svn 들이 함께 들어가버리기 때문이었다. 따라서 시스템은 "아, 얘는 svn의 관리 자원이구나!" 착각을 하게 되고, 정보를 날려버리면 애꿎은 원래 library 프로젝트의 /src가 지워져버린다.해결방법은 간단하다. library 프로젝트의 /src 밑에 있는 내용 중 .svn 과 관련된 내용은 빌드에서 제외하면 된다.이를 위해선 이클립스에서 다음과 같이 설정한다.
  1. 참조 프로젝트의 project properties 로 간 후
  2. java build path에 등록되어 있는 참조 프로젝트의 src 와 gen 디렉터리에 대해
  3. exclude filter를 * * /.svn/ * 으로 적용한다. (이글루스에서 별별이 입력이 안된다. 뭐니! 앞에서 띄어쓴 부분은 모두 붙여쓴다)
여러 개의 library 프로젝트를 참조한다면 모든 대상에 대해 위의 설정을 적용한다. 이 내용 때문에 며칠을 날렸다. 어이쿠!