forked from AbsaOSS/spline-spark-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun-example.xml
102 lines (86 loc) · 3.27 KB
/
run-example.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
<!--
~ Copyright 2019 ABSA Group Limited
~
~ 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.
-->
<project name="Spline example runner">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<target name="main">
<condition property="spline.producer.url"
value="${spline.producer.url}"
else="http://localhost:8080/producer">
<isset property="spline.producer.url"/>
</condition>
<condition property="spline.mode"
value="${spline.mode}"
else="ENABLED">
<isset property="spline.mode"/>
</condition>
<if>
<isset property="exampleClass"/>
<then>
<antcall target="runClass">
<param name="className" value="${exampleClass}"/>
</antcall>
</then>
<else>
<antcall target="runAll"/>
</else>
</if>
</target>
<target name="runAll">
<foreach target="runFile" param="classFile">
<param name="classpath" value="${classpath}"/>
<param name="spline.producer.url" value="${spline.producer.url}"/>
<param name="spline.mode" value="${spline.mode}"/>
<fileset dir="${basedir}" casesensitive="yes">
<include name="**/example/**/*Job.class"/>
</fileset>
</foreach>
</target>
<target name="runFile">
<propertyregex property="className"
input="${classFile}"
regexp=".+[/\\]target[/\\]classes[/\\]za[/\\]co[/\\]absa[/\\]spline[/\\](?:[^/\\]+[/\\])*([^/\\]+)[/\\](.+)\.class"
select="za.co.absa.spline.example.\1.\2"
casesensitive="true"/>
<antcall target="runClass"/>
</target>
<target name="runClass">
<echo message="Running ${className}"/>
<propertyset id="spline-props">
<propertyref prefix="spline."/>
</propertyset>
<propertyset id="spark-props">
<propertyref prefix="spark."/>
</propertyset>
<propertyset id="proxy-props">
<propertyref prefix="http."/>
<propertyref prefix="https."/>
</propertyset>
<propertyset id="props">
<propertyset refid="spline-props"/>
<propertyset refid="spark-props"/>
<propertyset refid="proxy-props"/>
</propertyset>
<echoproperties>
<propertyset refid="props"/>
</echoproperties>
<java fork="true"
failonerror="true"
classname="${className}"
classpath="${classpath}">
<syspropertyset refid="props"/>
</java>
</target>
</project>