forked from drewbourne/mockolate
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.xml
173 lines (149 loc) · 6.86 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<!--
Suggested Usage:
ant -v clean package
The goal of this build is compile the library SWC, generate FlexPMD reports, generate ASDocs, and
bundle a binary distribution.
-->
<project name="Mockolate" basedir="." default="package">
<property environment="env" />
<property file="${basedir}/build.properties" />
<property name="build.finalName" value="${build.artifactId}-${build.version}" />
<property name="FLEX_HOME" location="${env.FLEX_HOME}" />
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
<taskdef resource="flexUnitTasks.tasks" classpath="${build.loc}/flexUnitTasks-4.0.0.jar" />
<target name="clean">
<delete dir="${target.loc}" />
</target>
<target name="initialize">
<mkdir dir="${target.loc}" />
<mkdir dir="${bin.loc}" />
<mkdir dir="${doc.loc}" />
<mkdir dir="${report.loc}" />
<mkdir dir="${report.flexunit.loc}" />
</target>
<target name="initialize-build-number">
<!-- Favour external build number, eg from Hudson -->
<condition property="build.number" value="${env.BUILD_NUMBER}">
<isset property="env.BUILD_NUMBER" />
</condition>
<!-- Otherwise use the local build.number -->
<propertyfile file="${build.number.loc}" comment="${project.name} build number">
<entry key="build.number" default="0" value="1" type="int" operation="+" />
</propertyfile>
<property file="${build.number.loc}" />
</target>
<target name="compile" depends="initialize, compile.library">
</target>
<target name="compile.library.check-if-required">
<uptodate property="compile.library.not-required"
targetfile="${bin.loc}/${library.swc}">
<srcfiles dir="${basedir}">
<include name="${src.loc}/**/.as" />
<include name="${src.loc}/**/.mxml" />
<include name="${test.src.loc}/**/.as" />
<include name="${test.src.loc}/**/.mxml" />
</srcfiles>
</uptodate>
</target>
<target name="compile.library">
<compc output="${bin.loc}/${library.swc}">
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
<load-config filename="${src.loc}/${library.config}" />
</compc>
</target>
<target name="test" depends="initialize, compile.test, test.execute, test.report">
</target>
<target name="compile.test.check-if-required">
<uptodate property="compile.library.not-required"
targetfile="${test.swf}">
<srcresources>
<fileset dir="${src.loc}">
<include name="**/.as" />
<include name="**/.mxml" />
</fileset>
<fileset dir="${test.src.loc}">
<include name="**/.as" />
<include name="**/.mxml" />
</fileset>
</srcresources>
</uptodate>
</target>
<target name="compile.test">
<mxmlc output="${bin.loc}/${test.swf}" file="${test.src.loc}/${test.runner}">
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
</mxmlc>
</target>
<target name="test.execute">
<flexunit
swf="${bin.loc}/${test.swf}"
toDir="${report.flexunit.loc}"
haltonfailure="false"
verbose="true"
localTrusted="true" />
</target>
<target name="test.report">
<junitreport todir="${report.flexunit.loc}">
<fileset dir="${report.flexunit.loc}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${report.flexunit.loc}/html" />
</junitreport>
<property name="flexpmd.version" value="1.1" />
<path id="flexpmd.base">
<pathelement location="${build.loc}/as3-parser-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/as3-parser-api-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/as3-plugin-utils-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/flex-pmd-files-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/pmd-4.2.5.jar" />
</path>
<taskdef name="pmd" classname="com.adobe.ac.pmd.ant.FlexPmdAntTask" classpath="${build.loc}/flex-pmd-ant-task-${flexpmd.version}.jar">
<classpath>
<path refid="flexpmd.base" />
<pathelement location="${build.loc}/commons-lang-2.4.jar" />
<pathelement location="${build.loc}/flex-pmd-core-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/flex-pmd-ruleset-api-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/flex-pmd-ruleset-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/plexus-utils-1.0.2.jar" />
</classpath>
</taskdef>
<taskdef name="cpd" classname="com.adobe.ac.cpd.ant.FlexCpdAntTask" classpath="${build.loc}/flex-pmd-cpd-ant-task-${flexpmd.version}.jar">
<classpath>
<path refid="flexpmd.base" />
<pathelement location="${build.loc}/flex-pmd-cpd-${flexpmd.version}.jar" />
</classpath>
</taskdef>
<taskdef name="metrics" classname="com.adobe.ac.pmd.metrics.ant.FlexMetricsAntTask" classpath="${build.loc}/flex-pmd-metrics-ant-task-${flexpmd.version}.jar">
<classpath>
<path refid="flexpmd.base" />
<pathelement location="${build.loc}/commons-lang-2.4.jar" />
<pathelement location="${build.loc}/dom4j-1.6.1.jar" />
<pathelement location="${build.loc}/flex-pmd-metrics-${flexpmd.version}.jar" />
<pathelement location="${build.loc}/flex-pmd-ruleset-api-${flexpmd.version}.jar" />
</classpath>
</taskdef>
<echo message="FlexMetrics running..." />
<metrics sourcedirectory="${src.loc}" outputfile="${report.loc}/javancss.xml" />
<echo message="FlexPMD running..." />
<pmd sourceDirectory="${src.loc}" outputDirectory="${report.loc}" ruleset="${basedir}/pmd-ruleset.xml" />
<echo message="FlexCPD running..." />
<cpd minimumTokenCount="50" outputFile="${report.loc}/cpd.xml">
<fileset dir="${src.loc}">
<include name="**/*.as" />
</fileset>
</cpd>
</target>
<target name="docs">
<java jar="${FLEX_HOME}/lib/asdoc.jar" fork="true" failonerror="true">
<arg line="+flexlib '${FLEX_HOME}/frameworks'" />
<arg line="-doc-sources '${src.loc}'" />
<arg line="-source-path+='${src.loc}'" />
<arg line="-library-path+='${libs.loc}'" />
<arg line="-output '${doc.loc}'" />
<arg line="-main-title '${ant.project.name} Documentation'" />
<arg line="-window-title '${ant.project.name} Documentation'" />
</java>
</target>
<target name="package"
depends="compile, test, docs">
</target>
</project>