Ant构建中使用JS脚本方法
程序员文章站
2022-04-25 22:00:53
...
Ant的构建脚本中可以嵌入脚本,包括JS、Groovy、Ruby等。
以集成平台3.0发布的构建脚本为例,说明一下Ant构建嵌入JS的方法。
一、引入依赖包
ant-contrib-1.0b3.jar
bsf-2.4.0.jar
js.jar
二、语法
<script language="javascript"> <classpath /> <![CDATA[ {js代码} ]]> </script> |
Language可选javascript、groovy、ruby。
Javascript脚本引入js.jar、groovy引入groovy.jar。
三、JS变量访问
Project是内置变量,可以直接访问。在ant里定义的properties可以用以下代码获得
project.getProperty("release.local.export.path");
当然也可以修改ant的属性
project.setProperty("source.view.dir",files[0]);
四、案例说明
集成平台3.0发布规则,将开发流的代码复制到发布流,目录带发布日期和版本信息。发布代码的目录是变态变化的,每次发版,目录名称都会变化。发布程序需要调用发布代码里的构建脚本,因此,必须要解决取得发布目录的难题。
以下脚本通过JS代码获取发布代码目录。
<!-- 找出最新的发布流程序保存的目录名称 --> <target name="init.path" depends="export.release"> <script language="javascript"> <classpath refid="js.classpath" /> <![CDATA[ importClass(java.io.File); importClass(java.io.FilenameFilter); importClass(java.util.regex.Matcher); importClass(java.util.regex.Pattern); path = project.getProperty("release.local.export.path"); root = new File(path); if(root.exists() && root.isDirectory()){ files = root.listFiles(); if(files.length>0){ project.setProperty("source.view.dir",files[0]); } } ]]> </script> <echo>${source.view.dir}</echo> </target> |