Aleksandar,
The Gerrit patch I have already works (the Gerrit verification build
passed) because ™ works in general. Of course that's the case
because no symbol table is needed; any XML parser can just parse the hex
value to determine the unicode character that's specified. It seems to
me not to be worth the effort to try to get ™ or any other named
entities that don't have built-in support, to work.
Does ™ versus ™ really matter? No one noticed the bad
characters in their before so who will notice this or care?
Regards,
Ed
|
|
On 30.08.2019 07:21, Aleksandar Kurtakov wrote:
On Fri, Aug 30, 2019 at 5:12 AM Ed Merks <ed.me...@gmail.com
<mailto:ed.me...@gmail.com>> wrote:
Aleksandar,
Yes, the initial patch set in
https://git.eclipse.org/r/#/c/148581/ produced this build:
https://ci-staging.eclipse.org/platform/job/eclipse.platform.releng.aggregator-Gerrit/1079/
Thanks for the pointer. So the issue is at p2 layer more specifically
ProductFile parser (not tycho) if it's an issue at all as ™ is
not valid xml entity at all [1] so the parser is correct. With that
said I'm unsure how to proceed on this one as it makes sense to be
able to use html entities. One idea is to define dtd file for product
files where entities can be listed.
[1]
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML
With this failure:
Downloaded from
tycho-snapshots:https://repo.eclipse.org/content/repositories/tycho-snapshots/org/eclipse/tycho/tycho-p2-repository-plugin/1.5.0-SNAPSHOT/tycho-p2-repository-plugin-1.5.0-20190829.120755-59.jar
(14 kB at 497 kB/s)
*16:33:37* [ERROR] Internal error: java.lang.RuntimeException:
Unable to parse the product file
/home/jenkins/workspace/eclipse.platform.releng.aggregator-Gerrit/eclipse.platform.releng.tychoeclipsebuilder/equinox.starterkit.product/EclipseRTOSGiStarterKit.product:
Problems parsing the product file
/home/jenkins/workspace/eclipse.platform.releng.aggregator-Gerrit/eclipse.platform.releng.tychoeclipsebuilder/equinox.starterkit.product/EclipseRTOSGiStarterKit.product.
The entity "trade" was referenced, but not declared. -> [Help 1]
*16:33:37* org.apache.maven.InternalErrorException: Internal error:
java.lang.RuntimeException: Unable to parse the product file
/home/jenkins/workspace/eclipse.platform.releng.aggregator-Gerrit/eclipse.platform.releng.tychoeclipsebuilder/equinox.starterkit.product/EclipseRTOSGiStarterKit.product
*16:33:37* at org.apache.maven.DefaultMaven.execute
(DefaultMaven.java:120)
*16:33:37* at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
*16:33:37* at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
*16:33:37* at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
*16:33:37* at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
*16:33:37* at java.lang.reflect.Method.invoke (Method.java:498)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
*16:33:37* Caused by: java.lang.RuntimeException: Unable to parse the
product file
/home/jenkins/workspace/eclipse.platform.releng.aggregator-Gerrit/eclipse.platform.releng.tychoeclipsebuilder/equinox.starterkit.product/EclipseRTOSGiStarterKit.product
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.getPublisherActions
(P2GeneratorImpl.java:289)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata
(AbstractMetadataGenerator.java:57)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:32)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:1)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.getDependencyMetadata
(P2DependencyResolver.java:148)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.setupProjects
(P2DependencyResolver.java:131)
*16:33:37* at
org.eclipse.tycho.core.resolver.DefaultTychoResolver.setupProject
(DefaultTychoResolver.java:97)
*16:33:37* at
org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead
(TychoMavenLifecycleParticipant.java:90)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:264)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:192)
*16:33:37* at org.apache.maven.DefaultMaven.execute
(DefaultMaven.java:105)
*16:33:37* at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
*16:33:37* at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
*16:33:37* at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
*16:33:37* at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
*16:33:37* at java.lang.reflect.Method.invoke (Method.java:498)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
*16:33:37* Caused by: org.eclipse.core.runtime.CoreException: Problems
parsing the product file
/home/jenkins/workspace/eclipse.platform.releng.aggregator-Gerrit/eclipse.platform.releng.tychoeclipsebuilder/equinox.starterkit.product/EclipseRTOSGiStarterKit.product.
*16:33:37* at
org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile.<init>
(ProductFile.java:253)
*16:33:37* at
org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile.<init>
(ProductFile.java:265)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.model.ProductFile2.<init>
(ProductFile2.java:29)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.getPublisherActions
(P2GeneratorImpl.java:287)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata
(AbstractMetadataGenerator.java:57)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:32)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:1)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.getDependencyMetadata
(P2DependencyResolver.java:148)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.setupProjects
(P2DependencyResolver.java:131)
*16:33:37* at
org.eclipse.tycho.core.resolver.DefaultTychoResolver.setupProject
(DefaultTychoResolver.java:97)
*16:33:37* at
org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead
(TychoMavenLifecycleParticipant.java:90)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:264)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:192)
*16:33:37* at org.apache.maven.DefaultMaven.execute
(DefaultMaven.java:105)
*16:33:37* at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
*16:33:37* at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
*16:33:37* at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
*16:33:37* at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
*16:33:37* at java.lang.reflect.Method.invoke (Method.java:498)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
*16:33:37* Caused by: org.xml.sax.SAXParseException: The entity "trade" was
referenced, but not declared.
*16:33:37* at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException
(ErrorHandlerWrapper.java:203)
*16:33:37* at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError
(ErrorHandlerWrapper.java:177)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
(XMLErrorReporter.java:400)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
(XMLErrorReporter.java:327)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError
(XMLScanner.java:1472)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference
(XMLDocumentFragmentScannerImpl.java:1902)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next
(XMLDocumentFragmentScannerImpl.java:3061)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
(XMLDocumentScannerImpl.java:602)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next
(XMLNSDocumentScannerImpl.java:112)
*16:33:37* at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:505)
*16:33:37* at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:842)
*16:33:37* at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse
(XML11Configuration.java:771)
*16:33:37* at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse (XMLParser.java:141)
*16:33:37* at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse
(AbstractSAXParser.java:1213)
*16:33:37* at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse
(SAXParserImpl.java:643)
*16:33:37* at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse
(SAXParserImpl.java:327)
*16:33:37* at
org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile.<init>
(ProductFile.java:242)
*16:33:37* at
org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile.<init>
(ProductFile.java:265)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.model.ProductFile2.<init>
(ProductFile2.java:29)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.P2GeneratorImpl.getPublisherActions
(P2GeneratorImpl.java:287)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.AbstractMetadataGenerator.generateMetadata
(AbstractMetadataGenerator.java:57)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:32)
*16:33:37* at
org.eclipse.tycho.p2.impl.publisher.DefaultDependencyMetadataGenerator.generateMetadata
(DefaultDependencyMetadataGenerator.java:1)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.getDependencyMetadata
(P2DependencyResolver.java:148)
*16:33:37* at
org.eclipse.tycho.p2.resolver.P2DependencyResolver.setupProjects
(P2DependencyResolver.java:131)
*16:33:37* at
org.eclipse.tycho.core.resolver.DefaultTychoResolver.setupProject
(DefaultTychoResolver.java:97)
*16:33:37* at
org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead
(TychoMavenLifecycleParticipant.java:90)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:264)
*16:33:37* at org.apache.maven.DefaultMaven.doExecute
(DefaultMaven.java:192)
*16:33:37* at org.apache.maven.DefaultMaven.execute
(DefaultMaven.java:105)
*16:33:37* at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
*16:33:37* at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
*16:33:37* at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
*16:33:37* at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
*16:33:37* at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
*16:33:37* at java.lang.reflect.Method.invoke (Method.java:498)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
*16:33:37* at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
*16:33:37* at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
So you can reproduce the problem by using ™ where where I've
now used |™
|
|https://git.eclipse.org/r/#/c/148581/1..3/eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/eclipse-junit-tests.product|
|And of course could likely reproduce it with any product file
that contains ||™ anywhere in the XML.
|
On 29.08.2019 22:23, Aleksandar Kurtakov wrote:
The first cause is that all the Platform's products have in
some way messed up the trademark symbol. I've opened this
Bugzilla and included a Gerrit commit with the fixes:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=550572
(Too bad Tycho doesn't like ™ but good that it's okay
with |™ |because I think using the actual unicode
symbol is just begging for someone to corrupt it again.)
Do you have reference/bug/reproducer about ^^? I would like to
see Tycho handling it fine.
_______________________________________________
platform-dev mailing list
platform-dev@eclipse.org <mailto:platform-dev@eclipse.org>
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev
--
Alexander Kurtakov
Red Hat Eclipse Team
_______________________________________________
platform-dev mailing list
platform-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev
_______________________________________________
platform-dev mailing list
platform-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev