使用svn co http://jqueryjs.googlecode.com/svn/tags/1.3.2 获取jquery的1.3.2版本.
查看日志,这个目录copy form path:/trunk/jquery.这是标准的trunk,tags目录方案.
项目包含三个目录build,src,test.
src 240k,test 1.4M.光看这大小就能感觉到测试是件多么重要的事情.
根目录下就看到了build.xml,还有Makefile.都是自动构建的文件.怀着敬仰的心情,打开build.xml文件学习一下.
1.<property description="Source Folder" name="SRC_DIR" value="src" />
属性,每一项都有description进行描述.哎,人家就是仔细,回头把自家的也都加上.
2.<loadfile description="Version to build" property="version" srcfile="version.txt" />
version.txt文件里就一个版本号1.3.2,加载进来做为version属性.
3.<concat destfile="${JQ}">
<fileset dir="${SRC_DIR}" includes="intro.js" />
<fileset dir="${SRC_DIR}" includes="core.js" />
</concat>
合并文件
4.<replaceregexp match="@VERSION" replace="${version}" flags="g" byline="true" file="${JQ}" />
正则替换文本.
5.<apply executable="java" parallel="false" verbose="true" dest="${DIST_DIR}">
<fileset dir="${DIST_DIR}">
<include name="jquery.js" />
</fileset>
<arg line="-jar" />
<arg path="${YUICompressor}" />
<arg value="--charset" />
<arg value="ANSI" />
<arg value="-o" />
<targetfile />
<mapper type="glob" from="jquery.js" to="jquery.min.js" />
</apply>
压缩js,清理空格,注释,还可以重命名变量,用a,b,c代替.这个真是好东西啊,以前找过好久都没找到.
6.<java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/pack.js" />
<arg value="${JQ}" />
<arg value="${JQ_PACK}" />
</java>
js加密,打包.这个出来的文件是最小的.
7.<java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/runtest/test.js" />
</java>
js也有单元测试,真是大开眼界.