You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Dave <da...@gmail.com> on 2008/09/18 21:04:03 UTC

How/Where do I specify the pattern the artifact user should use when publishing?

I can't seem to publish artifacts using a pattern to match my needs.I have
the following set up as filesystem resolver artifact patterns in my ivy
settings:
=============================================
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<properties file="./ivysettings.properties" />
<settings defaultResolver="chain" />
<resolvers>
<filesystem name="local" checkmodified="true">
<ivy pattern="${ivy.local.default.root}/${ivy.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
/>
<artifact pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[artifact].[ext]"
/>
</filesystem>
<filesystem name="shared" checkmodified="true">
<ivy pattern="${ivy.shared.default.root}/${ivy.default.ivy.pattern}" />
<artifact pattern="${ivy.shared.default.root}/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
/>
<artifact pattern="${ivy.shared.default.root}/[organisation]/[module]/[revision]/[artifact].[ext]"
/>
</filesystem>
<chain name="chain" returnFirst="true" checkmodified="true">
<resolver ref="local"/>
<resolver ref="shared"/>
</chain>
</resolvers>
</ivysettings>
======================================================
This allows to have either something like xalan.jar or xalan-2.7.1.jar
successfully resolved.
However, if I try to publish my own jar, say myown.jar, it ALWAYS publishes
it to /myorg/myjar/myrev/myown-myrev.jar
I want to be able to have it published to /myorg/myjar/myrev/myown.jar but I
can't see an option in the ant <publish> task to specify a publication
target pattern.
I've tried switching the artifact patterns around in case Ivy always uses
the the first artifact pattern it finds for the resolver in the settings,
but this hasn't fixed the problem.
Can someone tell me how to specify the pattern the publisher uses to place
the artifact in the repository?

-- 
"A lot of people are afraid of heights. Not me, I'm afraid of widths."

Re: How/Where do I specify the pattern the artifact user should use when publishing?

Posted by Dave <da...@gmail.com>.
Apologies. I didn't evaluate properly whether moving the artifact patterns
around in the settings xml would fix my problem. It seems Ivy does indeed
use the first artifact pattern declared in the resolver settings to publish
any artifacts to that resolver.
Sorry for any confusion.Consider the question answered.

On Thu, Sep 18, 2008 at 8:04 PM, Dave <da...@gmail.com> wrote:

> I can't seem to publish artifacts using a pattern to match my needs.I have
> the following set up as filesystem resolver artifact patterns in my ivy
> settings:
> =============================================
> <?xml version="1.0" encoding="UTF-8"?>
> <ivysettings>
> <properties file="./ivysettings.properties" />
>  <settings defaultResolver="chain" />
> <resolvers>
> <filesystem name="local" checkmodified="true">
>  <ivy pattern="${ivy.local.default.root}/${ivy.default.ivy.pattern}" />
>  <artifact pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
> />
>  <artifact pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[artifact].[ext]"
> />
>  </filesystem>
> <filesystem name="shared" checkmodified="true">
>  <ivy pattern="${ivy.shared.default.root}/${ivy.default.ivy.pattern}" />
>  <artifact pattern="${ivy.shared.default.root}/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
> />
>  <artifact pattern="${ivy.shared.default.root}/[organisation]/[module]/[revision]/[artifact].[ext]"
> />
>  </filesystem>
> <chain name="chain" returnFirst="true" checkmodified="true">
>  <resolver ref="local"/>
> <resolver ref="shared"/>
>  </chain>
> </resolvers>
> </ivysettings>
> ======================================================
> This allows to have either something like xalan.jar or xalan-2.7.1.jar
> successfully resolved.
> However, if I try to publish my own jar, say myown.jar, it ALWAYS publishes
> it to /myorg/myjar/myrev/myown-myrev.jar
> I want to be able to have it published to /myorg/myjar/myrev/myown.jar but
> I can't see an option in the ant <publish> task to specify a publication
> target pattern.
> I've tried switching the artifact patterns around in case Ivy always uses
> the the first artifact pattern it finds for the resolver in the settings,
> but this hasn't fixed the problem.
> Can someone tell me how to specify the pattern the publisher uses to place
> the artifact in the repository?
>
> --
> "A lot of people are afraid of heights. Not me, I'm afraid of widths."
>



-- 
"A lot of people are afraid of heights. Not me, I'm afraid of widths."