|
@@ -0,0 +1,458 @@
|
|
|
+<?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="hdfsproxy" default="jar" xmlns:ivy="antlib:org.apache.ivy.ant">
|
|
|
+ <property name="hdfsproxyVersion" value="2.0"/>
|
|
|
+ <property name="final.name" value="${ant.project.name}-${hdfsproxyVersion}"/>
|
|
|
+ <property name="javac.debug" value="on"/>
|
|
|
+ <property name="javac.optimize" value="on"/>
|
|
|
+ <import file="../build-contrib.xml"/>
|
|
|
+
|
|
|
+ <property name="bin.dir" value="${basedir}/bin"/>
|
|
|
+ <property name="lib.dir" value="${basedir}/lib"/>
|
|
|
+ <property name="hadoop.jars.dir" value="${basedir}/hadoopjars"/>
|
|
|
+
|
|
|
+ <property name="docs.dir" value="${basedir}/docs"/>
|
|
|
+ <property name="test.build.dir" value="${build.dir}/test"/>
|
|
|
+ <property name="test.build.classes" value="${test.build.dir}/classes"/>
|
|
|
+ <property name="src.test.resources" value="${basedir}/src/test/resources"/>
|
|
|
+ <property name="ssl.keystore.proxy" value="${src.test.resources}/ssl-keys/proxy.keystore"/>
|
|
|
+ <property name="ssl.keystore.client" value="${src.test.resources}/ssl-keys/client.keystore"/>
|
|
|
+ <property name="ssl.client.cert" value="${src.test.resources}/ssl-keys/test.crt"/>
|
|
|
+ <property name="proxy.conf.test" value="${src.test.resources}/proxy-config"/>
|
|
|
+ <property name="tomcat.conf.test" value="${src.test.resources}/tomcat-config"/>
|
|
|
+ <property name="target.dir" value="${build.dir}/target"/>
|
|
|
+ <property name="logs.dir" value="${target.dir}/logs"/>
|
|
|
+ <property name="reports.dir" value="${target.dir}/reports"/>
|
|
|
+ <property name="tomcatconfig.dir" value="${target.dir}/tomcat-config"/>
|
|
|
+ <property name="tomcat.container.id" value="tomcat5x"/>
|
|
|
+ <property name="cargo.logging" value="high"/>
|
|
|
+ <property name="cactus.formatter.type" value="xml"/>
|
|
|
+ <property name="cactus.warfile.name" value="test"/>
|
|
|
+
|
|
|
+ <available file="${hadoop.root}/build/classes" type="dir" property="test.available"/>
|
|
|
+ <property environment="env"/>
|
|
|
+ <!-- check if environment has been set -->
|
|
|
+ <condition property="proxy.conf.dir" value="${env.HDFSPROXY_CONF_DIR}" else="${basedir}/conf">
|
|
|
+ <and>
|
|
|
+ <isset property="env.HDFSPROXY_CONF_DIR"/>
|
|
|
+ <available file="${env.HDFSPROXY_CONF_DIR}/hdfsproxy-default.xml"/>
|
|
|
+ </and>
|
|
|
+ </condition>
|
|
|
+
|
|
|
+ <condition property="startCactus">
|
|
|
+ <and>
|
|
|
+ <or>
|
|
|
+ <equals arg1="${testcase}" arg2="TestProxyFilter" />
|
|
|
+ <equals arg1="${testcase}" arg2="TestProxyUtil" />
|
|
|
+ <equals arg1="${testcase}" arg2="TestProxyForwardServlet" />
|
|
|
+ <not>
|
|
|
+ <isset property="testcase"/>
|
|
|
+ </not>
|
|
|
+ </or>
|
|
|
+ <isset property="test.available"/>
|
|
|
+ </and>
|
|
|
+ </condition>
|
|
|
+
|
|
|
+ <condition property="useClover">
|
|
|
+ <and>
|
|
|
+ <isset property="clover.home"/>
|
|
|
+ <available file="${clover.home}/lib/clover.jar"/>
|
|
|
+ </and>
|
|
|
+ </condition>
|
|
|
+
|
|
|
+ <property name="ivy.settings.file" location="${hadoop.root}/ivy/ivysettings.xml"/>
|
|
|
+
|
|
|
+ <target name="ivy-init" depends="ivy-init-antlib">
|
|
|
+ <ivy:settings id="${ant.project.name}.ivy.settings"/>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <!-- Define the Cactus tasks -->
|
|
|
+ <target name="load-tasks" depends="ivy-retrieve-common">
|
|
|
+ <taskdef resource="cactus.tasks"
|
|
|
+ classpathref="cactus.classpath">
|
|
|
+ </taskdef>
|
|
|
+ </target>
|
|
|
+
|
|
|
+
|
|
|
+ <target name="jar" depends="compile" description="Create jar">
|
|
|
+ <echo>
|
|
|
+ Building the .jar files.
|
|
|
+ </echo>
|
|
|
+ <jar jarfile="${build.dir}/${final.name}.jar" basedir="${build.classes}" includes="org/apache/hadoop/hdfsproxy/**/*.class" >
|
|
|
+ <manifest>
|
|
|
+ <section name="org/apache/hadoop/hdfsproxy">
|
|
|
+ <attribute name="Implementation-Title" value="HdfsProxy"/>
|
|
|
+ <attribute name="Implementation-Version" value="${hdfsproxyVersion}"/>
|
|
|
+ <attribute name="Implementation-Vendor" value="Apache"/>
|
|
|
+ </section>
|
|
|
+ </manifest>
|
|
|
+ </jar>
|
|
|
+ </target>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <!-- Make war file -->
|
|
|
+ <!-- ================================================================== -->
|
|
|
+
|
|
|
+ <target name="war" depends="compile" description="Create war">
|
|
|
+ <echo>
|
|
|
+ Building the .war file
|
|
|
+ </echo>
|
|
|
+ <war destfile="${build.dir}/${final.name}.war" webxml="${basedir}/conf/tomcat-web.xml">
|
|
|
+ <lib dir="${common.ivy.lib.dir}">
|
|
|
+ <include name="commons-logging-${commons-logging.version}.jar"/>
|
|
|
+ <include name="junit-${junit.version}.jar"/>
|
|
|
+ <include name="log4j-${log4j.version}.jar"/>
|
|
|
+ <include name="slf4j-api-${slf4j-api.version}.jar"/>
|
|
|
+ <include name="slf4j-log4j12-${slf4j-log4j12.version}.jar"/>
|
|
|
+ <include name="xmlenc-${xmlenc.version}.jar"/>
|
|
|
+ <include name="core-${core.version}.jar"/>
|
|
|
+ </lib>
|
|
|
+ <classes dir="${proxy.conf.dir}" excludes="**/*.example **/*.template **/*.sh hadoop-site.xml"/>
|
|
|
+ <classes dir="${build.classes}"/>
|
|
|
+ <classes dir="${hadoop.root}/build/classes"/>
|
|
|
+ </war>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <target name="forward" depends="compile" description="Create forward war">
|
|
|
+ <echo>
|
|
|
+ Building the forward war file
|
|
|
+ </echo>
|
|
|
+ <war destfile="${build.dir}/${final.name}-forward.war" webxml="${basedir}/conf/tomcat-forward-web.xml">
|
|
|
+ <lib dir="${common.ivy.lib.dir}">
|
|
|
+ <include name="commons-logging-${commons-logging.version}.jar"/>
|
|
|
+ <include name="junit-${junit.version}.jar"/>
|
|
|
+ <include name="log4j-${log4j.version}.jar"/>
|
|
|
+ <include name="slf4j-api-${slf4j-api.version}.jar"/>
|
|
|
+ <include name="slf4j-log4j12-${slf4j-log4j12.version}.jar"/>
|
|
|
+ <include name="xmlenc-${xmlenc.version}.jar"/>
|
|
|
+ <include name="core-${core.version}.jar"/>
|
|
|
+ </lib>
|
|
|
+ <classes dir="${proxy.conf.dir}" excludes="**/*.example **/*.template **/*.sh hadoop-site.xml"/>
|
|
|
+ <classes dir="${build.classes}"/>
|
|
|
+ <classes dir="${hadoop.root}/build/classes"/>
|
|
|
+ </war>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <target name="cactifywar" depends="war,load-tasks,cactifywar-pure,cactifywar-clover" description="To include clover coverage test use -Dclover.home ..."/>
|
|
|
+
|
|
|
+ <target name="cactifywar-pure" depends="war,load-tasks" unless="useClover">
|
|
|
+ <mkdir dir="${target.dir}" />
|
|
|
+ <echo> no clover found ...</echo>
|
|
|
+ <cactifywar srcfile="${build.dir}/${final.name}.war"
|
|
|
+ destfile="${target.dir}/${cactus.warfile.name}.war"
|
|
|
+ mergewebxml="${src.test.resources}/cactus-web.xml">
|
|
|
+ <servletredirector/>
|
|
|
+ <servletredirector name="ServletRedirectorSecure"
|
|
|
+ mapping="/ServletRedirectorSecure" roles="test"/>
|
|
|
+ <filterredirector mapping="/test/filterRedirector.jsp"/>
|
|
|
+ <classes dir="${proxy.conf.test}" excludes="**/*.template **/*.sh"/>
|
|
|
+ <classes dir="${test.build.dir}"/>
|
|
|
+ </cactifywar>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <target name="cactifywar-clover" depends="war,load-tasks" if="useClover">
|
|
|
+ <mkdir dir="${target.dir}" />
|
|
|
+ <echo> Including clover.jar in the war file ...</echo>
|
|
|
+ <cactifywar srcfile="${build.dir}/${final.name}.war"
|
|
|
+ destfile="${target.dir}/${cactus.warfile.name}.war"
|
|
|
+ mergewebxml="${src.test.resources}/cactus-web.xml">
|
|
|
+ <servletredirector/>
|
|
|
+ <servletredirector name="ServletRedirectorSecure"
|
|
|
+ mapping="/ServletRedirectorSecure" roles="test"/>
|
|
|
+ <filterredirector mapping="/test/filterRedirector.jsp"/>
|
|
|
+ <classes dir="${proxy.conf.test}" excludes="**/*.template **/*.sh"/>
|
|
|
+ <classes dir="${test.build.dir}"/>
|
|
|
+ <lib dir="${clover.home}/lib">
|
|
|
+ <include name="clover.jar"/>
|
|
|
+ </lib>
|
|
|
+ </cactifywar>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <target name="test" depends="compile,compile-test,test-junit,test-cactus" description="Automated Test Framework" if="test.available"/>
|
|
|
+
|
|
|
+ <target name="test-junit" depends="compile,compile-test" if="test.available">
|
|
|
+ <junit fork="yes" printsummary="yes" errorProperty="tests.failed" failureProperty="tests.failed">
|
|
|
+ <classpath refid="test.classpath"/>
|
|
|
+ <sysproperty key="test.build.data" value="${build.test}/data"/>
|
|
|
+ <sysproperty key="build.test" value="${build.test}"/>
|
|
|
+ <sysproperty key="user.dir" value="${build.test}/data"/>
|
|
|
+ <sysproperty key="fs.default.name" value="${fs.default.name}"/>
|
|
|
+ <sysproperty key="hadoop.test.localoutputfile" value="${hadoop.test.localoutputfile}"/>
|
|
|
+ <sysproperty key="hadoop.log.dir" value="${hadoop.log.dir}"/>
|
|
|
+ <sysproperty key="test.src.dir" value="${test.src.dir}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.trustStore" value="${ssl.keystore.proxy}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.trustStorePassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStore.proxy" value="${ssl.keystore.proxy}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStore" value="${ssl.keystore.client}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStorePassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyPassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.clientCert" value="${ssl.client.cert}"/>
|
|
|
+ <formatter type="xml" />
|
|
|
+ <batchtest todir="${test.build.dir}" unless="testcase">
|
|
|
+ <fileset dir="${src.test}">
|
|
|
+ <include name="**/TestHdfsProxy.java"/>
|
|
|
+ <include name="**/TestProxyUgiManager.java"/>
|
|
|
+ </fileset>
|
|
|
+ </batchtest>
|
|
|
+ <batchtest todir="${test.build.dir}" if="testcase">
|
|
|
+ <fileset dir="${src.test}">
|
|
|
+ <include name="**/${testcase}.java"/>
|
|
|
+ <exclude name="**/TestProxyFilter.java"/>
|
|
|
+ <exclude name="**/TestProxyUtil.java"/>
|
|
|
+ <exclude name="**/TestProxyForwardServlet.java"/>
|
|
|
+ </fileset>
|
|
|
+ </batchtest>
|
|
|
+ </junit>
|
|
|
+ <fail if="tests.failed">Tests failed!</fail>
|
|
|
+ </target>
|
|
|
+
|
|
|
+
|
|
|
+ <target name="test-cactus" depends="compile,compile-test,cactifywar" if="startCactus">
|
|
|
+ <exec executable="${env.JAVA_HOME}/bin/java" outputproperty="cargo.servlet.admin.port">
|
|
|
+ <arg line="-cp ${build.test} org.apache.hadoop.hdfsproxy.FindFreePort -random"/>
|
|
|
+ </exec>
|
|
|
+ <exec executable="${env.JAVA_HOME}/bin/java" outputproperty="cargo.servlet.http.port">
|
|
|
+ <arg line="-cp ${build.test} org.apache.hadoop.hdfsproxy.FindFreePort ${cargo.servlet.admin.port}"/>
|
|
|
+ </exec>
|
|
|
+ <exec executable="${env.JAVA_HOME}/bin/java" outputproperty="cargo.servlet.https.port">
|
|
|
+ <arg line="-cp ${build.test} org.apache.hadoop.hdfsproxy.FindFreePort ${cargo.servlet.http.port}"/>
|
|
|
+ </exec>
|
|
|
+
|
|
|
+ <echo> Free Ports: startup-${cargo.servlet.admin.port} / http-${cargo.servlet.http.port} / https-${cargo.servlet.https.port}</echo>
|
|
|
+ <echo>Please take a deep breath while Cargo gets the Tomcat for running the servlet tests...</echo>
|
|
|
+
|
|
|
+ <mkdir dir="${tomcatconfig.dir}" />
|
|
|
+ <mkdir dir="${tomcatconfig.dir}/conf" />
|
|
|
+ <mkdir dir="${tomcatconfig.dir}/webapps" />
|
|
|
+ <mkdir dir="${tomcatconfig.dir}/temp" />
|
|
|
+ <mkdir dir="${logs.dir}" />
|
|
|
+ <mkdir dir="${reports.dir}" />
|
|
|
+ <copy file="${tomcat.conf.test}/server.xml" tofile="${tomcatconfig.dir}/conf/server.xml" overwrite="true">
|
|
|
+ <filterset>
|
|
|
+ <filter token="ADMIN.PORT" value="${cargo.servlet.admin.port}"/>
|
|
|
+ <filter token="HTTP.PORT" value="${cargo.servlet.http.port}"/>
|
|
|
+ <filter token="HTTPS.PORT" value="${cargo.servlet.https.port}"/>
|
|
|
+ </filterset>
|
|
|
+ </copy>
|
|
|
+ <copy file="${tomcat.conf.test}/web.xml" tofile="${tomcatconfig.dir}/conf/web.xml"/>
|
|
|
+ <copy file="${tomcat.conf.test}/tomcat-users.xml" tofile="${tomcatconfig.dir}/conf/tomcat-users.xml"/>
|
|
|
+
|
|
|
+ <cactus warfile="${target.dir}/${cactus.warfile.name}.war" fork="yes" haltonfailure="no" printsummary="yes" failureproperty="tests.failed">
|
|
|
+ <classpath>
|
|
|
+ <path refid="cactus.classpath"/>
|
|
|
+ <pathelement location="${build.classes}"/>
|
|
|
+ <pathelement location="${proxy.conf.dir}"/>
|
|
|
+ <pathelement location="${src.test.resources}"/>
|
|
|
+ <pathelement location="${src.test.resources}/proxy-config"/>
|
|
|
+ </classpath>
|
|
|
+ <containerset>
|
|
|
+ <cargo containerId="${tomcat.container.id}" timeout="30000" output="${logs.dir}/output.log" log="${logs.dir}/cargo.log">
|
|
|
+ <zipUrlInstaller
|
|
|
+ installUrl="http://apache.osuosl.org/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip"
|
|
|
+ installDir="${target.dir}/${tomcat.container.id}"/>
|
|
|
+ <configuration type="existing" home="${tomcatconfig.dir}">
|
|
|
+ <property name="cargo.servlet.port" value="${cargo.servlet.http.port}"/>
|
|
|
+ <property name="cargo.logging" value="${cargo.logging}"/>
|
|
|
+ <property name="cactus.toDir" value="${build.test}"/>
|
|
|
+ <deployable type="war" file="${target.dir}/${cactus.warfile.name}.war"/>
|
|
|
+ </configuration>
|
|
|
+ </cargo>
|
|
|
+ </containerset>
|
|
|
+ <sysproperty key="test.build.data" value="${build.test}/data"/>
|
|
|
+ <sysproperty key="build.test" value="${build.test}"/>
|
|
|
+ <sysproperty key="build.target" value="${target.dir}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.trustStore" value="${ssl.keystore.proxy}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.trustStorePassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStore.proxy" value="${ssl.keystore.proxy}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStore" value="${ssl.keystore.client}"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyStorePassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.keyPassword" value="changeme"/>
|
|
|
+ <sysproperty key="javax.net.ssl.clientCert" value="${ssl.client.cert}"/>
|
|
|
+ <sysproperty key="test.proxy.conf.dir" value="${proxy.conf.test}"/>
|
|
|
+ <sysproperty key="test.proxy.https.port" value="${cargo.servlet.https.port}"/>
|
|
|
+
|
|
|
+ <formatter type="${cactus.formatter.type}"/>
|
|
|
+ <batchtest todir="${reports.dir}" unless="testcase">
|
|
|
+ <fileset dir="${src.test}">
|
|
|
+ <include name="**/Test*.java"/>
|
|
|
+ <exclude name="**/TestHdfsProxy.java"/>
|
|
|
+ <exclude name="**/TestProxyUgiManager.java"/>
|
|
|
+ </fileset>
|
|
|
+ </batchtest>
|
|
|
+ <batchtest todir="${reports.dir}" if="testcase">
|
|
|
+ <fileset dir="${src.test}">
|
|
|
+ <include name="**/${testcase}.java"/>
|
|
|
+ <exclude name="**/TestHdfsProxy.java"/>
|
|
|
+ <exclude name="**/TestProxyUgiManager.java"/>
|
|
|
+ </fileset>
|
|
|
+ </batchtest>
|
|
|
+ </cactus>
|
|
|
+ <fail if="tests.failed">Tests failed!</fail>
|
|
|
+ </target>
|
|
|
+ <!-- ====================================================== -->
|
|
|
+ <!-- Macro definitions -->
|
|
|
+ <!-- ====================================================== -->
|
|
|
+ <macrodef name="macro_tar" description="Worker Macro for tar">
|
|
|
+ <attribute name="param.destfile"/>
|
|
|
+ <element name="param.listofitems"/>
|
|
|
+ <sequential>
|
|
|
+ <tar compression="gzip" longfile="gnu"
|
|
|
+ destfile="@{param.destfile}">
|
|
|
+ <param.listofitems/>
|
|
|
+ </tar>
|
|
|
+ </sequential>
|
|
|
+ </macrodef>
|
|
|
+
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <!-- D I S T R I B U T I O N -->
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <!-- -->
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <target name="local-package" depends="jar,war" description="Package in local build directory">
|
|
|
+ <mkdir dir="${build.dir}/${final.name}"/>
|
|
|
+ <mkdir dir="${build.dir}/${final.name}/logs"/>
|
|
|
+ <copy todir="${build.dir}/${final.name}" includeEmptyDirs="false">
|
|
|
+ <fileset dir="${build.dir}">
|
|
|
+ <include name="*.jar" />
|
|
|
+ <include name="*.war" />
|
|
|
+ </fileset>
|
|
|
+ </copy>
|
|
|
+ <copy todir="${build.dir}/${final.name}/lib" includeEmptyDirs="false">
|
|
|
+ <fileset dir="${common.ivy.lib.dir}">
|
|
|
+ <include name="commons-logging-${commons-logging.version}.jar"/>
|
|
|
+ <include name="commons-logging-api-${commons-logging-api.version}.jar"/>
|
|
|
+ <include name="junit-${junit.version}.jar"/>
|
|
|
+ <include name="log4j-${log4j.version}.jar"/>
|
|
|
+ <include name="slf4j-api-${slf4j-api.version}.jar"/>
|
|
|
+ <include name="slf4j-log4j12-${slf4j-log4j12.version}.jar"/>
|
|
|
+ <include name="xmlenc-${xmlenc.version}.jar"/>
|
|
|
+ <include name="jetty-util-${jetty-util.version}.jar"/>
|
|
|
+ <include name="jetty-${jetty.version}.jar"/>
|
|
|
+ <include name="servlet-api-2.5-${servlet-api-2.5.version}.jar"/>
|
|
|
+ <include name="core-${core.version}.jar"/>
|
|
|
+ <include name="jsp-${jsp.version}-${jetty.version}.jar"/>
|
|
|
+ <include name="jsp-api-${jsp.version}-${jetty.version}.jar"/>
|
|
|
+ </fileset>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+ <copy todir="${build.dir}/${final.name}/lib" includeEmptyDirs="false">
|
|
|
+ <fileset dir="${hadoop.root}/build">
|
|
|
+ <include name="*-core.jar"/>
|
|
|
+ <include name="*-tools.jar"/>
|
|
|
+ </fileset>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+ <copy todir="${build.dir}/${final.name}/bin">
|
|
|
+ <fileset dir="${bin.dir}"/>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+
|
|
|
+ <copy todir="${build.dir}/${final.name}/conf">
|
|
|
+ <fileset dir="${proxy.conf.dir}"/>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+
|
|
|
+ <copy todir="${build.dir}/${final.name}">
|
|
|
+ <fileset dir="${basedir}">
|
|
|
+ <include name="README" />
|
|
|
+ <include name="build.xml" />
|
|
|
+ <include name="*.txt" />
|
|
|
+ </fileset>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+ <copy todir="${build.dir}/${final.name}/src" includeEmptyDirs="true">
|
|
|
+ <fileset dir="${src.dir}" excludes="**/*.template **/docs/build/**/*"/>
|
|
|
+ </copy>
|
|
|
+
|
|
|
+ <chmod perm="ugo+x" type="file" parallel="false">
|
|
|
+ <fileset dir="${build.dir}/${final.name}/bin"/>
|
|
|
+ </chmod>
|
|
|
+
|
|
|
+ </target>
|
|
|
+ <target name="package" depends="local-package" description="Build distribution">
|
|
|
+ <mkdir dir="${dist.dir}/contrib/${name}"/>
|
|
|
+ <copy todir="${dist.dir}/contrib/${name}">
|
|
|
+ <fileset dir="${build.dir}/${final.name}">
|
|
|
+ <exclude name="**/lib/**" />
|
|
|
+ <exclude name="**/src/**" />
|
|
|
+ <exclude name="*.war" />
|
|
|
+ </fileset>
|
|
|
+ </copy>
|
|
|
+ <chmod dir="${dist.dir}/contrib/${name}/bin" perm="a+x" includes="*"/>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <!-- Make release tarball -->
|
|
|
+ <!-- ================================================================== -->
|
|
|
+ <target name="tar" depends="local-package,war" description="Make release tarball">
|
|
|
+ <macro_tar param.destfile="${build.dir}/${final.name}.tar.gz">
|
|
|
+ <param.listofitems>
|
|
|
+ <tarfileset dir="${build.dir}" mode="664">
|
|
|
+ <exclude name="${final.name}/bin/*" />
|
|
|
+ <include name="${final.name}/**" />
|
|
|
+ </tarfileset>
|
|
|
+ <tarfileset dir="${build.dir}" mode="755">
|
|
|
+ <include name="${final.name}/bin/*" />
|
|
|
+ </tarfileset>
|
|
|
+ </param.listofitems>
|
|
|
+ </macro_tar>
|
|
|
+ </target>
|
|
|
+
|
|
|
+ <target name="binary" depends="local-package,war" description="Make tarball without source and documentation">
|
|
|
+ <macro_tar param.destfile="${build.dir}/${final.name}-bin.tar.gz">
|
|
|
+ <param.listofitems>
|
|
|
+ <tarfileset dir="${build.dir}" mode="664">
|
|
|
+ <exclude name="${final.name}/bin/*" />
|
|
|
+ <exclude name="${final.name}/src/**" />
|
|
|
+ <exclude name="${final.name}/docs/**" />
|
|
|
+ <include name="${final.name}/**" />
|
|
|
+ </tarfileset>
|
|
|
+ <tarfileset dir="${build.dir}" mode="755">
|
|
|
+ <include name="${final.name}/bin/*" />
|
|
|
+ </tarfileset>
|
|
|
+ </param.listofitems>
|
|
|
+ </macro_tar>
|
|
|
+ </target>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- the unit test classpath -->
|
|
|
+ <path id="test.classpath">
|
|
|
+ <pathelement location="${proxy.conf.test}" />
|
|
|
+ <pathelement location="${test.build.dir}" />
|
|
|
+ <pathelement location="${hadoop.root}/build/test/classes"/>
|
|
|
+ <pathelement location="${hadoop.root}/build/test/core/classes"/>
|
|
|
+ <pathelement location="${hadoop.root}/build/test/hdfs/classes"/>
|
|
|
+ <pathelement location="${hadoop.root}/build/test/mapred/classes"/>
|
|
|
+ <!--<pathelement location="${hadoop.root}/src/contrib/test"/>-->
|
|
|
+ <pathelement location="${hadoop.root}/conf"/>
|
|
|
+ <pathelement location="${hadoop.root}/build"/>
|
|
|
+ <pathelement location="${hadoop.root}/build/classes"/>
|
|
|
+ <pathelement location="${hadoop.root}/build/tools"/>
|
|
|
+ <pathelement location="${build.examples}"/>
|
|
|
+ <pathelement path="${clover.jar}"/>
|
|
|
+ <path refid="contrib-classpath"/>
|
|
|
+ </path>
|
|
|
+
|
|
|
+ <path id="cactus.classpath">
|
|
|
+ <path refid="test.classpath"/>
|
|
|
+ </path>
|
|
|
+
|
|
|
+</project>
|