AntActionInstallerListener action fails if it contains a variable reference containing a '&' character in its value at runtime

Description

If using AntActionInstallerListener with an AntActionSpec.xml resource containing variable references, and a variable in these references has the '&' character as value at the listener execution time, the installer fails with this stacktrace:

Environment

None

Activity

Show:
René Krell
January 26, 2017, 3:43 PM
Edited

This happens because the AntActionSpec.xml resource is read and substituted at once in SpecHelper before parsing it as XML.

The variable substitution should happen after the parsing for defined attribute values or embedded content where variables are actually to be resolved.

René Krell
January 27, 2017, 9:43 AM
Edited

The fix affects also the other built-in action listeners, although the biggest impact of this bug has been for AntActionListener:

  • AntActionInstallerListener

  • ConfigurationInstallerListener

  • BSFInstallerListener

  • RegistryInstallerListener

The fix should be non-breaking and rather improve the functionality.
Variables are solved in those attribute values and embedded contents which are mentioned in the documentation to be resolved (or should be mentioned).

Fixed

Assignee

René Krell

Reporter

René Krell

Impact

Functional - non-breaking and safe in existing environments

Components

Sprint

None

Fix versions

Affects versions

Priority

Medium
Configure