pom_xpath_inject
POM_XPATH_INJECT(7) Java Packages Tools POM_XPATH_INJECT(7)
NAME
pom_xpath_inject - inject code into XML file
SYNOPSIS
%pom_xpath_inject XPath XML-code [XML-file-location]...
DESCRIPTION
This macro patches specified XML file appending given code as children
of all XML nodes described by the XPath expression.
XPath is an expression describing a set of XML nodes in the XML file to
which child code is to be appended. It must be a properly formated
XPath 1.0 expression, as described in http://www.w3.org/TR/xpath/.
Maven POM files use specific XML namespace
http://maven.apache.org/POM/4.0.0 as default. This namespace needs to
be explicitly specified in XPath expressions by prefixing all node
names with pom: (i.e. pom:modelVersion).
Many other XML formats also use namespaces which you have to explicitly
specify. This script will use the namespace prefix names from the xmlns
declarations in the document’s root element. So if the document begins
with <root xmlns:my="myurl.com"> you would select the root node with
XPath expression /my:root. If the document specifies a default
namespace (e.g. xmlns="myurl.com") use the prefix named default to
acces elements in that namespace.
XML location can be either a full path to the XML, or a path to the
directory containing pom.xml or ivy.xml. If XML location is not given
then pom.xml or ivy.xml from current working directory is used. When
both pom.xml and ivy.xml are present, pom.xml is processed. You can
specify more file locations.
EXAMPLES
%pom_xpath_inject pom:project "<packaging>war</packaging>" - this call
sets packaging of POM in current working directory to war.
%pom_xpath inject configurations '<conf name="test"/>' - this adds a
new configuration to the Ivy file in current working directory.
AUTHOR
Written by Mikolaj Izdebski.
REPORTING BUGS
Bugs should be reported through Java Packages Tools issue tracker at
Github: https://github.com/fedora-java/javapackages/issues.
SEE ALSO
pom_add_dep(7), pom_add_parent(7), pom_add_plugin(7),
pom_disable_module(7), pom_remove_dep(7), pom_remove_parent(7),
pom_remove_plugin(7), pom_change_dep(7), pom_set_parent(7),
pom_xpath_remove(7), pom_xpath_replace(7), pom_xpath_set(7).
JAVAPACKAGES 01/29/2020 POM_XPATH_INJECT(7)