forked from cdeptula/AvroOutputPlugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
73 lines (59 loc) · 3.14 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
<!--===========================================================================
This is the build file for Pentaho Data Integration (Kettle) plugins.
This build file will use the subfloor.xml file as the default build
process and should only override the tasks that need to differ from
the common build file.
See common_build.xml for more details
============================================================================-->
<project name="${plugin-id}" basedir="." default="default" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="bin.dir" value="${basedir}/bin" />
<property name="stage.dir" value="${bin.dir}/stage" />
<property name="approot.stage.dir.basename" value="AvroOutputPlugin" />
<property name="approot.stage.dir" value="${stage.dir}/${approot.stage.dir.basename}" />
<description>
This build file is used to create a Kettle plugin and works with the subfloor.xml file.
</description>
<!-- The continuous target is used by CI ... this is the list of -->
<!-- tasks that the CI machine will run. -->
<!-- DO NOT change the CI machine's ant task .. change this list -->
<target name="continuous"
depends="clean-all,resolve,resolve-default,dist,publish" />
<!-- Import the common_build.xml file which contains all the default tasks -->
<import file="build-res/subfloor-pkg.xml"/>
<!--
AS STATED ABOVE, THE ONLY TASKS THAT SHOULD EXIST IN THIS BUILD FILE ARE
THE TASKS THAT NEED TO DIFFER FROM THE DEFAULT IMPLEMENTATION OF THE TASKS
FOUND IN common_build.xml.
-->
<!-- create-lib is called since subfloor requires that a lib folder exists -->
<!-- a lib folder may not exist for a plugin -->
<target name="default" depends="clean-all,init,resolve,dist"/>
<target name="resolve" depends="subfloor.resolve,resolve-dev" />
<target name="create-dot-classpath" depends="init,resolve,subfloor.create-dot-classpath"/>
<!-- Override assemble.copy-libs to exclude the plugin JAR, that needs to be at the root, not in lib/ -->
<target name="assemble.copy-libs">
<copy todir="${approot.stage.dir}/lib">
<fileset dir="${lib.dir}" />
</copy>
<copy todir="${approot.stage.dir}">
<fileset file="${dist.dir}/${ivy.artifact.id}-${project.revision}.jar" />
</copy>
</target>
<target name="assemble" depends="install-antcontrib,subfloor-pkg.assemble" description="generate all the kettle plugin jars">
<!-- Update the version.xml with the current version of this plugin -->
<if>
<available file="${approot.stage.dir}/version.xml" />
<then>
<replace file="${approot.stage.dir}/version.xml" token="@VERSION@" value="${project.revision}"/>
</then>
</if>
</target>
<!--=======================================================================
resolve-dev
Resolves for development and compilation.
=====================================================================-->
<target name="resolve-dev" depends="install-ivy">
<ivy:resolve file="${ivyfile}" conf="dev" />
<ivy:retrieve conf="dev" pattern="${devlib.dir}/[module]-[revision](-[classifier]).[ext]" />
</target>
</project>