算术计算 属性
Compute property arithmetically
简而言之,我无法根据构建文件中的 属性 进行计算。
假设我有:
<property name="basedir" value="${project.basedir}" />
<--当前值73
我如何知道前 3 个构建(72,71
和 70
)或者我如何计算这些值(基于 basedir 属性)?
我试过了(无视补充):
<property name="basedir" value="${project.basedir}+1" />
<--但它连接了值:73+1
<property name="basedir" value="${project.basedir+1}" />
<--但这是错误的:build_${env.BUILD_NUMBER+1}
场景:删除旧版本(保留一些版本以防回滚)
P.S: 重复的 link 无效,因为这是通过 PHING 而非 蚂蚁
您可以为此使用 adhoc-task:
<?xml version="1.0"?>
<project default="main" phingVersion="2.11.0">
<property name="basedir" value = "73"/>
<adhoc-task name="increment"><![CDATA[
class increment extends Task {
private $value;
function setvalue($value) {
$this->value = $value;
}
function setProperty($property) {
$this->property = $property;
}
function main() {
$this->project->setProperty($this->property, ((int) $this->value + 1));
}
}
]]></adhoc-task>
<target name="main">
<echo>${basedir}</echo>
<increment value="${basedir}" property="basedir"/>
<echo>${basedir}</echo>
</target>
</project>
简而言之,我无法根据构建文件中的 属性 进行计算。
假设我有:
<property name="basedir" value="${project.basedir}" />
<--当前值73
我如何知道前 3 个构建(72,71
和 70
)或者我如何计算这些值(基于 basedir 属性)?
我试过了(无视补充):
<property name="basedir" value="${project.basedir}+1" />
<--但它连接了值:73+1
<property name="basedir" value="${project.basedir+1}" />
<--但这是错误的:build_${env.BUILD_NUMBER+1}
场景:删除旧版本(保留一些版本以防回滚)
P.S: 重复的 link 无效,因为这是通过 PHING 而非 蚂蚁
您可以为此使用 adhoc-task:
<?xml version="1.0"?>
<project default="main" phingVersion="2.11.0">
<property name="basedir" value = "73"/>
<adhoc-task name="increment"><![CDATA[
class increment extends Task {
private $value;
function setvalue($value) {
$this->value = $value;
}
function setProperty($property) {
$this->property = $property;
}
function main() {
$this->project->setProperty($this->property, ((int) $this->value + 1));
}
}
]]></adhoc-task>
<target name="main">
<echo>${basedir}</echo>
<increment value="${basedir}" property="basedir"/>
<echo>${basedir}</echo>
</target>
</project>