It's m2compatible that is making the difference.

>From 
>http://ant.apache.org/ivy/history/latest-milestone/resolver/filesystem.html

...'since 1.3 Using the m2compatible attribute, this resolver will
convert dots found in organisation in slashes like maven2 does for
groupId. For instance, it will transform the organisation from
'com.company' into 'com/company' when replacing the token
[organisation] in your pattern.
Limitation: in m2compatible mode, this resolver is not able list
available organizations. It means some features like repreport are not
available'...

I don't know if this is available on the ssh resolver.

Cheers,
Geoff


On Fri, May 13, 2011 at 9:45 AM, Peter Kahn <[email protected]> wrote:
> Hi all,
>
> Can someone point me to the right place to look to understand why publish
> with filesystem artifact pattern expands [organisation] into directories
> (repository/com/foo/bar/) but ssh doesn't (repository/com.foo.bar/)?
>
> I'm publishing to a maven style repository (local and nexus).  The local
> uses filesystem which converts '.'  from [organisation] into sub directories
> and ssh does not.  I can hard code the path since my org/groupID isn't
> likely to change but I'm perplexed.
>
> Ivysettings.xml
> <filesystem name="local-m2-publish" m2compatible="true">
> <artifact
> pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
> </filesystem>
>
> <ssh name="nexus-m2-publish-snapshot" user="nexus-user" host="mynexus"
> keyFile="${user.home}/.ssh/mykey">
> <artifact
> pattern="ssh://mynexus/nexus/storage/repos-snap/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
> </ssh>
>
> ivy.xml
> <ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven";> <info
> organisation="com.foo.bar" module="mylibrary" revision="${revision}" />
> <configurations> <conf name="default"/> <conf name="sources"/>
> </configurations> <publications> <artifact name="mylibrary" ext="pom"
> type="pom" conf="default"/> <artifact name="mylibrary" ext="jar" type="jar"
> conf="default"/> </publications> </ivy-module>
>
>
> The two publish calls are identical except for the resolver
>
> <ivy:publish resolver="local-m2-publish" forcedeliver="true"
> overwrite="true"
> module="mylibrary" srcivypattern="ivy.xml" publishivy="false">
> <artifacts pattern="${target}/[artifact].[ext]"/>
> </ivy:publish>
>
> Please let me know if you see what I'm missing or where's the right place to
> find out how pattern's used by ssh.  I have the source and was going to look
> there since I can find an answer in the docs.
>
> Thanks for the help
>
> Peter
>
> --
> Peter Kahn
> [email protected]
> http://www.google.com/profiles/citizenkahn
> Awareness - Intention - Action
>

Reply via email to