ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: 1.4.1 incompatibility with 1.4.0 ?
Date Tue, 28 Nov 2006 08:46:48 GMT
On 11/28/06, Gilles Scokart <gscokart@gmail.com> wrote:
>
> 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?


The point is that the same code is used to update an ivy file during the
deliver step, and people complained about losing comments during this step.
In cache this is not really necessary to keep comments, but it doesn't hurt
too much.

Xavier

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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message