summaryrefslogtreecommitdiff
path: root/lib/java/build.xml
blob: af4af07dc81e9fffef618567f6927ef386f6899c (plain)
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
<project name="libthrift" default="dist" basedir=".">

  <description>Thrift Build File</description>

  <property name="gen" location="gen-java" />
  <property name="genbean" location="gen-javabean" />

  <property name="src" location="src" />
  <property name="build" location="build" />
  <property name="javadoc" location="${build}/javadoc" />
  <property name="install.path" value="/usr/local/lib" />
  <property name="src.test" location="test" />
  <property name="build.test" location="${build}/test" />
  <property name="test.thrift.home" location="../../test"/>

  <property file="${user.home}/.thrift-build.properties" />

  <property name="cpath" location="libthrift.jar:${thrift.extra.cpath}" />

  <target name="init">
    <tstamp />
    <mkdir dir="${build}"/>
    <mkdir dir="${build.test}" />
  </target>

  <target name="compile" depends="init">
    <javac srcdir="${src}" destdir="${build}" source="1.5" debug="true"/>
  </target>

  <target name="javadoc" depends="init">
    <javadoc sourcepath="${src}"
      destdir="${javadoc}"
      version="true"
      windowtitle="Thrift Java API"
      doctitle="Thrift Java API">
    </javadoc>
  </target>

  <target name="dist" depends="compile">
    <jar jarfile="libthrift.jar">
      <fileset dir="${build}">
        <include name="**/*.class" />
      </fileset>
      <fileset dir="src">
        <include name="**/*.java" />
      </fileset>
    </jar>
  </target>

  <target name="install" depends="dist,javadoc">
    <exec executable="install">
      <arg line="libthrift.jar ${install.path}" />
    </exec>
    <copy todir="${install.javadoc.path}">
      <fileset dir="${javadoc}">
        <include name="**/*" />
      </fileset>
    </copy>
  </target>

  <target name="clean">
    <delete dir="${build}" />
    <delete dir="${gen}"/>
    <delete dir="${genbean}"/>
    <delete dir="${javadoc}"/>
    <delete file="libthrift.jar" />
  </target>

  <target name="compile-test" description="Build the test suite classes" depends="generate,dist">
    <javac debug="true" srcdir="${gen}" destdir="${build.test}" classpath="${cpath}" />
    <javac debug="true" srcdir="${genbean}" destdir="${build.test}" classpath="${cpath}" />
    <javac debug="true" srcdir="${src.test}" destdir="${build.test}" classpath="${cpath}:${gen}" />
  </target>

  <target name="test" description="Run the full test suite" depends="compile-test">
    <java classname="org.apache.thrift.test.JSONProtoTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.TCompactProtocolTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.IdentityTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.EqualityTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.ToStringTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.DeepCopyTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.MetaDataTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
    <java classname="org.apache.thrift.test.JavaBeansTest"
      classpath="${cpath}:${build.test}" failonerror="true" />
  </target>

  <target name="generate">
    <exec executable="../../compiler/cpp/thrift">
      <arg line="--gen java:hashcode ${test.thrift.home}/ThriftTest.thrift" />
    </exec>
    <exec executable="../../compiler/cpp/thrift">
      <arg line="--gen java:hashcode ${test.thrift.home}/DebugProtoTest.thrift" />
    </exec>
    <exec executable="../../compiler/cpp/thrift">
      <arg line="--gen java:hashcode ${test.thrift.home}/OptionalRequiredTest.thrift" />
    </exec>
    <exec executable="../../compiler/cpp/thrift">
      <arg line="--gen java:beans,nocamel ${test.thrift.home}/JavaBeansTest.thrift" />
    </exec>
  </target>

</project>