Je veux lire un pom.xml ('Project Object Model' de Maven) et extraire les informations de version. Voici un exemple:
<?xml version="1.0" encoding="UTF-8"?><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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>project-parent</artifactId>
<name>project-parent</name>
<version>1.0.74-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.sybase.jconnect</groupId>
<artifactId>jconnect</artifactId>
<version>6.05-26023</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
Comment puis-je extraire la version '1.0.74-SNAPSHOT' d'en haut?
J'adorerais pouvoir le faire en utilisant un script bash simple sed ou awk. Sinon, un simple python est préféré.
ÉDITER
Contrainte
La boîte Linux est dans un environnement d'entreprise, donc je ne peux utiliser que des outils déjà installés (pas que je ne puisse pas demander d'utilitaire comme xml2, mais je dois passer par beaucoup de paperasserie). Certaines des solutions sont très bonnes (apprenez déjà quelques nouvelles astuces), mais elles peuvent ne pas être applicables en raison de l'environnement restreint
liste xml mise à jour
J'ai ajouté la balise de dépendances à la liste d'origine. Cela montrera qu'une solution hacky peut ne pas fonctionner dans ce cas
Distro
La distribution que j'utilise est RHEL4