Call ant target multiple times with different parameters

后端 未结 1 934
孤城傲影
孤城傲影 2021-01-05 03:36

Is it possible in Ant to call the same target multiple times with different parameters?

My command looks like the following:

ant unittest -Dproject=\         


        
相关标签:
1条回答
  • 2021-01-05 04:30

    You could add another target to invoke your unittest target twice, with different parameters, using the antcall task e.g.

    <project name="test" default="test">
    
        <target name="test">
            <antcall target="unittest">
                <param name="project" value="proj1"/>
            </antcall>
            <antcall target="unittest">
                <param name="project" value="proj2"/>
            </antcall>
        </target>
    
        <target name="unittest">
            <echo message="project=${project}"/>
        </target>
    
    </project>
    

    Output:

    test:
    
    unittest:
         [echo] project=proj1
    
    unittest:
         [echo] project=proj2
    
    BUILD SUCCESSFUL
    Total time: 0 seconds
    

    Alternatively, you could change the unittest target to be a macrodef:

    <project name="test" default="test">
    
        <target name="test">
            <unittest project="proj1"/>
            <unittest project="proj2"/>
        </target>
    
        <macrodef name="unittest">
            <attribute name="project"/>
            <sequential>
                <echo message="project=@{project}"/>
            </sequential>
        </macrodef>
    
    </project>
    
    0 讨论(0)
提交回复
热议问题