更改Ant中的属性值

  • 本文关键字:属性 Ant 更改 ant
  • 更新时间 :
  • 英文 :


我不想在AntContrib任务中使用propertyregex,但我需要修改一个属性。我正在使用cabarc命令(我无法使<cab>任务正常工作),我需要去掉驱动器名称。

${basedir} = "D:somedirectoryblahblah"
${cwd} = somedirectoryblahblah"

我需要这个来去除cabarc中的路径(但仍然使用目录)。我最终做了以下事情:

<!-- Create a property set with just basedir -->
<!-- Needed for loadproperties to work -->
<propertyset id="cwd">
    <propertyref name="basedir"/>
</propertyset>
<loadproperties>
     <propertyset refid="cwd"/>
     <filterchain>
         <tokenfilter>
              <replaceregex pattern=".:\"
                   replace="cwd="/>
         </tokenfilter>
     </filterchain>
</loadproperties>

这是可行的,但它有点复杂,很难维护。

有更简单的方法吗?

进入凹槽;-)

<groovy>
properties.'cwd' = properties.'basedir'[3..-1]
</groovy>

或者使用Ant插件Flaka:

<project xmlns:fl="antlib:it.haefelinger.flaka" name="World">
  <!-- simple echo -->
  <fl:echo>#{replace('${basedir}', '$1' , '.:\\(.+)' )}</fl:echo>
  <!-- set property -->
  <fl:let>cwd := replace('${basedir}', '$1' , '.:\\(.+)' )</fl:let>
</project>

Disclosure=我将作为提交人参与Flaka项目

相关内容

  • 没有找到相关文章

最新更新