瀏覽代碼

HADOOP-5240. Skip re-building javadoc when it is already up-to-date. Contributed by Aaron Kimball.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@747169 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 16 年之前
父節點
當前提交
e125d14274
共有 2 個文件被更改,包括 16 次插入1 次删除
  1. 3 0
      CHANGES.txt
  2. 13 1
      build.xml

+ 3 - 0
CHANGES.txt

@@ -126,6 +126,9 @@ Trunk (unreleased changes)
 
     HADOOP-5222. Add offset to datanode clienttrace. (Lei Xu via cdouglas)
 
+    HADOOP-5240. Skip re-building javadoc when it is already
+    up-to-date. (Aaron Kimball via cutting)
+
   OPTIMIZATIONS
 
   BUG FIXES

+ 13 - 1
build.xml

@@ -80,6 +80,7 @@
   <property name="build.docs" value="${build.dir}/docs"/>
   <property name="build.docs.cn" value="${build.dir}/docs/cn"/>
   <property name="build.javadoc" value="${build.docs}/api"/>
+  <property name="build.javadoc.timestamp" value="${build.javadoc}/index.html" />
   <property name="build.javadoc.dev" value="${build.docs}/dev-api"/>
   <property name="build.encoding" value="ISO-8859-1"/>
   <property name="install.c++" value="${build.dir}/c++/${build.platform}"/>
@@ -965,7 +966,18 @@
     </javadoc>
   </target>	
 
-  <target name="javadoc" depends="compile, ivy-retrieve-javadoc" description="Generate javadoc">
+  <target name="javadoc-uptodate" depends="compile, ivy-retrieve-javadoc">
+    <uptodate property="javadoc.is.uptodate">
+      <srcfiles dir="${src.dir}">
+        <include name="**/*.java" />
+        <include name="**/*.html" />
+      </srcfiles>
+      <mapper type="merge" to="${build.javadoc.timestamp}" />
+    </uptodate>
+  </target>
+ 
+  <target name="javadoc" description="Generate javadoc" depends="javadoc-uptodate"
+       unless="javadoc.is.uptodate">
     <mkdir dir="${build.javadoc}"/>
     <javadoc
       overview="${core.src.dir}/overview.html"