File: build.xml

package info (click to toggle)
ckbuilder 2.3.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 524 kB
  • sloc: xml: 93; sh: 19; makefile: 10
file content (112 lines) | stat: -rw-r--r-- 4,471 bytes parent folder | download | duplicates (4)
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
<project name="ckbuilder" default="jar" basedir="../../">
	<property name="bin.dir" location="bin" />
	<property name="tmp.dir" location="tmp" />
	<property name="build.dir" location="tmp/build" />
	<property name="source.dir" location="src" />
	<property name="json.dir" location="lib/json" />
	<property name="rhino.jar" location="/usr/share/java/js.jar" />
	<property name="closure.jar" location="/usr/share/java/closure-compiler.jar" />
	<property name="commons-cli.jar" location="/usr/share/java/commons-cli.jar" />

	<target name="init">
		<tstamp />
		<delete dir="${build.dir}" />
		<mkdir dir="${build.dir}/ckbuilder/lib" />
		<mkdir dir="${build.dir}/tools/json" />
	</target>

	<target name="compile" depends="init" description="compile js">
		<!-- ckbuilder -->
		<java fork="yes" classname="org.mozilla.javascript.tools.jsc.Main" failonerror="true">
			<arg value="-debug" />
			<arg value="-package" />
			<arg value="ckbuilder" />
			<arg value="${source.dir}/ckbuilder.js" />
			<classpath>
				<pathelement location="${rhino.jar}"/>
			</classpath>
		</java>
		<java fork="yes" classname="org.mozilla.javascript.tools.jsc.Main" failonerror="true">
			<arg value="-debug" />
			<arg value="-package" />
			<arg value="ckbuilder.lib" />
			<arg value="${source.dir}/lib/builder.js" />
			<arg value="${source.dir}/lib/config.js" />
			<arg value="${source.dir}/lib/controller.js" />
			<arg value="${source.dir}/lib/css.js" />
			<arg value="${source.dir}/lib/cssmin.js" />
			<arg value="${source.dir}/lib/image.js" />
			<arg value="${source.dir}/lib/io.js" />
			<arg value="${source.dir}/lib/javascript.js" />
			<arg value="${source.dir}/lib/lang.js" />
			<arg value="${source.dir}/lib/plugin.js" />
			<arg value="${source.dir}/lib/samples.js" />
			<arg value="${source.dir}/lib/skin.js" />
			<arg value="${source.dir}/lib/tools.js" />
			<arg value="${source.dir}/lib/utils.js" />
			<classpath>
				<pathelement location="${rhino.jar}"/>
			</classpath>
		</java>
		<!-- json -->
		<java fork="yes" classname="org.mozilla.javascript.tools.jsc.Main" failonerror="true">
			<arg value="-debug" />
			<arg value="-package" />
			<arg value="tools.json" />
			<arg value="${json.dir}/json2.js" />
			<classpath>
				<pathelement location="${rhino.jar}"/>
			</classpath>
		</java>
	</target>

	<!--
	During compilation if -package option is used, file is located automatically in a subdirectory based on the package name,
	that's why for example we have anther tools/json subdirectory inside ot tools/json directory.
	 -->
	<target name="copy" depends="compile" description="copy files">
		<!-- ckbuilder -->
		<copy file="${source.dir}/ckbuilder/ckbuilder.class" tofile="${build.dir}/ckbuilder/ckbuilder.class" overwrite="true" />
		<copy todir="${build.dir}/ckbuilder">
			<fileset dir="${source.dir}/lib/ckbuilder" />
		</copy>
		<!-- json -->
		<copy file="${json.dir}/tools/json/json2.class" tofile="${build.dir}/tools/json/json2.class" overwrite="true" />
		<!-- Rhino jar file that will be updated -->
		<copy file="${rhino.jar}" tofile="${tmp.dir}/ckbuilder.jar" overwrite="true" />
	</target>

	<target name="unpack" depends="copy" description="merge all jar files into one">
		<unjar src="${closure.jar}" dest="${build.dir}" />
		<unjar src="${commons-cli.jar}" dest="${build.dir}" />
		<!-- Leave mailcap.default and mimetypes.default from META-INF attached to activation.jar -->
		<delete includeemptydirs="true">
			<fileset dir="${build.dir}/META-INF" excludes="**/*.default" />
		</delete>
	</target>

	<target name="jar" depends="copy" description="update the jar">
		<!-- Put everything in ${build.dir} into a jar file -->
		<jar jarfile="${tmp.dir}/ckbuilder.jar" update="true">
			<fileset dir="${build.dir}">
				<include name="**/*" />
			</fileset>
			<fileset file="${source.dir}/assets/help.txt" />
			<fileset file="${source.dir}/assets/help-extra.txt" />
			<fileset file="${source.dir}/assets/help-build.txt" />
			<manifest>
				<attribute name="Main-Class" value="ckbuilder.ckbuilder" />
			</manifest>
		</jar>
	</target>

	<target name="clean" description="clean up">
		<move file="${tmp.dir}/ckbuilder.jar" tofile="${bin.dir}/ckbuilder.jar" overwrite="true" />
		<!-- delete all folders created during javascript to java compilation -->
		<delete dir="${source.dir}/ckbuilder" />
		<delete dir="${source.dir}/lib/ckbuilder" />
		<delete dir="${json.dir}/tools" />
		<delete dir="${tmp.dir}" />
	</target>

</project>