summaryrefslogtreecommitdiff
path: root/contrib/fb303/java/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/fb303/java/build.xml')
-rwxr-xr-xcontrib/fb303/java/build.xml84
1 files changed, 84 insertions, 0 deletions
diff --git a/contrib/fb303/java/build.xml b/contrib/fb303/java/build.xml
new file mode 100755
index 000000000..4ad30e53f
--- /dev/null
+++ b/contrib/fb303/java/build.xml
@@ -0,0 +1,84 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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="libfb303" default="dist" basedir="..">
+
+ <!-- project wide settings. All directories relative to basedir -->
+ <property name="src.dir" value="java"/>
+ <property name="if.dir" value="if"/>
+ <property name="thrift_home" value="/usr/local"/>
+
+ <!-- temp build directories -->
+ <property name="build.dir" value="${src.dir}/build"/>
+ <property name="build.classes.dir" value="${build.dir}/classes"/>
+ <property name="build.lib.dir" value="${build.dir}/lib"/>
+
+ <!-- final distribution directories -->
+ <property name="dist.dir" value="/usr/local"/>
+ <property name="dist.lib.dir" value="${dist.dir}/lib"/>
+
+ <!-- make temporary and distribution directories -->
+ <target name="prepare">
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${build.classes.dir}"/>
+ <mkdir dir="${build.lib.dir}"/>
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${dist.lib.dir}"/>
+ </target>
+
+ <!-- generate fb303 thrift code -->
+ <target name="thriftbuild">
+ <echo>generating thrift fb303 files</echo>
+ <exec executable="${thrift_home}/bin/thrift" failonerror="true">
+ <arg line="--gen java -o ${src.dir} ${src.dir}/../if/fb303.thrift" />
+ </exec>
+ <move todir="${src.dir}">
+ <fileset dir="${src.dir}/gen-java/com/facebook/fb303">
+ <include name="**/*.java"/>
+ </fileset>
+ </move>
+ </target>
+
+ <!-- compile the base and thrift generated code and jar them -->
+ <target name="dist" depends="prepare,thriftbuild">
+ <echo>Building libfb303.jar .... </echo>
+ <javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on">
+ <classpath>
+ <pathelement location="${thrift_home}/lib/libthrift.jar"/>
+ </classpath>
+ <include name="*.java"/>
+ <include name="${build.dir}/gen-java/com/facebook/fb303"/>
+ </javac>
+ <jar jarfile="${build.lib.dir}/libfb303.jar" basedir="${build.classes.dir}">
+ </jar>
+ </target>
+
+ <!-- copy the build jar to the distribution library directory -->
+ <target name="install" depends="dist">
+ <copy todir="${dist.lib.dir}">
+ <fileset dir="${build.lib.dir}" includes="libfb303.jar"/>
+ </copy>
+ </target>
+
+ <target name="clean">
+ <echo>Cleaning old stuff .... </echo>
+ <delete dir="${build.dir}/classes/com"/>
+ <delete dir="${build.dir}/lib"/>
+ <delete dir="${build.dir}"/>
+ </target>
+</project>