David,
I make sure to specify the name, type, ext, and conf for each
artifact:
<publications>
<artifact name="authentication_client" type="jar" ext="jar"
conf="default" />
<artifact name="authentication" type="jar" ext="jar" conf="build" />
<artifact name="masergy_authen_mbean" type="sar" ext="sar"
conf="build" />
</publications>
I don't see an ext attribute in your artifacts, which is likely a
problem, since you do use it in your artifactspattern.
Also, make sure the configurations you specify for an artifact are
public.
Thanks,
---
Kirby Files
Software Architect
Masergy Communications
kfi...@masergy.com
David Sills wrote on 10/22/2010 03:09 PM:
Mitch:
Thanks so much for the suggestion, but neither adding type nor conf (no
matter what setting I used of my public configurations, including "*")
made any difference whatever. This was a good idea, but I agree, it
looks as though it's only interested in the artifact that has the same
name as the module. But surely that can't be the only thing Ivy can do.
I'd really hate to have to create a whole separate project just for 3
Java classes in order to accommodate Ivy. The whole reason I don't care
for Maven is that it dictates too much of my project behavior - that's
what interested me in Ivy in the first place.
Any other notions? Anyone?
David Sills
-----Original Message-----
From: Mitch Gitman [mailto:mgit...@gmail.com]
Sent: Friday, October 22, 2010 12:29 PM
To: ivy-user@ant.apache.org
Subject: Re: Multiple artifacts
My guess is what's going on is it's settling into a default behavior
where
it's just publishing the artifact that has the same name as the module.
What I notice about your artifact elements that's a little off is that
they're not specifying a type attribute or (this may be the real
problem) a
conf attribute. Try:
<publications>
<artifact name="dsi-springmvc" type="jar" conf="default" />
<artifact name="dsi-springmvc-tags" type="jar" conf="default" />
</publications>
This is presuming you're specifying a conf literally called "default".
On Fri, Oct 22, 2010 at 3:48 AM, David Sills
<dsi...@datasourceinc.com>wrote:
All:
I've managed to get Ivy working quite successfully (though I don't
always understand exactly<strong>why</strong> it works) for my
project.
However, I'm trying something new and I don't quite understand why it
doesn't work.
I'm working on a project that contributes to a library I use to base
other projects on. The project originally published a single artifact:
<publications>
<artifact name="dsi-springmvc"/>
</publications>
This worked great. However, it is a web-based system, and includes
some
JSP tags as well. These are packaged in a separate JAR file with its
own
TLD, which is being correctly built to the right directory for Ivy,
that
is, my build process deposits the "dsi-springmvc-tags-1.1.jar" right
next to the "dsi-springmvc-1.1.jar". I thought this would work:
<publications>
<artifact name="dsi-springmvc"/>
<artifact name="dsi-springmvc-tags"/>
</publications>
It doesn't. The ivy publish Ant task still only publishes the one
artifact (JAR file) to the repository:
ivy-publish:
[ivy:publish] :: publishing :: com.datasourceinc#dsi-springmvc
[ivy:publish] published dsi-springmvc to
U:/shared\\repositories\\internal\\com.datasourceinc\dsi-springmvc\\1.1\
\dsi-springmvc-1.1.jar
[ivy:publish] published ivy to
U:/shared\\repositories\\internal\\com.datasourceinc\\dsi-springmvc\\1.1
\\ivy-1.1.xml
publish:
My Ivy target is as follows:
<target name="ivy-publish" depends="jar">
<ivy:publish
artifactspattern="${deploy.dir}/[type]s/[artifact]-[revision].[ext]"
pubrevision="${version.number}" update="true" resolver="local"
overwrite="true"/>
</target>
The schema suggests that multiple artifacts are possible, so I must be
doing something wrong. I have looked at the documentation but don't
see
an obvious problem. Does anyone else? Thanks!
David Sills