ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bhatia Saurabh" <Bha...@OFAC.CH>
Subject IveDE broke
Date Tue, 03 Jul 2007 15:25:31 GMT
Hi Xavier,
Many thanks for your replies, I got my sources to be published correctly; all ant targets
work fine in Eclipse.
So I thought why not try to see if I can see the sources in Eclipse by doing a resolve on
my ivy library.
When I did "Add Ivy Library" on my ivy file in Eclipse, nothing happens IvyDE doesn't work
anymore; used to be ok till now.
No error messages either. Have you had this kind of problem before?
Thanks again 

#######################
<target name="publish-jar" depends="make-jar" description="-> publish this project's
jar in the ivy repository for a specific revision">
		<ivy:publish resolver="shared" artifactspattern="[type]/[artifact].[ext]" pubrevision="${revision}"/>
	</target>
#######################
<filesystem name="shared">
		    <ivy pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"/>
	
			<artifact pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
/>						
		</filesystem>
#######################
<publications>
	<artifact name="OFACAD" type="jar"/>
	<artifact name="OFACAD" type="source" ext="jar"/>
</publications>
#######################3

-----Message d'origine-----
De : Xavier Hanin [mailto:xavier.hanin@gmail.com] 
Envoyé : mardi, 3. juillet 2007 10:28
À : ivy-user@incubator.apache.org
Objet : Re: Source in eclipse IvyDE

On 7/3/07, Bhatia Saurabh <Bhatia@ofac.ch> wrote:
>
> I was trying to get this sorted out but I get the following:
>
> compile-jar:
>     [javac] Compiling 489 source files to C:\RAD7\workspace\OFACAD
> make-jar:
>     [mkdir] Created dir: C:\RAD7\workspace\OFACAD\jar
>       [jar] Building jar: C:\RAD7\workspace\OFACAD\jar\OFACAD.jar
>       [jar] Building jar: C:\RAD7\workspace\OFACAD\OFACAD.jar
> publish-jar:
> [ivy:publish] :: delivering :: [ ofac | OFACAD | prod ] :: prod ::
> integration :: Tue Jul 03 09:50:27 CEST 2007
> [ivy:publish] delivering ivy file to C:\RAD7\workspace\OFACAD\jar/ivy.xml,
> C:\RAD7\workspace\OFACAD/ivy.xml
>
> BUILD FAILED
> C:\RAD7\workspace\OFACDependencies\common.xml:141: impossible to publish
> artifacts for [ ofac | OFACAD | prod ]: impossible to deliver [ ofac |
> OFACAD | prod ]: java.io.FileNotFoundException:
> C:\RAD7\workspace\OFACAD\jar\ivy.xml, C:\RAD7\workspace\OFACAD\ivy.xml
> (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)
>
> Total time: 19 seconds
>
> #########################################
> My ivyconf.xml:
>
> <resolvers checksums="false">
>                 <filesystem name="shared">
>                     <ivy
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> />
>                         <artifact
> pattern="${cellier}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
> />
>                 </filesystem>
>         </resolvers>
>
> #########################################
>
> <target name="publish-jar" depends="make-jar" description="-> publish this
> project's jar in the ivy repository for a specific revision">
>                 <ivy:publish resolver="shared"
> artifactspattern="${jar}/[artifact].[ext], ${src}/[artifact].[ext]"
> pubrevision="${revision}"/>
>         </target>
> #########################################
> <publications>
>         <artifact name="OFACAD" type="jar"/>
>         <artifact name="OFACAD" type="source" ext="jar"/>
> </publications>
>
> Dunno why it has a problem copying an ivy file.


The problem is that the comma in your artifactspattern is not recognized by
Ivy. So Ivy tries to copy a  file to new
File("C:\RAD7\workspace\OFACAD\jar\ivy.xml,
C:\RAD7\workspace\OFACAD\ivy.xml"), which is not possible.

So if you want to use multiple artifact patterns you should use nested ones.
But you will still have a problem because Ivy won't be able to know which
artifact is the source and which one is the original artifact. If you can
control where your source artifact is located (even by moving it before
calling publish, I suggest sg like that:
C:\RAD7\workspace\OFACAD\jar\OFACAD.jar
C:\RAD7\workspace\OFACAD\source\OFACAD.jar

Then you can call publish like that:
<ivy:publish resolver="shared"
artifactspattern="${basedir}/[type]/[artifact].[ext]"
pubrevision="${revision}"/>

If you can even change things more, I'd suggest putting all of this in a sub
directory instead of directly in your basedir:
C:\RAD7\workspace\OFACAD\dist\jar
C:\RAD7\workspace\OFACAD\dist\source

or something like that (replace dist by whatever you like, build, target,
artifacts, ...). This is just to make something cleaner, and because Ivy
will create a third directory called ivy (to put the ivy file just before
publishing it).

HTH,

Xavier

-----Message d'origine-----
> De: Bhatia Saurabh [mailto:Bhatia@OFAC.CH]
> Envoyé: lundi, 2. juillet 2007 15:12
> À: ivy-user@incubator.apache.org
> Objet: RE: Source in eclipse IvyDE
>
> I am able to publish the sources fine but now I get sources in the /jars
> too :-(
>
> <publications>
>         <artifact name="OFACAD" type="jar"/>
>         <artifact name="OFACAD" type="source" ext="jar"/>
> </publications>
>
> <target name="publish-jar" depends="make-jar" description="-> publish this
> project's jar in the ivy repository for a specific revision">
>                 <ivy:publish resolver="shared"
> artifactspattern="${jar}/[artifact].[ext]" pubrevision="${revision}" />
>                 <ivy:publish resolver="shared"
> artifactspattern="${src}/[artifact].[ext]" pubrevision="${revision}" />
>         </target>
>
> -----Message d'origine-----
> De: Maarten Coene [mailto:maarten_coene@yahoo.com]
> Envoyé: lundi, 2. juillet 2007 12:52
> À: ivy-user@incubator.apache.org
> Objet: Re: Source in eclipse IvyDE
>
> Hi Alex,
>
> we use the following setup which works with IvyDE 1.2.
>
> the patterns for jar and corresponding source file is:
>
> jar: lib/[artifact]-[revision].jar
> source: src/[artifact]-[revision]-src.zip
>
> I use the following pattern for my local filesystem repository:
>
> <artifact
> pattern="${repository}/[module]/[module]-[revision]/[type]/[artifact]-[revision].[ext]"
> />
> <artifact
> pattern="${repository}/[module]/[module]-[revision]/[type]/[artifact]-[revision]-src.[ext]"
> />
>
> My Ivy files defines 2 artifacts:
>
> <publications>
>     <artifact name="mymodule" type="jar" ext="jar" />
>     <artifact name="mymodule" type="src" ext="zip"/>
> </publications>
>
>
> regards,
> Maarten
>
>
>
>
>
> ----- Original Message ----
> From: "Foreman, Alex (IT)" <Alexander.Foreman@morganstanley.com>
> To: ivy-user@incubator.apache.org
> Sent: Monday, July 2, 2007 12:19:04 PM
> Subject: RE: Source in eclipse IvyDE
>
> HI,
> John, I actually tried this before I posted.  I'm am intrigued that you
> claim it works as It doesn't completely for me.
>
> I have had:
> <artifact name="library" type="jar" ext="jar" />
> <artifact name="library" type="source" ext="src.jar" />
>
> As you state but when I click on the source it says source not attached.
> When I go to the properties for the jar I have included the source to I
> get a Location path for the source attachment which is
> 'cache/org/library/sources/library.jar'  OFC if I change this to
> 'cache/org/library/sources/library.src.jar' I can see the source
> perfectly.
>
> This is not acceptable for our enviroment as we have projects with tens
> of different jars and developers are not going to be happy or at there
> most productive if they have to do this for every jar.  (imagine
> debugging :( ).  If this happened perfectly for you I would like to know
> what version of IvyED / eclipse you used and the steps that you took so
> I can find out what I did wrong.
> It is copying the source/jars over correctly but not pointing to them in
> eclipse.
>
> One of the nice things abuot ivy is the seperation of ivy meta data from
> the actual data.  It's therefore a shame that ivy/ivyde doesn't seem to
> recognize that source and jars can be in differnet locations.
>
> I think this would solve the problems but am not sure if it would need
> to be fixed in ivyDE.  If url="" was used first to search for the
> artifact you could have:
> <artifact name="library" type="jar" ext="jar" />
> <artifact name="library" type="source" ext="src.jar"
> url="/../../<org>/library/library.src.jar" />
>
> And we would grab this first and presumably be used by ivyDe correctly.
>
> Is the src.jar not being added just a small bug in ivyDE using [.jar] by
> default instead of [ext] at the end?
>
> I am really grateful for your replies and help.  We are highly
> interested in this but this is the major blocker atm so any resolution
> is great.  We really need the ability to automatically attach the source
> with no developer input needed.
>
> I also saw the post about adding source similar to maven2 by having a
> postfix.  Maybe this would resolve the problem in a better way?
>
> Many thanks,
>
> Alex
>
> -----Original Message-----
> From: Xavier Hanin [mailto:xavier.hanin@gmail.com]
> Sent: 29 June 2007 09:29
> To: ivy-user@incubator.apache.org
> Subject: Re: Source in eclipse IvyDE
>
> On 6/29/07, John Gill <llignhoj@gmail.com> wrote:
> >
> > That's a very clever trick Frank. Why didn't I think of that?
>
>
> Neither did I :-) It's the power of a community, hundreds of brains are
> much better than one :-)
>
> Xavier
>
> On 6/29/07, Frank Kemmer <frank.kemmer@gmail.com> wrote:
> > >
> > > On 6/28/07, Xavier Hanin <xavier.hanin@gmail.com> wrote:
> > > > John is right, the source artifact must have the same name as the
> > > artifact
> > > > itself ATM, so the only way to make it work is to checkout the
> > > > IvyDE
> > > sources
> > > > from svn, hack in the IvyClasspathContainer source and make it
> > > > work
> > for
> > > you.
> > > > If you find a generic enough way to declare how to associate a jar
> > with
> > > a
> > > > source artifact, we'll be happy to integrate a patch :-)
> > > >
> > > > > > > And then the ivy file has this inside it:
> > > > > > > <artifact name="library" type="jar" ext="jar" />
<artifact
> > > > > > > name="library.src" type="source" ext="jar" />
> > >
> > > for me the following worked (I think only the artifact name has to
> > > be the same, the extension can be different):
> > >
> > > <artifact name="library" type="jar" ext="jar" /> <artifact
> > > name="library" type="source" ext="src.jar" />
> > >
> > > With this setting mylib.src.jar will be accepted as valid source
> > > attachment for mylib.jar.
> > >
> > > My 2 cents ...
> > >
> > > Frank
> > >
> >
> >
> >
> > --
> > Regards,
> > John Gill
> >
>
>
>
> --
> Xavier Hanin - Independent Java Consultant Creator of Ivy, xooki and
> xoocode.org More about me: http://xhab.blogspot.com/
> --------------------------------------------------------
>
> NOTICE: If received in error, please destroy and notify sender. Sender
> does not intend to waive confidentiality or privilege. Use of this email is
> prohibited when received in error.
>
>
>
>
>
>
>       ____________________________________________________________________________________
> Park yourself in front of a world of choices in alternative vehicles.
> Visit the Yahoo! Auto Green Center.
> http://autos.yahoo.com/green_center/
>



-- 
Xavier Hanin - Independent Java Consultant
Creator of Ivy, xooki and xoocode.org
More about me: http://xhab.blogspot.com/

Mime
View raw message