Просмотр исходного кода

HADOOP-2298. Add Ant target for a binary-only distribution. Contributed by Hrishikesh.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@612933 13f79535-47bb-0310-9956-ffa450edef68
Nigel Daley 17 лет назад
Родитель
Сommit
db2b140719
2 измененных файлов с 50 добавлено и 16 удалено
  1. 3 0
      CHANGES.txt
  2. 47 16
      build.xml

+ 3 - 0
CHANGES.txt

@@ -260,6 +260,9 @@ Trunk (unreleased changes)
     HADOOP-1742. Improve JavaDoc documentation for ClientProtocol, DFSClient,
     and FSNamesystem. (Konstantin Shvachko)
 
+    HADOOP-2298. Add Ant target for a binary-only distribution.
+    (Hrishikesh via nigel)
+
   OPTIMIZATIONS
 
     HADOOP-1898.  Release the lock protecting the last time of the last stack

+ 47 - 16
build.xml

@@ -130,6 +130,20 @@
     <pathelement location="${build.dir}"/>
   </path>
 
+  <!-- ====================================================== -->
+  <!-- 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>
+
   <!-- ====================================================== -->
   <!-- Stuff needed by all targets                            -->
   <!-- ====================================================== -->
@@ -752,23 +766,40 @@
   <!-- Make release tarball                                               -->
   <!-- ================================================================== -->
   <target name="tar" depends="package" description="Make release tarball">
-    <tar compression="gzip" longfile="gnu"
-      destfile="${build.dir}/${final.name}.tar.gz">
-      <tarfileset dir="${build.dir}" mode="664">
-        <exclude name="${final.name}/bin/*" />
-        <exclude name="${final.name}/src/contrib/ec2/bin/*" />
-        <exclude name="${final.name}/src/contrib/ec2/bin/image/*" />
-        <include name="${final.name}/**" />
-      </tarfileset>
-      <tarfileset dir="${build.dir}" mode="755">
-        <include name="${final.name}/bin/*" />
-        <include name="${final.name}/contrib/*/bin/*" />
-        <include name="${final.name}/src/contrib/ec2/bin/*" />
-        <include name="${final.name}/src/contrib/ec2/bin/image/*" />
-      </tarfileset>
-    </tar>
+    <macro_tar param.destfile="${build.dir}/${final.name}.tar.gz">
+      <param.listofitems>
+        <tarfileset dir="${build.dir}" mode="664">
+          <exclude name="${final.name}/bin/*" />
+          <exclude name="${final.name}/src/contrib/ec2/bin/*" />
+          <exclude name="${final.name}/src/contrib/ec2/bin/image/*" />
+          <include name="${final.name}/**" />
+        </tarfileset>
+        <tarfileset dir="${build.dir}" mode="755">
+          <include name="${final.name}/bin/*" />
+          <include name="${final.name}/contrib/*/bin/*" />
+          <include name="${final.name}/src/contrib/ec2/bin/*" />
+          <include name="${final.name}/src/contrib/ec2/bin/image/*" />
+        </tarfileset>
+      </param.listofitems>
+    </macro_tar>
   </target>
-	
+
+  <target name="binary" depends="package" 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>
+
   <!-- ================================================================== -->
   <!-- Clean.  Delete the build files, and their directories              -->
   <!-- ================================================================== -->