forked from liveqmock/kcPlatform
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
130 lines (112 loc) · 4.55 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
<?xml version="1.0" encoding="UTF-8" ?>
<project name="gdxt" default="run" basedir=".">
<!--===================================================================
定义属性(property tasks)
这里定义成全局变量
例:定义
<property name="a" value="hello"/>
以后就可以这样用它:
<property name="b" value="${a}/b"/>
现在:b=="hello/b"
===================================================================-->
<!--主要的app环境属性-->
<property name="project.name" value="gdxt" />
<property name="project.version" value="2.2.4-RELEASE" />
<property name="app.name" value="gdxt-2.2.4-RELEASE" />
<property name="app.jar" value="${app.name}.jar" />
<property name="depend.lib" value="WebContent/WEB-INF" />
<!--app中src的属性-->
<property name="src.dir" value="src" />
<property name="resource.dir" value="resource" />
<!-- app用到的lib -->
<property name="lib.dir" value="lib" />
<!--app的build目录中-->
<property name="build.dir" value="build" />
<property name="build.classes" value="${build.dir}/classes" />
<property name="build.source" value="${build.dir}/source" />
<property name="build.lib" value="${build.dir}/lib" />
<property name="build.project" value="${build.dir}/project" />
<!--app的dist (distribution) 目录中-->
<property name="dist.dir" value="dist" />
<path id="classpath">
<fileset dir="${depend.lib}/lib">
<include name="*.jar" />
</fileset>
<pathelement location="${build.dir}" />
</path>
<!--==================================================================
init 准备目录(File Tasks)
主要的目录结构通常是不会变的,一起生成他们
===================================================================-->
<target name="clean">
<!--清除以前目录-->
<delete dir="${build.dir}" failonerror="false" />
<delete dir="${build.classes}" failonerror="false" />
<delete dir="${build.source}" failonerror="false" />
<delete dir="${build.project}" failonerror="false" />
<delete dir="${dist.dir}" failonerror="false" />
</target>
<target name="init" depends="clean">
<!--准备目录-->
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes}" />
<mkdir dir="${build.source}" />
<mkdir dir="${build.lib}" />
<mkdir dir="${build.project}" />
<mkdir dir="${dist.dir}" />
</target>
<!--===================================================================
Build the code (Compile Tasks,File Tasks)
===================================================================-->
<target name="build" depends="init">
<!--编译-->
<javac srcdir="${src.dir}" destdir="${build.classes}" debug="true">
<compilerarg line="-encoding UTF-8 " />
<classpath refid="classpath" />
</javac>
<copy todir="${build.classes}">
<fileset dir="${src.dir}">
</fileset>
</copy>
<copy todir="${build.source}">
<fileset dir="." excludes="**/.svn,**/build.xml">
<exclude name="${build.dir}/**" />
<exclude name="${dist.dir}/**" />
</fileset>
</copy>
</target>
<!-- ===================================================================
打包文档(Archive Tasks)
Create the project jars: xxx1.jar and xxx2.jar
===================================================================-->
<target name="jars" depends="build">
<jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}" />
</target>
<target name="project" depends="jars">
<!-- copy project 文件 -->
<copy todir="${build.project}">
<fileset dir="." excludes="**/.svn,**/build.xml">
<exclude name="${src.dir}/**" />
<exclude name="${build.dir}/**" />
<exclude name="${dist.dir}/**" />
<exclude name="${depend.lib}/classes/**" />
</fileset>
</copy>
<copy todir="${build.project}/${depend.lib}/lib">
<fileset dir="${build.lib}/">
</fileset>
</copy>
<mkdir dir="${build.project}/${src.dir}" />
</target>
<!-- ===================================================================
Create the distribution that can run (Archive Tasks)主要是从各目录中把该copy的copy上
===================================================================-->
<target name="run" depends="project">
<zip destfile="${dist.dir}/${project.name}-${project.version}.zip">
<fileset dir="${build.project}/" />
</zip>
<zip destfile="${dist.dir}/${project.name}-${project.version}-source.zip">
<fileset dir="${build.source}/" />
</zip>
</target>
</project>