-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
100 lines (84 loc) · 2.64 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?xml version="1.0" encoding="UTF-8"?>
<project name="maintainablejs" default="all">
<loadproperties srcfile="build.properties" />
<tstamp>
<format property="build.time"
pattern="yyyy-MM-dd-hh-mm-ss"
locale="ja,JP" />
</tstamp>
<target name="prop">
<echo>Version is ${version}</echo>
<echo>src.dir is ${src.dir}</echo>
<echo>build.dir is ${build.dir}</echo>
<echo>lib.dir is ${lib.dir}</echo>
<echo>test.dir is ${test.dir}</echo>
<echo>build.time is ${build.time}</echo>
</target>
<target name="version">
<echo>${version}</echo>
</target>
<target name="all">
<echo message="Project build start."/>
<antcall target="prop"/>
<antcall target="clean"/>
<antcall target="init"/>
<antcall target="jshint"/>
<antcall target="jslint"/>
<antcall target="test"/>
<antcall target="build"/>
<echo message="Project build end."/>
</target>
<target name="clean">
<delete dir="${build.dir}"/>
<delete dir="${testresult.dir}"/>
</target>
<target name="init">
<exec executable="mkdir" failonerror="true">
<arg line="--parents" />
<arg line="${testresult.dir}" />
</exec>
<exec executable="mkdir" failonerror="true">
<arg line="--parents" />
<arg line="${build.dir}/chrome/content" />
</exec>
</target>
<target name="jshint">
<apply executable="jshint" failonerror="true" parallel="true">
<fileset dir="${src.dir}" includes="**/*.js" />
<fileset dir="${test.dir}" includes="**/*.js" />
<srcfile />
</apply>
</target>
<target name="jslint">
<apply executable="jslint" failonerror="true" parallel="true">
<fileset dir="${src.dir}" includes="**/*.js" />
<fileset dir="${test.dir}" includes="**/*.js" />
<arg line="--edition es5" />
<srcfile />
</apply>
</target>
<target name="test">
<exec executable="phantomjs" failonerror="true" output="${testresult.dir}/testSeleniumGosub.xml">
<arg line="test/phantomMain.js" />
<arg line="test/testSeleniumGosub.html" />
</exec>
<!-- grep "<failure" testResults/testSeleniumGosub.xml -->
<exec executable="./is_test_passed.sh" failonerror="true">
<arg line="${testresult.dir}/testSeleniumGosub.xml"/>
</exec>
</target>
<target name="build">
<copy todir="${build.dir}/chrome/content">
<fileset dir="content" />
</copy>
<copy file="install.rdf" todir="${build.dir}">
<filterset>
<filter token="VERSION" value="${version}.${build.time}"/>
</filterset>
</copy>
<copy file="chrome.manifest.production" tofile="${build.dir}/chrome.manifest" />
<zip destfile="${app.name}_${version}_${build.time}.xpi">
<zipfileset dir="${build.dir}" prefix=""/>
</zip>
</target>
</project>