如何忽略失败的ant任务?

时间:2018-03-03 19:11:59

标签: ant ant-contrib failonerror

我有这个ant脚本,它从一个参数读取一个组件列表并运行其他ant任务(build.xml' s):

<for list="${components.locations}" param="component" failonany="false">
                <sequential>
                    <property name="@{component}" value="true"/>
                    <if>
                        <and>
                            <available file="${repository.location}/@{component}"/>
                            <available file="${repository.location}/${jars.location}"/>
                        </and>
                        <then>
                            <ant inheritAll="false" antfile="${repository.location}/@{component}/build.xml">
                                <!-- failonerror="false" -->
                                <property name="copy.libs" value="${copy.libs}"/>
                                <property name="repository.location" value="${repository.location}"/>
                                <property name="jars.location" value="${repository.location}/${jars.location}"/>
                            </ant>
                        </then>
                    </if>
                </sequential>
            </for>

问题是如果一个组件出现故障,脚本就不会继续下一个组件。

我尝试使用-k(-keep-going)参数运行,但它没有帮助。 我发现这个属性failonerror =&#34; false&#34;但它对于&#34; exec&#34;是有效的。任务并不能将它与&#34; ant&#34;任务或内部&#34;目标&#34;。

其他方向是&#34; failonany&#34; &#34; for&#34;的属性但我没有明确地设置它。

请你指点......

感谢。

1 个答案:

答案 0 :(得分:0)

首先,我建议删除ant-contrib.jar并且永远不要回头。相信我,你会帮自己一个忙。

您可以使用<TouchableOpacity style={{ borderWidth:1, borderColor:'rgba(0,0,0,0.2)', alignItems:'center', justifyContent:'center', width:70, position: 'absolute', bottom: 10, right: 10, height:70, backgroundColor:'#fff', borderRadius:100, }} > <Icon name="plus" size={30} color="#01a699" /> </TouchableOpacity> 任务在一组目录或文件上迭代Ant构建。只需定义subant并传递您需要的任何额外属性。

使用标准dirset的{​​{1}}属性来打开或关闭整个目标,而不是使用ant-contrib的<if>阻止。这是更安全和更好的做法。

target