-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.xml
145 lines (125 loc) · 6.03 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
<?xml version="1.0" encoding="UTF-8"?>
<!--
build.xml - build everything in the ilib project
Copyright © 2012-2018, JEDLSoft
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- ======================================================================= -->
<!-- Main build file for the ilib java bits -->
<!-- ======================================================================= -->
<project name="ilib" default="all" basedir=".">
<!-- =================================================================== -->
<!-- properties -->
<!-- =================================================================== -->
<!-- Give user a chance to override properties without editing this file -->
<!-- (and without typing -D each time it compiles it) -->
<property file="build.properties"/>
<!-- Properties that can be overridden -->
<!-- directories -->
<property name="build.base" value="."/>
<property name="build.export" value="export"/>
<property name="build.dist" value="dist"/>
<!-- =================================================================== -->
<!-- Implement the standard targets -->
<!-- =================================================================== -->
<macrodef name="iterate">
<attribute name="target"/>
<sequential>
<subant target="@{target}">
<property name="dist" value="${build.dist}"/>
<fileset dir="." includes="*/build.xml"/>
</subant>
</sequential>
</macrodef>
<target name="export" description="Export everything that other subprojects will need to build.">
<iterate target="export"/>
<copy file="README.md" todir="${build.export}/package" />
</target>
<target name="all" description="Build everything. This is the target that the build should run.">
<iterate target="export"/>
<iterate target="all"/>
</target>
<target name="clean" description="Remove all generated files to start from scratch">
<delete dir="${build.dist}"/>
<delete dir="${build.export}"/>
<delete>
<fileset dir="${build.base}/docs/demo/scripts">
<include name="ilib-demo*"/>
<include name="ilib.*.js"/>
</fileset>
</delete>
<iterate target="clean"/>
</target>
<target name="dist" depends="all" description="Build the distribution package.">
<mkdir dir="${build.dist}" description="Dir to contain all the distribution outputs"/>
<mkdir dir="${build.export}" description="Dir to contain all the exported outputs"/>
<iterate target="export"/>
<copy file="README.md" todir="${build.export}/package" />
<copy file="LICENSE" todir="${build.export}/package" />
<zip destfile="${build.dist}/ilib-${version}.zip"
basedir="${build.export}"
includes="js/**,java/**,locale/**,qt/**"/>
<zip destfile="${build.dist}/ilib-${version}-doc.zip"
basedir="${build.export}/doc"/>
<zip destfile="${build.dist}/ilib-${version}-src.zip">
<zipfileset
dir="${build.export}/src"
includes="**"/>
<zipfileset
dir="${build.export}"
includes="tools/**"/>
<zipfileset
dir="${build.base}"
includes="build.xml,build.properties"/>
</zip>
<tar destfile="${build.dist}/ilib-${version}.tgz" compression="gzip"
basedir="${build.export}"
includes="js/**,java/**,locale/**,qt/**"/>
<tar destfile="${build.dist}/ilib-${version}-doc.tgz" compression="gzip" basedir="${build.export}/doc" />
<tar destfile="${build.dist}/ilib-${version}-src.tgz" compression="gzip">
<fileset dir="${build.export}/src" includes="**"/>
<fileset dir="${build.export}" includes="tools/**"/>
<fileset dir="${build.base}" includes="build.xml,build.properties"/>
</tar>
<tar destfile="${build.dist}/ilib.tgz" compression="gzip" basedir="${build.export}" includes="package/**"/>
<checksum>
<fileset dir="${build.dist}">
<include name="*.tgz"/>
<include name="*.zip"/>
<include name="*.jar"/>
</fileset>
</checksum>
</target>
<target name="remote" description="Build and run a test server so that remote testing is possible">
<mkdir dir="${build.dist}" description="Dir to contain all the distribution outputs"/>
</target>
<target name="test.dynamic.uncompiled">
<subant target="test.dynamic.uncompiled" buildpath="js"/>
</target>
<target name="test" depends="export" description="Run all tests and build all reports">
<iterate target="test"/>
</target>
<target name="test.travis" description="Run all tests and build all reports">
<subant target="export" buildpath="java"/>
<subant target="export" buildpath="js"/>
<iterate target="test"/>
</target>
<target name="doc" description="Extract all the inline documentation.">
<iterate target="doc"/>
</target>
<target name="apidocs" description="Update the api docs for github pages">
<subant target="apidocs" buildpath="java"/>
<subant target="apidocs" buildpath="js"/>
</target>
<target name="deps" description="Install dependencies for travis-ci">
<!-- nothing yet -->
</target>
</project>