Skip to content

Commit

Permalink
improve build script
Browse files Browse the repository at this point in the history
  • Loading branch information
lifesinger committed Jun 26, 2012
1 parent a9a2e49 commit b40451b
Show file tree
Hide file tree
Showing 13 changed files with 57 additions and 700 deletions.
71 changes: 38 additions & 33 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,28 @@
<property name="src.dir" location="${root.dir}/src/"/>
<property name="dist.dir" location="${root.dir}/dist/"/>
<property name="tmp.dir" location="${dist.dir}/tmp/"/>
<property name="tools.dir" location="${root.dir}/tools/"/>

<property name="module.name" value="sea"/>
<property name="version" value="1.1.8"/>

<property name="tools.dir" location="${root.dir}/tools/"/>
<property name="gcc.jar" location="${tools.dir}/compiler.jar"/>
<property name="charset" value="utf-8"/>

<property name="package.file" value="${tmp.dir}/${module.name}-package.js"/>
<property name="debug.file" value="${tmp.dir}/${module.name}-debug.js"/>
<property name="src.file" value="${tmp.dir}/${module.name}-src.js"/>
<property name="debug.file" value="${dist.dir}/${module.name}-debug.js"/>
<property name="min.file" value="${tmp.dir}/${module.name}.js"/>


<!-- 合并 -->
<!-- 合并得到 sea-src.js -->
<target name="concat">

<!-- 目录准备 -->
<delete dir="${dist.dir}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${tmp.dir}"/>

<!-- 合并 package 文件 -->
<concat destfile="${package.file}"
<concat destfile="${src.file}"
encoding="${charset}"
outputencoding="${charset}">

Expand All @@ -47,36 +46,46 @@
</concat>
</target>

<!-- 复制插件到 plugin-xx-src.js -->
<target name="copy">

<copy todir="${tmp.dir}">
<fileset dir="${src.dir}/plugins" includes="*.js"/>
<mapper type="regexp"
from="^(.*)\.(js|css)$"
to="\1-src.\2"/>
</copy>

</target>

<!-- 预处理 -->
<!-- 预处理得到 sea-debug.js -->
<target name="prepare">

<!-- 版本号替换 -->
<replaceregexp file="${package.file}"
<replaceregexp file="${src.file}"
match="%VERSION%"
replace="${version}"
flags="g"
encoding="${charset}"/>

<!-- 生成 debug 版本 -->
<copy file="${package.file}" tofile="${debug.file}"/>
<copy file="${src.file}" tofile="${debug.file}"/>

</target>


<!-- 压缩 -->
<!-- 压缩 xx-src.js 到 xx.js -->
<target name="compress">

<!-- DEBUG 替换 -->
<replaceregexp file="${package.file}"
<replaceregexp file="${src.file}"
match="%DEBUG%"
replace=""
flags="g"
encoding="${charset}"/>

<!-- 用 Google Closure Compiler 压缩 JS -->
<apply executable="java" verbose="true" dir="${tmp.dir}" failonerror="true">
<fileset dir="${tmp.dir}" includes="${module.name}-package.js"/>
<apply executable="java" verbose="true" dest="${tmp.dir}" failonerror="true">
<fileset dir="${tmp.dir}" includes="*-src.js"/>

<arg line="-jar"/>
<arg path="${gcc.jar}"/>
Expand All @@ -87,40 +96,36 @@
<arg line="--warning_level VERBOSE"/>
<arg line="--jscomp_off=checkTypes"/>
<arg line="--jscomp_error=checkDebuggerStatement"/>
<arg line="--jscomp_error=externsValidation"/>
<arg line="--jscomp_error=globalThis"/>
<arg line="--jscomp_error=uselessCode"/>

<arg line="--js"/>
<srcfile/>
<arg line="--js_output_file ${module.name}.js"/>
<arg value="--js_output_file"/>
<targetfile/>
<mapper type="regexp" from="^(.*)-src\.js$" to="\1.js"/>
</apply>

<!-- 清除之 -->
<delete file="${package.file}"/>

</target>


<!-- 扫尾 -->
<!-- 移动到 dist 目录等扫尾工作 -->
<target name="destroy">

<delete>
<fileset dir="${tmp.dir}" includes="*-src.js"/>
</delete>

<move todir="${dist.dir}">
<fileset dir="${tmp.dir}" includes="*.js"/>
</move>
<delete dir="${tmp.dir}"/>
</target>


<!-- 插件 -->
<target name="build-plugin">

<copy todir="${dist.dir}">
<fileset dir="${src.dir}/plugins" includes="plugin-*.js"/>
</copy>
<delete dir="${tmp.dir}"/>

</target>


<!-- 入口 -->
<target name="build"
depends="concat,prepare,compress,destroy,build-plugin">
</target>
<target name="build-all" depends="concat,copy,prepare,compress,destroy"/>
<target name="build" depends="concat,prepare,compress,destroy"/>

</project>
119 changes: 2 additions & 117 deletions dist/plugin-base.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 1 addition & 21 deletions dist/plugin-coffee.js
Original file line number Diff line number Diff line change
@@ -1,21 +1 @@
/**
* The CoffeeScript plugin
*/
define('seajs/plugin-coffee', function(require) {

var plugin = require('./plugin-base')
var CoffeeScript = require('coffee')


plugin.add({
name: 'coffee',

ext: ['.coffee'],

fetch: function(url, callback) {
CoffeeScript.load(url, callback)
}
})

});

define("seajs/plugin-coffee",["./plugin-base","coffee"],function(a){var b=a("./plugin-base"),c=a("coffee");b.add({name:"coffee",ext:[".coffee"],fetch:function(a,b){c.load(a,b)}})});
Loading

0 comments on commit b40451b

Please sign in to comment.