cygwin を使用して次のタスクを達成しようとしています。
「IC_Maven_AB_Parent」と「IC_Maven_DE_Parent」の ID を持つ親と依存関係のバージョンを抽出します。
(これは私のタスクのコア部分であり、何千もの pom.xml ファイルに再帰的に適用します)
入力:
<?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>as.ic.ecommerce</groupId>
<artifactId>ASB_Ecommerce</artifactId>
<packaging>pom</packaging>
<version>1.5.8-SNAPSHOT</version>
<parent>
<groupId>as.ic.maven</groupId>
<artifactId>IC_Maven_AB_Parent</artifactId>
<version>7.2</version>
</parent>
<dependencyManagement>
<dependency>
<groupId>as.ic.maven</groupId>
<artifactId>IC_Maven_External_Dependencies</artifactId>
<version>${ic.external.dep.version}</version>
</dependency>
<dependency>
<groupId>as.ic.maven</groupId>
<artifactId>IC_Maven_DE_Parent</artifactId>
<version>6.2</version>
</dependency>
</dependencyManagement>
</project>
私が使用するスクリプト:
#!/bin/bash
grep -q 'IC_Maven_AB_Parent\|IC_Maven_DE_Parent' pom.xml
if [ "$?" -eq 0 ]; then
xmlstarlet sel -N x=http://maven.apache.org/POM/4.0.0 -t -v /x:project/x:parent/x:artifactId -o "......" -v /x:project/x:parent/x:version pom.xml
fi
「IC_Maven_DE_Parent」の依存関係を含まない出力:
IC_Maven_AB_Parent......7.2
そして、これが私が出力として期待するものです:
IC_Maven_AB_Parent......7.2
IC_Maven_DE_Parent......6.2
したがって、重要な課題は、2番目の依存関係を特定するのに問題があることです。コメントはありますか?