我通过这个任务从Apache ANT调用javascript:
<property name="myprop" value="someval" />
<script language="javascript" src="mytask.js" />
在 js 中,我有变量foo
:
var foo = '${myprop} - bar';
如何解析拥有 ANT 文件的属性的变量foo
?
根据script
任务文档中的示例,可以从提供的project
引用中检索属性:
<property name="fs.dir" value="src"/>
<target name="main">
<script language="javascript"> <![CDATA[
// Access to Ant-Properties by their names
dir = project.getProperty("fs.dir");
有一个未记录的方法project.replaceProperties
它接受一个字符串并返回该字符串。即:
project.replaceProperties('foo - ${myprop}');
我通过运行以下代码发现了它,该代码列出了给定 Java 对象中的所有方法:
function log(str)
{
var echo = project.createTask("echo");
echo.setMessage(str);
echo.perform();
}
function getAllMethods(object) {
return Java.from(object.class.getDeclaredMethods());
}
var all = getAllMethods(project);
for(var a = 0; a < all.length; a++)
log(all[a]);