ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles Scokart" <gscok...@gmail.com>
Subject RE: 1.4.1 incompatibility with 1.4.0 ?
Date Tue, 28 Nov 2006 08:33:56 GMT
Actually, there is a 'é' inside a comment in my ivy file.  In my source
tree, the ivy.xml is written with the correct encoding.  In the cache the
resolved-XXX.xml prolog say UTF-8, but is written using the default
encoding.

I updated XMLModuleDescriptionUpdater and XmlModuleDescriptor (the classes
who are writing the invalid file in the cache) in order to force the prolog
(if present) and the character-set to UTF-8.  I will enter a jira issue,
with the patch.

By the way, I saw that in some case you actually make a complete copy of the
original ivy.xml, including the comments.  What are the reason for that?


Gilles

> -----Original Message-----
> From: Xavier Hanin [mailto:xavier.hanin@gmail.com] 
> Sent: Monday, November 27, 2006 6:38 PM
> To: ivy-user@incubator.apache.org
> Subject: Re: 1.4.1 incompatibility with 1.4.0 ?
> 
> On 11/27/06, Gilles Scokart <gscokart@gmail.com> wrote:
> >
> >
> >
> > Strange :
> > Caused by: java.text.ParseException: Invalid byte 2 of 3-byte UTF-8 
> > sequence. in file:/C:/Documents and Settings/gscokar 
> > t/.ivy/cache/resolved-XXX-core-working@XXXX.xml
> 
> 
> Yes, this is strange. Maybe you changed of java version 
> between the time of file writing and parsing.
> 
> I guess there is a encoding missing somewhere.  I will continue to
> > investigate to find who write this XML (and check if the 
> XML is indeed 
> > incorrect).  If I find something, I will introduce a Jira issue.
> 
> 
>  The fille is written in Ivy.resolve method (Ivy.java:1142).
> 
> Thanks for you help.
> >
> > By the way, what is the support java version?  
> (IllegalStateException 
> > seems to accept a chained Throwable parameter only since 1.5?).
> 
> 
> JDK 1.4 supports chained exception with ex.initCause(cause).  
> JDK 1.5 only
> eases the process of initializing the cause within the ISE 
> constructor.
> 
> Xavier
> 
> Gilles
> >
> >
> > > -----Original Message-----
> > > From: Xavier Hanin [mailto:xavier.hanin@gmail.com]
> > > Sent: Friday, November 24, 2006 12:18 PM
> > > To: ivy-user@incubator.apache.org
> > > Subject: Re: 1.4.1 incompatibility with 1.4.0 ?
> > >
> > > On 11/24/06, Gilles Scokart <gscokart@gmail.com> wrote:
> > > >
> > > >
> > > > I just migrated to 1.4.1 (I know, it is late).
> > > >
> > > > My project is a mutli-module project.  The first module
> > > build correctly.
> > > > But when I build the second one, I got the next error :
> > > >
> > > > build_base.xml:203: impossible to publish artifacts for [
> > > XXXX | core
> > > > | <mailto:working@XXXX> working@XXXX ]: impossible to
> > > deliver [ XXXX |
> > > > core
> > > > |
> > > > <mailto:working@XXXX> working@XXXX ]:
> > > java.lang.IllegalStateException:
> > > > bad ivy file in cache for [ XXXX | core |
> > > <mailto:working@XXXX> working@XXXX]:
> > > > please clean and resolve again
> > > >
> > > >
> > > > My build perform successfully the resolve.  I retried, 
> and I always
> > > > get the same result.
> > > >
> > > >
> > > > If I delete the cache and go back to my 1.4.0 version, 
> the problem
> > > > disapear.
> > > >
> > > > Did anyone have an idea of where to serach for a solution?
> > >
> > >
> > > This is strange, certainly a bug, but difficult to know the
> > > cause. The problem is raised in this code:
> > >         URL ivyFileURL = null;
> > >         try {
> > >             ivyFileURL = ivyFile.toURL();
> > >             md =
> > > XmlModuleDescriptorParser.getInstance().parseDescriptor(this,
> > > ivyFileURL, validate);
> > >
> > > md.setResolvedModuleRevisionId(ModuleRevisionId.newInstance(mrid,
> > > revision));
> > >             md.setResolvedPublicationDate(pubdate);
> > >         } catch (MalformedURLException e) {
> > >             throw new RuntimeException("malformed url
> > > obtained for file "+ivyFile);
> > >         } catch (ParseException e) {
> > >             throw new IllegalStateException("bad ivy file 
> in cache for
> > > "+mrid+": please clean and resolve again");
> > >         }
> > >
> > > which is part of the deliver method on the Ivy class. The
> > > problem is that the message doesn't say much about the
> > > original ParseException... If you can compile Ivy from
> > > source, I'd suggest adding the ParseException as the cause of
> > > the ISE, so that you get more details.
> > >
> > > - Xavier
> > >
> > > SCOKART Gilles
> > > >
> > > > FUJITSU
> > > > Mommaertslaan 16a, B-1831 Diegem
> > > > Mob: +32 486 30 75 58
> > > > E-mail:  <mailto:gilles.scokart@be.fujitsu.com>
> > > > gilles.scokart@be.fujitsu.com
> > > > Web:  <http://www.fujitsu.com/be/> http://www.fujitsu.com/be/
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> >
> 


Mime
View raw message