1

我正在尝试将 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”元素。

有什么解决方法吗?

4

0 回答 0