Ant构建中使用JS脚本方法

Ant的构建脚本中可以嵌入脚本,包括JSGroovyRuby等。
以集成平台3.0发布的构建脚本为例,说明一下Ant构建嵌入JS的方法。

一、引入依赖包
        ant-contrib-1.0b3.jar
        bsf-2.4.0.jar
        js.jar

二、语法

<script language="javascript">
      <classpath />
      <![CDATA[
        {js代码}
      ]]>
  </script>


   Language可选javascriptgroovyruby
   Javascript脚本引入js.jargroovy引入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>

猜你喜欢

转载自zz563143188.iteye.com/blog/1819765