Hi there,

I just tried building ivy from SVN then using it on a project.  I had two minor 
problems which don't seem to be in the CHANGES file (but I'm a beginner with 
Ivy so they may be expressed in language I didn't grok) and one case of 
something seeming wrong in 2.0.0-beta and SVN.

Are these intentional changes or am I unlucky?

Ant 1.7.1
Ivy 20080916162121
Java: 1.6.0_07
Vista (up to date)
Cygwin (up to date as of last week)


1/ sftp resolver

UNIX style file name for key file no longer accepted.

Running on Cygwin on Windows Vista

With the SVN build:
...
[ivy:resolve] :: Ivy 2.0.0-rc1-local-20080916162121 - 20080916162121 :: 
http://ant.apache.org/ivy/ ::
:: loading settings :: file = c:\home\afs\Projects\TDB\ivysettings.xml

BUILD FAILED
c:\home\afs\Projects\TDB\build-lib.xml:357: impossible to configure 
ivy:settings with given file: c:\home\afs\Projects\TDB\ivysettings.xml : 
java.text.ParseException: failed to load settings from 
file:/c:/home/afs/Projects/TDB/ivysettings.xml: impossible to convert 
/home/afs/.ssh/ivy-pub-jena-key to class java.io.File for setting keyFile on 
class org.apache.ivy.plugins.resolver.SFTPResolver

This works with 2.0.0-beta

From ivysetting.xml:

    <sftp name="dev-publish" host="jena.hpl.hp.com"
          user="${env.IVYUSER}" keyFile="${env.IVYKEY}">
      <ivy pattern="repo-dev/com/hp/hpl/jena/[module]/[revision]/ivy.xml"/>
      <artifact 
pattern="repo-dev/com/hp/hpl/jena/[module]/[revision]/[artifact]-[revision].[ext]"/>
    </sftp>

And env.IVYUSER is "afs" and env.IVYKEY is "/home/afs/.ssh/ivy-pub-jena-key"

If I set IVYKEY to a windows style path, c:\home\afs\.ssh\ivy-pub-jena-key it 
works with the SVN version and in 2.0.0-beta.


2/ Filesystem resolver
...
c:\home\afs\Projects\TDB\build-lib.xml:357: impossible to configure 
ivy:settings with given file: c:\home\afs\Projects\TDB\ivysettings.xml : 
java.text.ParseException: failed to load settings from 
file:/c:/home/afs/Projects/TDB/ivysettings.xml: impossible to add configured 
child for ivy on class org.apache.ivy.plugins.resolver.FileSystemResolver: ivy 
pattern must be absolute: build/pub/[module]-[revision]/ivy.xml

ivysettings.xml:

    <filesystem name="dev-resolver" >
       <ivy      pattern="build/pub/[module]-[revision]/ivy.xml"/>
       <artifact 
pattern="build/pub/[module]-[revision]/[artifact]-[revision].[ext]"/>
    </filesystem>

I use this to quickly test the publishing process so it isn't particularly 
important to me but it would be nice.

Using \ for / does not make a difference.
Using "/home/afs/Projects/TDB/build/pub..." does not work.
Using "c:\home\afs\Projects\TDB\build\pub\..." does work.

In my cygwin installation /home/afs as c:\home\afs so there is a pun going on 
but I was hoping to use the same setup across windows and Linux and be neutral 
to file separator (and ideally file system location).

org.apache.ivy.util.Checks.java is doing  "f.isAbsolute()" which makes it 
sensitive to the filename format.


In both cases, build-lib.xml:357 is the task:
  <target name="ivy-resolve-report" depends="ivy-init">
    <ivy:resolve conf="dev"
                 haltonfailure="false" failureproperty="ivy.resolve.failed"/>
    <ivy:report todir="${reports.dir}"/>
    <fail message="Ivy dependency failed" if="ivy.resolve.failed"/>
  </target>

The complete files can be picked up from
https://jena.svn.sourceforge.net/svnroot/jena/TDB/trunk/ revision 4630


3/ With ivy-2.0.0-beta and ivy SVN:

The filesystem resolver seems to publish the wrong bytes (i.e. different from 
the sftp resolver).

My build artifacts are:
2011 bytes --    ivy-0.5.4-dev.jar
478122 bytes --  tdb-0.5.4-dev.jar
2239 --          tdb-0.5.4-dev.pom

But the published tdb-0.5.4-dev.pom is the bytes for tdb-0.5.4-dev.jar (478122 
is them)

        Andy

--------------------------------------------
  Hewlett-Packard Limited
  Registered Office: Cain Road, Bracknell, Berks RG12 1HN
  Registered No: 690597 England

Reply via email to