如何在 Javascript 任务中解析 Apache ANT 中的变量
How to resolve variables in Apache ANT inside Javascript task
我正在通过此任务从 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
接受一个字符串和 returns 字符串。即:
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]);
我正在通过此任务从 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
接受一个字符串和 returns 字符串。即:
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]);