Antrun double decodes xml escapes
---------------------------------
Key: MANTRUN-154
URL: http://jira.codehaus.org/browse/MANTRUN-154
Project: Maven 2.x Antrun Plugin
Issue Type: Bug
Affects Versions: 1.5
Environment: Maven 2.1.0; JDK 1.6.0_16; Windows 7
Reporter: Richard Atkins
If the contents of the antrun tasks or target element contain xml entities
escaping xml characters, those entities are decoded before antrun attempts to
pass the contents on to the ant parser. This will then cause errors when the
ant parser attempts to parse the contents.
This is known not to happen in antrun 1.4 or earlier, and it should be fixed to
work like it used to.
For example:
{code:xml}
<project>
...
<build>
<plugins>
...
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>doit</id>
<phase>validate</phase>
<configuration>
<tasks>
<exec executable="echo">
<arg line="Some "strange and
mysterious" result" />
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
{code}
will get the error:
{noformat}
[INFO] An Ant BuildException has occured: Element type "arg" must be followed
by either attribute specifications, ">" or "/>".
{noformat}
Full stack trace:
{code}
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An Ant BuildException
has occured: Element type "arg" must be fo
llowed by either attribute specifications, ">" or "/>".
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:703)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:54
0)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
a:371)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant
BuildException has occured: Element type "arg" must be
followed by either attribute specifications, ">" or "/>".
at
org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:278)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
... 16 more
Caused by: C:\work\src\scratch\runcheck\target\antrun\build-main.xml:5: Element
type "arg" must be followed by either at
tribute specifications, ">" or "/>".
at
org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:310)
at
org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:177)
at
org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:82)
at
org.apache.maven.plugin.antrun.AntRunMojo.execute(AntRunMojo.java:222)
... 18 more
Caused by: org.xml.sax.SAXParseException: Element type "arg" must be followed
by either attribute specifications, ">" or
"/>".
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:
195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.seekCloseOfStartTag(XMLDocumentFragmen
tScannerImpl.java:1391)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.ja
va:285)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocument
FragmentScannerImpl.java:2747)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScanne
rImpl.java:510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at
org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:297)
... 21 more
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira