Monday, July 20, 2015

Cannot use javahl nor command line svn client

I do not know since when the 3 idiots svnant.jar, svnClientAdapter.jar, svnjavahl.jar was placed inside ANT_ROOT/lib? I'm feeling so unhappy with this as it has caused me a nasty shit being thrown when <svn> tag was invoked!
    Trying to override old definition of task svn
    
    BUILD FAILED
    ...
    C:\TestWorkspace\base.xml:78: Cannot use javahl nor command line svn client
    
    Total time: 0 seconds
When I was about to throw them away, I notice the last modified date was at 2006 which is version 1.0.0 as according to the source repo. Surprise me! But I thought I had overridden the classpath in ANT script, why it isn’t working?
    <path id="classpath">
     <pathelement location="svnant.jar"/>
     <pathelement location="svnClientAdapter.jar"/>
     <pathelement location="svnjavahl.jar"/>
     <pathelement location="svnkit.jar"/>
     <pathelement location="ant-contrib-0.3.jar"/>
     <fileset dir= ".." >
      <include name= "*.jar" />
     </fileset>
    </path>
I rebuild again to see if the error still persists after I throw the 3 idiots far far far away. The error is gone but another one comes out:
    co:
          [svn] Missing 'javahl' dependencies on the classpath !
    
    BUILD FAILED
    ...
    C:\TestWorkspace\base.xml:80: Cannot find javahl, svnkit nor command line svn client
Surprise me again! Why this happens? Spent some time reading through the forums and articles then only I realize there are missing thing in the ANT script:
    <svnSetting svnkit="true" javahl="false" username="admin" password="admin" id="svn.settings" />
    <svn refid="svn.settings">
     ...
    </svn>
Frankly speaking, I heavily rely on the IDE. The <svn> tag wasn’t shown in editor, and I though this is a fault. Anyhow, one quick note, as of this writing, I’m using version 1.3.1. Thus svntask.properties is no longer working:

    <typedef classpathref="classpath" resource="svntask.properties"/>

That one was used in version 1.0.0. The correct way is this:

    <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="classpath"/>

No comments: