2011년 8월 17일

Build Tips: Ant 에서 Subversion 사용하기

기존에는 svnant-1.3.0 을 사용하여 ant 에서 SVN 의 모든 소스를 운영/개발 서버로 가져와 컴파일하는 작업을 수행했었다. 그러나 svnant-1.3.1 버전을 사용하는 경우 이런 오류가 발생된다.

tool-availability:     [echo] SVN-ANT is available = true
does-svnant-exist:
checkout:      [svn] Deprecated attribute 'username'. This attribute will disappear with SVNANT 1.3.2. Use svnSetting instead.      [svn] Deprecated attribute 'password'. This attribute will disappear with SVNANT 1.3.2. Use svnSetting instead.      [svn] Missing 'javahl' dependencies on the classpath !
BUILD FAILED
/data2/app/installableApps/KIER_ICAP/build.xml:106: Cannot find javahl, svnkit nor command line svn client        at org.tigris.subversion.svnant.SvnFacade.getClientAdapter(Unknown Source)        at org.tigris.subversion.svnant.SvnTask.executeImpl(Unknown Source)        at org.tigris.subversion.svnant.SvnTask.execute(Unknown Source)        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)        at org.apache.tools.ant.Task.perform(Task.java:364)        at org.apache.tools.ant.Target.execute(Target.java:341)        at org.apache.tools.ant.Target.performTasks(Target.java:369)        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)        at org.apache.tools.ant.Main.runBuild(Main.java:668)        at org.apache.tools.ant.Main.startAnt(Main.java:187)        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)


오류 메시지 추측하건데 svnant 가 순수 자바 기반의 svnkit 을 사용하는 경우는 문제가 되지 않지만 javaHL 을 사용하는 경우는 추가 라이브러리가 필요한 것으로 판단되며, 위의 오류는 디폴트로 svnant 는 이전 버전과 다르게 javaHL 을 디폴트로 사용하도록 동작하여 발생된 것 같다.

오류 해결은 다음과 같이 javahl="false" 값을 추가하면 문제는 간단하게 해결된다.
 


        



그러나 이문제를 해결하더라도 비 공인 인증서를 사용하는 경우는 루트 인증기관을 확인할 수 없다는 오류가 발생되어(구글검색 결과 여러가지 방법이 제시되었으나 해결되지 않았다.) 결국은 svnant-1.3.0 을 사용하고 있다.

댓글 없음:

댓글 쓰기