Ant 副本无法解释 %2527
Ant copy cannot interpret %2527
我处于以下情况:我正在使用 ant
将某些 salesforce files
迁移到其他 salesforce 环境。业务用户还在 Salesforce 上 开发,这就是为什么有时他们在名称中使用特殊字符的原因。我有一个名为 Contracts_Product__c-Contract%27s Option Layout.layout (Mind the %27 in it)
的文件。这就是 Salesforce 将此文件发送给我的方式,所以我对此没有任何影响。
现在在我的脚本中的某处,我需要将此文件复制到另一个位置,所以我使用以下命令:
<copy file="${svn.sources}/${object-test}" tofile="${release.sources}/${object-test}"/>
object-test 属性 的内容是 /home/../layouts/Contracts_Product__c-Contract%2527s%20Option%20Layout.layout
,这通常正是我需要的文件名 (%2527 decodes to %27)
但是 ant 抱怨找不到文件。
关于如何在不更改源文件名的情况下解决此问题的任何提示?
我自己找到了解决方案。通过在将路径传递给 ant-copy 命令之前将一些 javascript 添加到 URL-decode 路径,ant 接受它并成功复制文件,包括输出文件名中的 %27。
需要的代码:
<script language="javascript">
<![CDATA[
var urltodecode = project.getProperty("object");
var decodedurl = decodeURIComponent(urltodecode);
// Set a new property which could be retrieved by the ant script
project.setProperty("objectDecoded", decodedurl);
]]>
</script>
我处于以下情况:我正在使用 ant
将某些 salesforce files
迁移到其他 salesforce 环境。业务用户还在 Salesforce 上 开发,这就是为什么有时他们在名称中使用特殊字符的原因。我有一个名为 Contracts_Product__c-Contract%27s Option Layout.layout (Mind the %27 in it)
的文件。这就是 Salesforce 将此文件发送给我的方式,所以我对此没有任何影响。
现在在我的脚本中的某处,我需要将此文件复制到另一个位置,所以我使用以下命令:
<copy file="${svn.sources}/${object-test}" tofile="${release.sources}/${object-test}"/>
object-test 属性 的内容是 /home/../layouts/Contracts_Product__c-Contract%2527s%20Option%20Layout.layout
,这通常正是我需要的文件名 (%2527 decodes to %27)
但是 ant 抱怨找不到文件。
关于如何在不更改源文件名的情况下解决此问题的任何提示?
我自己找到了解决方案。通过在将路径传递给 ant-copy 命令之前将一些 javascript 添加到 URL-decode 路径,ant 接受它并成功复制文件,包括输出文件名中的 %27。
需要的代码:
<script language="javascript">
<![CDATA[
var urltodecode = project.getProperty("object");
var decodedurl = decodeURIComponent(urltodecode);
// Set a new property which could be retrieved by the ant script
project.setProperty("objectDecoded", decodedurl);
]]>
</script>