-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.xml
124 lines (120 loc) · 4.47 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
<?xml version = "1.0" encoding = "UTF-8"?>
<!--ant-->
<project name = "signal command map "
basedir = "."
default = "test">
<!-- set up a prefix for all environment variables -->
<property environment = "env." />
<!-- load user properties to override defaults -->
<property file = "user.properties" />
<!-- System environment must contain FLEX_HOME variable that points to Flex SDK -->
<property name = "FLEX_HOME"
location = "${env.FLEX_HOME}" />
<!-- identify properties file -->
<property file = "build.properties" />
<!-- Set up FlexUnit Ant tasks -->
<taskdef resource = "flexUnitTasks.tasks"
classpath = "${lib.loc}/flexUnitTasks-4.1.0-8.jar" />
<!-- Clean Build and Report files -->
<target name = "clean">
<!-- Remove all directories created during the build process -->
<echo>[clean] Removing Build and Report directories</echo>
<delete includeemptydirs = "true"
failonerror = "false">
<fileset dir = "${report.loc}"
defaultexcludes = "false">
<include name = "**/*" />
</fileset>
<fileset dir = "${dist.loc}"
defaultexcludes = "false">
<include name = "**/*" />
</fileset>
</delete>
<echo>[clean] Build and Report directories removed</echo>
</target>
<!-- Create directories needed for the build process -->
<target name = "init"
depends = "clean">
<echo>[init] Creating Bin and Report directories</echo>
<mkdir dir = "${bin.loc}" />
<mkdir dir = "${report.loc}" />
<mkdir dir = "${dist.loc}" />
<echo>[init] Bin and Report directories created</echo>
</target>
<!-- Compile Release SWC -->
<target name = "compile"
depends = "init">
<echo>[compile] Compiling release SWC</echo>
<echo>[compile] Using Flex SDK at: ${FLEX_HOME}</echo>
<java jar = "${FLEX_HOME}/lib/compc.jar"
dir = "${FLEX_HOME}/frameworks"
fork = "true"
failonerror = "true">
<!-- Build our SWC with a versioned name. -->
<arg value = "-output=${bin.loc}/${project.name.versioned}.swc" />
<arg value = "-external-library-path+=${lib.loc}" />
<!-- We want all the signal command map package classes in the SWC being built. -->
<arg value = "-include-sources+=${main.src.loc}/robotlegs" />
<!-- Keep the magic alive. -->
<arg value = "-keep-as3-metadata+=Inject" />
<arg value = "-keep-as3-metadata+=PostConstruct" />
<!-- Boolean mosh pit! -->
<arg value = "-incremental=true" />
<arg value = "-static-link-runtime-shared-libraries=true" />
<arg value = "-verbose-stacktraces=true" />
<arg value = "-headless-server=true" />
</java>
<echo>[compile] Release SWC ${project.name.versioned}.swc created successfully</echo>
</target>
<!-- Run Unit Tests -->
<target name = "test"
depends = "compile">
<echo>[test] Running Unit Tests</echo>
<!-- Compile TestRunner.mxml as a SWF -->
<java jar = "${FLEX_HOME}/lib/mxmlc.jar"
dir = "${FLEX_HOME}/frameworks"
fork = "true"
failonerror = "true">
<arg value = "${test.src.loc}/RobotlegsTest.mxml" />
<arg value = "-source-path=${main.src.loc}" />
<!-- Flash those sweet legs. Blink and you'll miss 'em. -->
<arg value = "-output=${bin.loc}/TestRunner.swf" />
<arg value = "-default-size=200,200" />
<arg value = "-default-background-color=0x000000" />
<!-- Include classes from SWCs in this folder, but only the ones we use. -->
<arg value = "-library-path+=${lib.loc}" />
<!-- So true. -->
<arg value = "-incremental=true" />
<arg value = "-verbose-stacktraces=true" />
<arg value = "-headless-server=false" />
<arg value = "-debug=true" />
</java>
<!-- Execute TestRunner.swf as FlexUnit tests and publish reports -->
<flexunit swf = "bin/TestRunner.swf"
toDir = "${report.loc}"
haltonfailure = "true"
verbose = "true"
localTrusted = "true" />
<!-- Generate readable JUnit-style reports -->
<junitreport todir = "${report.loc}">
<fileset dir = "${report.loc}">
<include name = "TEST-*.xml" />
</fileset>
<report format = "frames"
todir = "${report.loc}/html" />
</junitreport>
<echo>[test] Finished running Unit Tests</echo>
</target>
<!-- Package the Build -->
<target name = "package">
<!-- Assemble -->
<echo>[package] Packaging Release</echo>
<mkdir dir = "${dist.loc}/bin" />
<copy file = "${bin.loc}/${project.name.versioned}.swc"
todir = "${dist.loc}/bin" />
<delete dir = "${dist.loc}/src" />
<delete dir = "${dist.loc}/libs" />
<delete dir = "${dist.loc}/docs" />
<echo>[package] Release packaged successfully</echo>
</target>
</project>