ant:主机为localhost时拦截sshexec调用

时间:2015-01-28 22:16:03

标签: ant ssh

我获得了一大堆项目ant脚本。该脚本对远程计算机使用了许多sshexec和scp调用。我需要更改它以使程序在本地运行,如果需要,所以我想拦截这些远程调用并用exec替换sshexec,用cp替换scp。

示例调用将是:

<sshexec host="${host}" username="${username}" password="${password}" trust="true" usepty="true" command="echo '${password}' | sudo -S ntpdate ${maintain.sync-time.server}" failonerror="false" />

我需要能够检查$ {host}是remotehost还是localhost,如果localhost我使用exec而不是

现在的问题是:有没有办法避免一个接一个地改变所有的调用(它们在项目中乱七八糟)或有没有办法拦截调用,检查变量然后决定使用sshexec或exec?

1 个答案:

答案 0 :(得分:0)

在java中创建一个新的Ant任务,然后在构建脚本上进行正则表达式替换?