gpt4 book ai didi

ant - 使用纯Ant实现if else条件(检查命令行输入)

转载 作者:行者123 更新时间:2023-12-03 15:10:08 24 4
gpt4 key购买 nike

我是 Ant 的新手。我的 ant 脚本从命令行接收名为“ env ”的用户输入变量:

例如ant doIt -Denv=test
用户输入值可以是“test”、“dev”或“prod”。

我也有“doIt”目标:

<target name="doIt">
//What to do here?
</target>

在我的目标中,我想创建以下 否则 我的 Ant 脚本的条件:
if(env == "test")
echo "test"
else if(env == "prod")
echo "prod"
else if(env == "dev")
echo "dev"
else
echo "You have to input env"

那是检查用户从命令行输入的值,然后相应地打印一条消息。

我知道 Ant 贡献 , 我可以用 <if> <else> 编写 ant 脚本. 但是对于我的项目,我想使用纯Ant来实现 否则 健康)状况。可能,我应该使用 <condition> ??但是我不确定如何使用 <condition>对于我的逻辑。有人可以帮我吗?

最佳答案

您可以创建几个目标并使用 if/unless标签。

<project name="if.test" default="doIt">

<target name="doIt" depends="-doIt.init, -test, -prod, -dev, -else"></target>

<target name="-doIt.init">
<condition property="do.test">
<equals arg1="${env}" arg2="test" />
</condition>
<condition property="do.prod">
<equals arg1="${env}" arg2="prod" />
</condition>
<condition property="do.dev">
<equals arg1="${env}" arg2="dev" />
</condition>
<condition property="do.else">
<not>
<or>
<equals arg1="${env}" arg2="test" />
<equals arg1="${env}" arg2="prod" />
<equals arg1="${env}" arg2="dev" />
</or>
</not>
</condition>
</target>

<target name="-test" if="do.test">
<echo>this target will be called only when property $${do.test} is set</echo>
</target>

<target name="-prod" if="do.prod">
<echo>this target will be called only when property $${do.prod} is set</echo>
</target>

<target name="-dev" if="do.dev">
<echo>this target will be called only when property $${do.dev} is set</echo>
</target>

<target name="-else" if="do.else">
<echo>this target will be called only when property $${env} does not equal test/prod/dev</echo>
</target>

</project>

使用 - 的目标前缀是私有(private)的,因此用户将无法从命令行运行它们。

关于ant - 使用纯Ant实现if else条件(检查命令行输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com