如果该目标存在于给定的ant build.xml文件中,我想在Jenkins中有条件地调用该目标。我尝试使用条件步骤,对build.xml文件的内容使用正则表达式匹配。
因此,我正在尝试使用ANT脚本文件build.xml检测ANT目标全部发布的存在,并且它存在,请调用它。
我正在使用表达式: ^。* publish-all。* $
带有标签: $ {FILE,path =“ build.xml”}
但是我遇到以下错误:
2019.06.28 15:49:19 Exception caught evaluating condition: [org.jenkinsci.plugins.tokenmacro.MacroEvaluationException: Unrecognized macro 'basedir' in '<?xml version="1.0" encoding="UTF-8"?>
2019.06.28 15:49:19 <project name="My Project" basedir="." default="publish-local">
2019.06.28 15:49:19
2019.06.28 15:49:19 <property file="${basedir}/build.properties"/>
之后是build.xml文件的其余内容,该文件包含所有发布目标。
它似乎正在尝试实际上解析令牌的build.xml文件,并使用ANT属性 $ {basedir} ,而不是像对待纯文本一样执行正则表达式符合我的预期。 有没有办法使它起作用,或者完全是另一种方法?