我曾尝试像下面那样使用readMavenPom来获取pom版本,因此,由于pom.xml文件已存在于项目目录的根目录中,因此该命令运行良好。
pom = readMavenPom file: 'pom.xml'
对于我们的某些项目,此pom.xml在项目存储库的根目录中将不可用,而是在父模块中可用,因此在这种情况下,我们将修改groovy脚本,如下所示。 >
pom = readMavenPom file: 'mtree-master/pom.xml'
只有两种可能性,即pom.xml文件将出现在根目录中或位于父模块内部。那么,有没有一种方法可以排除我们每次进行的这种定制?
答案 0 :(得分:0)
我将使用fileExisits
检查文件是否存在于特定位置:
def pomPath = 'pom.xml'
if (!(fileExists pomPath)) {
pomPath = 'mtree-master/pom.xml'
}
pom = readMavenPom file: pomPath
奖励:检查多个路径
def pomPaths = ['pom.xml', 'mtree-master/pom.xml']
def pomPath = ''
for (def path : pomPaths) {
if (fileExists path) {
pomPath = path
break
}
}
// check that pomPath is not empty and carry on