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 Jason Guild <ja...@alaska.gov> on 2010/01/12 01:03:16 UTC

IVYDE: shared javadoc attachments

Hi All:

Got a question about javadoc attachments in IvyDE (2.0.0.final) / Ivy 
(2.1.0.final).

I am using the default URL resolver against the Ivy repo on our dev web 
server.
The artifact pattern we are using in our ivy settings is:
<artifact 
pattern="http://XXXXXX/dev-repo/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" 
/>

I've got a module, let say, called 'foo' which publishes multiple JAR 
artifacts:
foo-a-1.0.0.jar
foo-b-1.0.0.jar
foo-c-1.0.0.jar

If I specify my project depends on 'foo', IvyDE happily pulls down all 
three components.
The foo module is unfortunately /closed/ and the javadocs are provided 
in one archive 'foo-1.0.0-doc.zip'.

So I put the archive on the server and I modify the ivy.xml for the foo 
module to publish the docs via:
<artifact name="foo" type="javadoc" ext="zip" conf="default" 
e:classifier="doc"/>

Now IvyDE/Ivy will happily pull down the javadoc along with all the 
other artifacts.
But, none of the foo-a, foo-b, or foo-c artifacts have javadoc 
attachments (presumably because their artifact basenames do not match).

Without fetching the same 6MB javadoc archive three times under three 
different names, is it possible to get IvyDE to treat the one javadoc 
artifact as a candidate for attachment on each of the component JAR 
artifacts?

Thanks,
Jason



Re: IVYDE: shared javadoc attachments

Posted by Nicolas Lalevée <ni...@hibnet.org>.
On Mon, 11 Jan 2010 15:03:16 -0900, Jason Guild <ja...@alaska.gov>
wrote:
> Hi All:
> 
> Got a question about javadoc attachments in IvyDE (2.0.0.final) / Ivy 
> (2.1.0.final).
> 
> I am using the default URL resolver against the Ivy repo on our dev web 
> server.
> The artifact pattern we are using in our ivy settings is:
> <artifact 
>
pattern="http://XXXXXX/dev-repo/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
> 
> />
> 
> I've got a module, let say, called 'foo' which publishes multiple JAR 
> artifacts:
> foo-a-1.0.0.jar
> foo-b-1.0.0.jar
> foo-c-1.0.0.jar
> 
> If I specify my project depends on 'foo', IvyDE happily pulls down all 
> three components.
> The foo module is unfortunately /closed/ and the javadocs are provided 
> in one archive 'foo-1.0.0-doc.zip'.
> 
> So I put the archive on the server and I modify the ivy.xml for the foo 
> module to publish the docs via:
> <artifact name="foo" type="javadoc" ext="zip" conf="default" 
> e:classifier="doc"/>
> 
> Now IvyDE/Ivy will happily pull down the javadoc along with all the 
> other artifacts.
> But, none of the foo-a, foo-b, or foo-c artifacts have javadoc 
> attachments (presumably because their artifact basenames do not match).
> 
> Without fetching the same 6MB javadoc archive three times under three 
> different names, is it possible to get IvyDE to treat the one javadoc 
> artifact as a candidate for attachment on each of the component JAR 
> artifacts?

There is no way with the current implementation.
I discussed this issue with a colleague some time ago and we started to
think about adding extra metadata in the ivy.xml. For instance we were
thinking of adding some attributes on the artifacts like:
<artifact name="foo-a" type="jar" ext="jar" conf="default"
ivyde:javadoc="foo" />
<artifact name="foo-b" type="jar" ext="jar" conf="default"
ivyde:javadoc="foo" />
<artifact name="foo-c" type="jar" ext="jar" conf="default"
ivyde:javadoc="foo" />

If you have any other idea you are welcomed to open a new feature entry in
the Jira.

Nicolas