如果pom验证出现警告,如何让mvn安装失败?

pvabu6sv  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(378)

我启动了一个maven构建(来自localenv或jenkins),它有一些警告,例如:

[WARNING] Some problems were encountered while building the effective model for com.example:application:jar:1.0-SNAPSHOT
[WARNING] some random warning @ com.example:application:${project.version}, /var/jenkins_home/workspace/com-example/example/pom.xml, line 14, column 11

如果出现这种警告,有没有办法让mvn构建失败?
让我澄清一下:
我不需要特定参数的解决方案(project.version变量)
我跑步的时候需要这个

mvn install

我得到一个“[警告]…一些东西”
mvn构建失败,我得到了1作为进程的返回代码:

mvn install
...
[WARNING]...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
jgwigjjp

jgwigjjp1#

解决方法实际上比预期的要简单。只是需要一个小脚本来运行构建。我省略了soem env vars。
另外,我发现使用“pipe”操作符隐藏了第一个命令的结果,并且我发现可以使用pipestatus env var获得特定管道阶段的结果

./mvnw $MVN_CLI_OPTS -f $1 $2 | tee build.log
if [[ "${PIPESTATUS[0]}" == "1" ]]; then
    echo "mvn build failed"
    return 1
fi

# this will grep only in the first n rows of the log

head -n30 build.log | grep -in "\[WARNING\]"
if [[ ! -z "$FAIL_ON_WARNING" && $? == 0 ]]; then
    echo "--------------------------------------"
    echo "PLEASE FIX MAVEN BUILD WARNINGS AND RETRY"
    echo "BUILD STATUS: FAILED"
    echo "--------------------------------------"
    return 1
fi

相关问题