-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.xml
99 lines (84 loc) · 3.42 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
<project name="streamsx.transform" default="all" basedir=".">
<description>
Build file for streamsx.transform project
</description>
<!-- set global properties for this build -->
<property environment="env" />
<property name="streams.install" value="${env.STREAMS_INSTALL}" />
<property name="toolkit" location="com.ibm.streamsx.transform"/>
<property name="toolkit.test" location="tests"/>
<property name="tmp" location="tmp" />
<target name="all" depends="toolkit"/>
<target name="setcommitversion">
<!-- Create the time stamp -->
<tstamp/>
<!-- Extract the git commit hash -->
<exec executable="git" outputproperty="commithash">
<arg value="rev-parse"/>
<arg value="--short"/>
<arg value="HEAD"/>
</exec>
<!-- Update the info.xml -->
<replace file="${toolkit}/info.xml" token="__dev__" value="commit_${commithash}" summary="yes"/>
<!-- Extract info from the toolkit's info.xml -->
<xmlproperty file="${toolkit}/info.xml" prefix="tkinfo" keepRoot="no"/>
<echo message="Toolkit Version: ${tkinfo.info:identity.info:version}"/>
<echo message="Git Hash: ${commithash}"/>
</target>
<target name="revertversion">
<exec executable="git">
<arg value="checkout"/>
<arg value="--"/>
<arg value="${toolkit}/info.xml"/>
</exec>
</target>
<target name="clean" depends="cleansamples"
description="clean up" >
<ant dir="${toolkit}" target="clean"/>
<delete dir="${tmp}"/>
</target>
<target name="cleansamples">
<exec executable="make" failonerror="true" dir="${basedir}/samples/RuntimeFilter">
<arg value="-f" />
<arg value="Makefile" />
<arg value="clean" />
</exec>
</target>
<target name="toolkit"
description="Build any code and index the toolkit." >
<ant dir="${toolkit}" target="all"/>
</target>
<target name="spldoc" depends="spldoc_work, revertversion"/>
<target name="spldoc_work" depends="setcommitversion">
<antcall target="spldoctoolkit">
<param name="tkdir" value="${toolkit}"/>
<param name="tktitle" value="IBMStreams ${tkinfo.info:identity.info:name} Toolkit"/>
</antcall>
</target>
<target name="spldoctoolkit">
<property name="tkdir" value="${basedir}"/>
<echo message="Tookit to SPLDOC: ${tkdir}"/>
<exec executable="${streams.install}/bin/spl-make-doc">
<arg value="--include-composite-operator-diagram"/>
<arg value="--author"/>
<arg value="IBMStreams Open Source Community at GitHub - https://github.com/IBMStreams/${ant.project.name}"/>
<arg value="--doc-title"/>
<arg value="${tktitle}"/>
<arg value="--directory"/>
<arg value="${tkdir}"/>
</exec>
</target>
<!-- Targets to build releases -->
<target name="release" depends="clean,all,spldoc">
<mkdir dir="${tmp}" />
<property name="releasefilename" value="${tmp}/streamsx.transform.toolkits-${tkinfo.info:identity.info:version}-${DSTAMP}-${TSTAMP}.tgz"/>
<tar compression="gzip" longfile="gnu"
destfile="${releasefilename}"
basedir="${basedir}"
includes="${tkinfo.info:identity.info:name}/** samples/**"
excludes="**/.gitignore **/.settings/** **/.settings **/.project **/.classpath"
/>
<checksum file="${releasefilename}"/>
<checksum algorithm="sha1" file="${releasefilename}"/>
</target>
</project>