我正在尝试将 Sonar 集成到我的 ant 构建脚本中。如果我通过添加来编辑各个子项目的构建文件,我就可以使它工作
<!-- Define the SonarQube project properties. removing the rest of properties for representing the problem-->
<property name="sonar.sources" value="src" />
<!-- Define SonarScanner for Ant Target -->
<target name="sonar" xmlns:sonar="antlib:org.sonar.ant">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<!-- Update the following line, or put the "sonarqube-ant-task-*.jar" file in your "$HOME/.ant/lib" folder
<classpath path="path/to/sonar/ant/task/lib/sonarqube-ant-task-*.jar" />-->
</taskdef>
<!-- Execute SonarScanner for Ant Analysis -->
<sonar:sonar />
</target>
如https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-ant/中所定义
现在我想将此配置从子项目级别向上移动到根级别,这样我只需要编辑一个构建文件。
我无法移动上面的块,因为根项目没有 src 文件夹并且 ant 抱怨过这一点。所以我试图为此做一个重要的任务
<subant target ="sonar" xmlns:sonar="antlib:org.sonar.ant">
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<!-- Update the following line, or put the "sonarqube-ant-task-*.jar" file in your "$HOME/.ant/lib" folder
<classpath path="path/to/sonar/ant/task/lib/sonarqube-ant-task-*.jar" />-->
</taskdef>
<!-- Execute SonarScanner for Ant Analysis -->
<sonar:sonar />
</subant>
但为此我收到以下错误:
subant 不支持嵌套的“taskdef”元素。
有什么解决方法吗?