| <?xml version="1.0"?> |
| |
| <!-- |
| 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="zkpython" default="install"> |
| <import file="../build-contrib.xml"/> |
| <property name="python.src.dir" value="src/python"/> |
| <property name="test.build.dir" value="build/test/" /> |
| <property name="test.src.dir" value="src/test"/> |
| <property name="test.log.dir" value="${build.test}/logs" /> |
| <property name="test.output" value="no" /> |
| <property name="test.timeout" value="900000" /> |
| <property name="package.buildroot" value="/tmp/zkpython_build_${user.name}"/> |
| <property name="package.build.dir" value="/tmp/zkpython_build_${user.name}/BUILD"/> |
| <property name="package.release" value="1"/> |
| <property name="package.prefix" value="/usr"/> |
| |
| <target name="test" |
| depends="compile,test-init,test-category,test-start,python-test,test-stop" /> |
| |
| <target name="test-init" depends="checkMainCompiled"> |
| <delete dir="${test.log.dir}" /> |
| <mkdir dir="${test.log.dir}" /> |
| </target> |
| |
| <target name="test-start"> |
| <exec executable="${test.src.dir}/zkServer.sh" failonerror="true"> |
| <arg value="startClean"/> |
| </exec> |
| </target> |
| |
| <target name="test-stop"> |
| <exec executable="${test.src.dir}/zkServer.sh" failonerror="true"> |
| <arg value="stop"/> |
| </exec> |
| </target> |
| |
| <target name="test-category"> |
| <property name="test.category" value=""/> |
| </target> |
| |
| <target name="python-test"> |
| <exec executable="${test.src.dir}/run_tests.sh" failonerror="true"> |
| <arg value="${test.src.dir}"/> |
| <arg value="${test.log.dir}"/> |
| </exec> |
| </target> |
| |
| <target name="compile" depends="ivy-retrieve"> |
| <exec executable="python" failonerror="true"> |
| <arg value="${python.src.dir}/setup.py"/> |
| <arg value="build"/> |
| <arg value="--build-base=${build.dir}"/> |
| </exec> |
| </target> |
| |
| <target name="install" depends="compile"> |
| <exec executable="python" failonerror="true"> |
| <arg value="${python.src.dir}/setup.py"/> |
| <arg value="build"/> |
| <arg value="--build-base=${build.dir}"/> |
| <arg value="install"/> |
| </exec> |
| </target> |
| |
| <target name="package" unless="skip.contrib"> |
| <echo message="contrib: ${name}"/> |
| |
| <mkdir dir="${build.dir}"/> |
| <copy todir="${build.dir}"> |
| <fileset dir="${basedir}"> |
| <exclude name="**/VERSION"/> |
| </fileset> |
| </copy> |
| <exec executable="echo" output="${build.dir}/VERSION"> |
| <arg line="${version}" /> |
| </exec> |
| |
| <mkdir dir="${dist.dir}/zookeeper-contrib/zookeeper-contrib-${name}"/> |
| <copy todir="${dist.dir}/zookeeper-contrib/zookeeper-contrib-${name}"> |
| <fileset dir="${build.dir}"> |
| <exclude name="**/temp*"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="bin-package" depends="compile, package" unless="skip.contrib"> |
| </target> |
| |
| <target name="tar-bin" depends="init, compile, bin-package" unless="skip.contrib"> |
| <exec executable="python" failonerror="true" dir="${build.dir}"> |
| <arg value="${python.src.dir}/setup.py"/> |
| <arg value="build"/> |
| <arg value="--build-base=${build.dir}"/> |
| <arg value="bdist_dumb"/> |
| </exec> |
| </target> |
| |
| <target name="rpm" depends="tar-bin" unless="skip.contrib"> |
| <mkdir dir="${package.buildroot}/BUILD" /> |
| <mkdir dir="${package.buildroot}/RPMS" /> |
| <mkdir dir="${package.buildroot}/SRPMS" /> |
| <mkdir dir="${package.buildroot}/SOURCES" /> |
| <mkdir dir="${package.buildroot}/SPECS" /> |
| <copy todir="${package.buildroot}/SOURCES"> |
| <fileset dir="${build.dir}/dist"> |
| <include name="*.tar.gz" /> |
| </fileset> |
| </copy> |
| <path id="python.lib"> |
| <fileset dir="${package.buildroot}/SOURCES"> |
| <include name="*.tar.gz" /> |
| </fileset> |
| </path> |
| <property name="python.lib" refid="python.lib" /> |
| <copy file="${src.dir}/../packages/rpm/spec/${name}.spec" todir="${package.buildroot}/SPECS"> |
| <filterchain> |
| <replacetokens> |
| <token key="final.name" value="${name}" /> |
| <token key="version" value="${rpm.version}" /> |
| <token key="package.release" value="${package.release}" /> |
| <token key="package.build.dir" value="${package.build.dir}" /> |
| <token key="package.prefix" value="${package.prefix}" /> |
| <token key="python.lib" value="${python.lib}" /> |
| </replacetokens> |
| </filterchain> |
| </copy> |
| |
| <rpm specFile="${name}.spec" command="-ba --buildroot=${package.buildroot}/BUILD" topDir="${package.buildroot}" cleanBuildDir="true" failOnError="true" /> |
| <copy todir="${build.dir}/" flatten="true"> |
| <fileset dir="${package.buildroot}/RPMS"> |
| <include name="**/*.rpm" /> |
| </fileset> |
| </copy> |
| <delete dir="${package.buildroot}" quiet="true" verbose="false" /> |
| </target> |
| |
| <target name="deb" depends="tar-bin" unless="skip.contrib"> |
| <mkdir dir="${package.buildroot}" /> |
| <mkdir dir="${package.buildroot}/BUILD" /> |
| <mkdir dir="${package.buildroot}/SPECS" /> |
| <copy todir="${package.buildroot}/SOURCES"> |
| <fileset dir="${build.dir}/dist"> |
| <include name="*.tar.gz" /> |
| </fileset> |
| </copy> |
| <path id="python.lib"> |
| <fileset dir="${package.buildroot}/SOURCES"> |
| <include name="*.tar.gz" /> |
| </fileset> |
| </path> |
| <property name="python.lib" refid="python.lib" /> |
| <copy todir="${package.build.dir}/zkpython.control"> |
| <fileset dir="${src.dir}/../packages/deb/zkpython.control"> |
| <exclude name="control" /> |
| </fileset> |
| </copy> |
| <copy file="${src.dir}/../packages/deb/zkpython.control/control" todir="${package.build.dir}/zkpython.control"> |
| <filterchain> |
| <replacetokens> |
| <token key="final.name" value="${name}" /> |
| <token key="version" value="${version}" /> |
| <token key="package.release" value="${package.release}" /> |
| <token key="package.build.dir" value="${package.build.dir}" /> |
| <token key="package.prefix" value="${package.prefix}" /> |
| </replacetokens> |
| </filterchain> |
| </copy> |
| <taskdef name="deb" classname="org.vafer.jdeb.ant.DebAntTask"> |
| <classpath refid="classpath"/> |
| </taskdef> |
| <deb destfile="${package.buildroot}/${name}_${version}-${package.release}_${os.arch}.deb" control="${package.build.dir}/zkpython.control"> |
| <data src="${python.lib}" /> |
| </deb> |
| <copy todir="${build.dir}/" flatten="true"> |
| <fileset dir="${package.buildroot}"> |
| <include name="**/${name}_*.deb" /> |
| </fileset> |
| </copy> |
| <delete dir="${package.buildroot}" quiet="true" verbose="false"/> |
| </target> |
| </project> |
| |