Running Sonar from ant for subprojects

I am trying to integrate Sonar into my ant build script. I am able to make it work if I edit the build file of respective child projects by adding

<!-- 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>

as defined in https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-ant/

Now I want to move this config a level up from the sub project level to the root level so that I need to edit just one build file.

I was not able to move the above block as such since root project does not have a src folder and ant complained about that. So I tried to have a subant task for this.

<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>

But for this I get the following error:

subant doesn’t support the nested “taskdef” element.

Is there any workaround for this?