ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fernandes, Gerard" <gerard.fernan...@lehman.com>
Subject RE: IvyDE source artifact not recognised
Date Wed, 12 Dec 2007 09:39:07 GMT

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:nicolas.lalevee@anyware-tech.com] 
Sent: 11 December 2007 20:06
To: ivy-user@incubator.apache.org
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 
> <gerard.fernandes@lehman.com
> >
> 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.




Mime
View raw message