Comment manipuler XML à partir de la ligne de commande dans un script shell?
Il existe de nombreuses commandes pour manipuler les données tabulaires, remplacer la variable d'environnement ou remplacer les fragments de texte par regex, mais je n'ai rien trouvé pour XML.
Mon script de construction doit insérer une balise avec du contenu dans la balise principale du document xml, et je trouve cela exagéré d'installer java, perl ou python dans le système d'exploitation à cet effet (mes scripts sont effectués dans gitlab avec des images de docker, ce faisant mon travail avec les outils disponibles dans maven: l'image 3,5-jdk-8 serait un rêve).
Je ne veux pas manipuler XML avec sed, bien que dans mon script de construction cela fonctionnerait, car c'est mal .
Exemple: j'ai le xml suivant:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- a lot of other tags-->
</project>
Et je veux insérer le bloc suivant:
<distributionManagement>
<repository>
<id>private-releases</id>
<url>https://my.private.server.com/nexus/repository/maven-releases/</url>
</repository>
</distributionManagement>
à l'intérieur de la balise de projet (et cela n'a pas vraiment d'importance si ce sera au début ou à la fin.
maven
- je pense qu'il y a une meilleure façon de faire ce que vous essayez de faire au sein de Maven lui-même.