-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
146 lines (128 loc) · 5.37 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
<?xml version="1.0"?>
<!--
Copyright (C) 2001-2005 Nathan Fiedler
Use Apache Ant to process this build file and create a build of JSwat.
See the docs/dev/build.html page to learn more about making builds.
$Id$
-->
<project name="JSwat" default="build" basedir=".">
<!-- Set all the build properties. -->
<property file="build.properties"/>
<property name="source" value="classes"/>
<property name="ext.dir" value="classes/ext"/>
<property name="build.dir" value="build"/>
<property name="classes" value="${build.dir}/classes"/>
<property name="bindist" value="${build.dir}/dist"/>
<property name="pkgpath" value="com/bluemarsh/jswat"/>
<property name="compile.source" value="1.4"/>
<property name="compile.target" value="1.4"/>
<property name="compile.debug" value="on"/>
<!-- Set the classpath. -->
<path id="class.path">
<pathelement location="${java.home}/../lib/tools.jar"/>
<pathelement location="${build.dir}/classes"/>
<fileset dir="classes/ext">
<include name="*.jar"/>
</fileset>
</path>
<target name="prepare">
<mkdir dir="${classes}"/>
<mkdir dir="${bindist}"/>
</target>
<target name="all" depends="clean,build" description="Clean and build."/>
<target name="clean" description="Removes build artifacts.">
<delete dir="${classes}"/>
<delete dir="${bindist}"/>
<delete>
<fileset dir="." includes="*.zip"/>
</delete>
<ant dir="test" target="clean"/>
<ant dir="plugins/jedit" target="cleaner"/>
</target>
<target name="build" depends="prepare" description="Compiles the project.">
<javac srcdir="${source}" destdir="${classes}" debug="${compile.debug}"
classpathref="class.path" source="${compile.source}"
target="${compile.target}" excludes="${pkgpath}/resources/**"/>
<copy todir="${classes}/${pkgpath}/resources">
<fileset dir="${source}/${pkgpath}/resources"/>
</copy>
<copy todir="${classes}/${pkgpath}/panel/resources">
<fileset dir="${source}/${pkgpath}/panel/resources"/>
</copy>
<copy todir="${classes}/${pkgpath}/ui/resources">
<fileset dir="${source}/${pkgpath}/ui/resources"/>
</copy>
<!-- Make sure to get all of the properties files. -->
<copy todir="${classes}">
<fileset dir="${source}" includes="com/**/*.properties"/>
</copy>
<!-- Compile the tests. -->
<ant dir="test" target="compile"/>
</target>
<target name="binjar" depends="build" description="Jars the build.">
<!-- This is used by the plugins that require JSwat. -->
<mkdir dir="${bindist}"/>
<jar jarfile="${bindist}/jswat.jar" basedir="${classes}">
<exclude name="**/test/**"/>
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Class-Path" value="parser.jar jclasslib.jar"/>
<attribute name="Main-Class" value="com.bluemarsh.jswat.Main"/>
</manifest>
</jar>
</target>
<target name="run" depends="build" description="Run the project.">
<java classname="com.bluemarsh.jswat.Main" fork="yes"
classpathref="class.path"/>
</target>
<target name="debug" depends="build" description="Debug the project.">
<java classname="com.bluemarsh.jswat.Main" fork="yes"
classpathref="class.path">
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5858"/>
</java>
</target>
<target name="test" depends="build" description="Runs the unit tests.">
<ant dir="test/junit"/>
</target>
<!-- Get the release version number from the builder. -->
<target name="version" depends="build">
<!-- Newer Ant releases only ask if 'version' is not set. -->
<input message="Enter JSwat version number (x.y[.z]):"
addproperty="version"/>
<!-- Update the version.properties file for this build. -->
<propertyfile file="${classes}/${pkgpath}/util/version.properties">
<entry key="version" value="${version}"/>
</propertyfile>
</target>
<target name="dist" depends="version" description="Produces the release.">
<!-- Make the binary bundle again, now that the version is set. -->
<antcall target="binjar"/>
<zip destfile="jswat-${version}.zip">
<zipfileset dir="." prefix="jswat-${version}">
<include name="*.txt"/>
<include name="*.html"/>
</zipfileset>
<zipfileset file="${bindist}/jswat.jar" prefix="jswat-${version}"/>
<zipfileset dir="${ext.dir}" includes="*.jar" prefix="jswat-${version}"/>
<zipfileset dir="bin" filemode="755" prefix="jswat-${version}"/>
</zip>
<!-- Make the source distribution. -->
<zip destfile="jswat-src-${version}.zip">
<zipfileset dir="." prefix="jswat-${version}">
<exclude name="plugins/jedit/build/**"/>
<exclude name="plugins/jedit/lib/**"/>
<exclude name="*.zip"/>
<exclude name="${build.dir}/**"/>
<exclude name="build.properties"/>
<exclude name="nbproject/**"/>
</zipfileset>
</zip>
<!-- Calculate the file checksums. -->
<checksum file="jswat-${version}.zip" algorithm="SHA" property="sum"/>
<echo level="info">${sum} jswat-${version}.zip</echo>
<!-- Work-around apparent checksum bug by using a different property. -->
<checksum file="jswat-src-${version}.zip" algorithm="SHA" property="sum2"/>
<echo level="info">${sum2} jswat-src-${version}.zip</echo>
</target>
</project>