pom_xpath_replace
POM_XPATH_REPLACE(7) Java Packages Tools POM_XPATH_REPLACE(7)
NAME
pom_xpath_replace - replace XML node from XML file with given code
SYNOPSIS
%pom_xpath_replace XPath XML-code [XML-file-location]...
OPTIONS
-r
Work in recursive mode. That means that given node is also replaced
in all enabled submodules of given POM file(s). Has no effect if
the file is not Maven POM.
-f
Do not throw an error when one of the specified files doesn’t
contain given node.
DESCRIPTION
This macro patches specified POM file removing all XML nodes described
by the XPath expression and injecting given XML code in their place.
XPath is an expression describing a set of XML nodes to be removed from
the POM file. 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 (eg 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.
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_inject(7), pom_xpath_remove(7), pom_xpath_set(7).
JAVAPACKAGES 07/21/2022 POM_XPATH_REPLACE(7)