如何从 ant 中的目标 "inherit"
How to "inherit" from a target in ant
我有一个如下形式的目标
<target name="runTool" depends="build">
<java className="ToolMain" fork="true" clonevm="true" failonerror="true">
<arg......>
<jvmarg.....>
....
</target>
我想为调试路径添加一个额外的目标,它具有与此相同的所有其他参数,但有一个额外的参数用于侦听调试端口。
<target name="runTool-debug" depends="build">
...same program ....
......and same args......
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"/>
</target>
在不复制整个目标的情况下实现此目标的最佳方法是什么?
定义一个名为 debug.flag
的 属性,当它被设置为 true
:
时,用它来添加额外的参数
<target name="runTool" depends="build">
<condition property="debug.jvmargs"
value="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
else="">
<equals arg1="${debug.flag}" arg2="true" />
</condition>
<java className="ToolMain" fork="true" clonevm="true" failonerror="true">
<arg......>
<jvmarg.....>
<jvmarg value="${debug.jvmargs}" />
....
</target>
在condition
任务中,当debug.flag
为真时,debug.jvmargs
设置为-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n
,否则为空。
要将 属性 设置为 true
,您可以 运行 ant -Ddebug.flag=true ...
。
我有一个如下形式的目标
<target name="runTool" depends="build">
<java className="ToolMain" fork="true" clonevm="true" failonerror="true">
<arg......>
<jvmarg.....>
....
</target>
我想为调试路径添加一个额外的目标,它具有与此相同的所有其他参数,但有一个额外的参数用于侦听调试端口。
<target name="runTool-debug" depends="build">
...same program ....
......and same args......
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"/>
</target>
在不复制整个目标的情况下实现此目标的最佳方法是什么?
定义一个名为 debug.flag
的 属性,当它被设置为 true
:
<target name="runTool" depends="build">
<condition property="debug.jvmargs"
value="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
else="">
<equals arg1="${debug.flag}" arg2="true" />
</condition>
<java className="ToolMain" fork="true" clonevm="true" failonerror="true">
<arg......>
<jvmarg.....>
<jvmarg value="${debug.jvmargs}" />
....
</target>
在condition
任务中,当debug.flag
为真时,debug.jvmargs
设置为-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n
,否则为空。
要将 属性 设置为 true
,您可以 运行 ant -Ddebug.flag=true ...
。