Я хотел бы создать декларативный конвейер, чтобы удалить все s под элементом и добавить разные s для ниже pom. xml file:
<modelVersion>4.0.0</modelVersion>
-<parent>
<groupId>groupid</groupId>
<artifactId>artifactid</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>path/to/other/pom.xml</relativePath>
</parent>
<groupId>groupid</groupId>
<artifactId>artifactid</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<description>my project</description>
-<modules>
<module>one</module>
<module>two</module>
<module>three</module>
<module>four</module>
<module>five</module>
</modules>
Я написал ниже groovy script, который делает что я хочу, но я не могу запустить скрипт в декларативном конвейере Jenkins.
'' '
#!/usr/bin/env groovy
def xmlFile = new File('pom.xml')
def pom = new XmlParser().parse(xmlFile)
def pomNodes = pom.children()
pomNodes.module.each{
print it.text()
it.parent().remove(it)
}
def newModule = new Node(pomNodes[7], 'module', 'severn')
new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).print(pom)
' ''
On https://www.jenkins.io/doc/pipeline/steps/pipeline-utility-steps/ сказал использовать нижеприведенные утилиты, но что мне следует использовать для манипуляций?
def pom = readMavenPom file: 'pom. xml'
// Сделайте некоторые манипуляции
написать модель MavenPom: пом