In my opinion, it is very important that the "-src" part be acceptable and
recognised by IvyDE. If one has to workaround by:
1- changing the source artifact name
2- adding "-src" in ivysettings
One runs the risk of Ivy resolving source artifacts instead of binaries.
E.g. Try having cglib 2.1_03 and commons-cli and configuring Ivy with the cglib
binary only and commons-cli with binary and source artifacts by working around
in the ivysettings. The cglib artifact attached is the source artifact! Of
course Eclipse compilation breaks.
Try with the ivysettings as you've mentioned below and Ivy configuration:
<dependency org="cglib" name="cglib" rev="2.1_03"
conf="COMPILE,RUNTIME,TEST->default"/>
<dependency org="jakarta-commons-cli" name="commons-cli"
rev="1.1" conf="COMPILE,RUNTIME,TEST->default">
<artifact name="commons-cli" type="jar"/>
<artifact name="commons-cli" type="source" ext="zip"
conf="COMPILE" />
</dependency>
This kind of workaround also affects Ivy and breaks the ant build as well! This
means my CruiseControl build is no longer working because of the workaround in
ivysettings and the above configuration to accommodate IvyDE for attaching
sources in Eclipse.
Gerard
-----Original Message-----
From: Nicolas Lalevée [mailto:[EMAIL PROTECTED]
Sent: 11 December 2007 20:06
To: [email protected]
Subject: Re: IvyDE source artifact not recognised
Le 11 déc. 07 à 11:11, John Gill a écrit :
> I believe that one of the limitations of ivyDE source linking is that
> the names must match. You can have a different type/ext like
> ".src.jar"
> but
> that's it. The only way I have ever got it to work is with matching
> names.
And I think that it is an error to have different names. Because having
different names means talking about different artifact.
So the ivy.xml have to look like that :
<dependency org="jakarta-commons-cli" name="commons-cli" rev="1.1"
conf="COMPILE,RUNTIME,TEST->default">
<artifact name="commons-cli" type="jar"/>
<artifact name="commons-cli" type="source" ext="zip"
conf="COMPILE" />
</dependency>
Then there is the problem with the real artifact name : commons-cli-
src-1.1.zip That can be fixed easily with a proper pattern :
<artifact pattern="${ivy.conf.dir}/[organisation]/[revision]/
[artifact]-src-[revision].[ext]"/>
Nicolas
>
>
> On Dec 11, 2007 6:16 PM, Fernandes, Gerard
> <[EMAIL PROTECTED]
> >
> wrote:
>
>>
>> IvyDE doesn't recognise source artifacts with a different name than
>> the binary artifact.
>>
>> E.g., If I have a JAR called commons-cli-1.1.jar and it's source
>> called commons-cli-src-1.1.zip, an Ivy configuration with the
>> following will resolve and the sources are downloaded (can be
>> confirmed by the Ivy report as well as checking the cache) but will
>> NOT attach sources in
>> Eclipse:
>> <dependency org="jakarta-commons-cli" name="commons-
>> cli"
>> rev="1.1" conf="COMPILE,RUNTIME,TEST->default">
>> <artifact name="commons-cli" type="jar"/>
>> <artifact name="commons-cli-src" type="source"
>> ext="zip" conf="COMPILE" />
>> </dependency>
>>
>> Ivy settings are:
>> <filesystem name="externalLibraries">
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact].
>> [ext]"/>
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact]-
>> [revision]
>> .[ext]"/>
>> </filesystem>
>>
>> The only way to make this work is to change Ivy settings to:
>>
>> <filesystem name="externalLibraries">
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact].
>> [ext]"/>
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact]-src.
>> [ext]"
>> />
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact]-
>> [revision]
>> .[ext]"/>
>> <artifact
>> pattern="${ivy.conf.dir}/[organisation]/[revision]/[artifact]-
>> [revision]
>> -src.[ext]"/>
>> </filesystem>
>>
>> And rename
>> commons-cli-src-1.1.zip
>> To
>> commons-cli-1.1-src.zip
>>
>> And finally change the Ivy configuration to:
>> <dependency org="jakarta-commons-cli" name="commons-
>> cli"
>> rev="1.1" conf="COMPILE,RUNTIME,TEST->default">
>> <artifact name="commons-cli" type="jar"/>
>> <artifact name="commons-cli" type="source"
>> ext="zip" conf="COMPILE" />
>> </dependency>
>>
>>
>> Gerard
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> - - -
>> - - - - - - -
>>
>> This message is intended only for the personal and confidential use
>> of the designated recipient(s) named above. If you are not the
>> intended recipient of this message you are hereby notified that any
>> review, dissemination, distribution or copying of this message is
>> strictly prohibited. This communication is for information purposes
>> only and should not be regarded as an offer to sell or as a
>> solicitation of an offer to buy any financial product, an official
>> confirmation of any transaction, or as an official statement of
>> Lehman Brothers. Email transmission cannot be guaranteed to be
>> secure or error-free. Therefore, we do not represent that this
>> information
>> is complete or accurate and it should not be relied upon as such.
>> All
>> information is subject to change without notice.
>>
>>
>>
>>
>
>
> --
> Regards,
> John Gill
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
This message is intended only for the personal and confidential use of the
designated recipient(s) named above. If you are not the intended recipient of
this message you are hereby notified that any review, dissemination,
distribution or copying of this message is strictly prohibited. This
communication is for information purposes only and should not be regarded as an
offer to sell or as a solicitation of an offer to buy any financial product, an
official confirmation of any transaction, or as an official statement of Lehman
Brothers. Email transmission cannot be guaranteed to be secure or error-free.
Therefore, we do not represent that this information is complete or accurate
and it should not be relied upon as such. All information is subject to change
without notice.