JAVA_build_ant_mapper

ant里面mapper的详细用法

 

ant里面mapper标签是和fileset配合使用的,目的就是把fileset取出的文件名转成指定的样式。其实看懂官方文档后,感觉真心没啥好写的。但是还是写一下把。

1.<mapper type="identity"/>

就是啥都不干。fileset是啥样子,返回就是啥样子。

2.<mapper type="flatten"/>

大概意思是只返回文件名,而去掉路径,比如

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.txt 这样输出就是 adb_has_moved.txt

3.<mapper type="glob" from="*.java" to="~*.java.bak"/>

大概的意思就是加前缀和后缀

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java 这样输出就是 ~D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java.bak

4.<chainedmapper>

这个标签非常贱,看名字就知道,意思是把多个不同的mapper标签联合起来执行,以达到更全的处理方案。

复制代码
        <mapper>
        <chainedmapper>
          <flattenmapper/>
          <globmapper from="a*.java" to="*.java.bak" casesensitive="no"/>
        </chainedmapper>
        </mapper>
复制代码

假设输入为D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java,这个时候输出为adb_has_moved.java.bak

注意若是这个里面不写chainedmapper的话,返回的结果包含mapper里面所有的mapper返回结果的和。

因为这个里面把flatten和glob两个标签联合起来用了。

5. <mapper type="regexp" from="^(.*)\.java$$" to="\1.java.bak"/>

这个就是正则表达式了。正则表达式仅仅会抓去出相匹配的字符串,而没有替换功能,注意。

6.<mapper type="package" from="*Test.java" to="*"/>

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java  > D.and.adt-bundle-windows-x86.sdk.tools.adb_has_moved

7<cutdirsmapper dirs="5"/>

这个的作用就是把文件目录去掉一部分

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java  > \adb_has_moved.java

 

 

原文转自:http://www.cnblogs.com/100fighting/p/3171131.html

posted @ 2016-12-05 10:49  天天好心情啊  阅读(238)  评论(0编辑  收藏  举报