OSDN Git Service

Add a separate version of the docs build that only does the stubs.
authorJoe Onorato <joeo@android.com>
Mon, 20 Jul 2009 15:57:59 +0000 (11:57 -0400)
committerJoe Onorato <joeo@android.com>
Mon, 20 Jul 2009 15:57:59 +0000 (11:57 -0400)
That way we don't have to wait for clearsilver to write the thousands
of html files during every build.

(This is the build change, there is also a frameworks/base change)

core/main.mk
tools/droiddoc/src/DroidDoc.java

index beecb0d..59d216f 100644 (file)
@@ -400,8 +400,6 @@ ifeq ($(BUILD_TINY_ANDROID), true)
 # TINY_ANDROID is a super-minimal build configuration, handy for board 
 # bringup and very low level debugging
 
-INTERNAL_DEFAULT_DOCS_TARGETS := 
-
 subdirs := \
        bionic \
        system/core \
@@ -420,7 +418,6 @@ else        # !BUILD_TINY_ANDROID
 #
 # Typical build; include any Android.mk files we can find.
 #
-INTERNAL_DEFAULT_DOCS_TARGETS := offline-sdk-docs
 subdirs := $(TOP)
 
 FULL_BUILD := true
@@ -449,7 +446,6 @@ include $(ONE_SHOT_MAKEFILE)
 # would have been with a normal make.
 CUSTOM_MODULES := $(sort $(call get-tagged-modules,$(ALL_MODULE_TAGS),))
 FULL_BUILD :=
-INTERNAL_DEFAULT_DOCS_TARGETS :=
 # Stub out the notice targets, which probably aren't defined
 # when using ONE_SHOT_MAKEFILE.
 NOTICE-HOST-%: ;
@@ -657,7 +653,6 @@ droidcore: files \
        $(INSTALLED_BOOTIMAGE_TARGET) \
        $(INSTALLED_RECOVERYIMAGE_TARGET) \
        $(INSTALLED_USERDATAIMAGE_TARGET) \
-       $(INTERNAL_DEFAULT_DOCS_TARGETS) \
        $(INSTALLED_FILES_FILE)
 
 # The actual files built by the droidcore target changes depending
index f664c41..6f2b517 100644 (file)
@@ -94,6 +94,7 @@ public class DroidDoc
         String stubsDir = null;
         //Create the dependency graph for the stubs directory
         boolean apiXML = false;
+        boolean noDocs = false;
         String apiFile = null;
         String debugStubsFile = "";
         HashSet<String> stubPackages = null;
@@ -186,6 +187,9 @@ public class DroidDoc
                 apiXML = true;
                 apiFile = a[1];
             }
+            else if (a[0].equals("-nodocs")) {
+                noDocs = true;
+            }
         }
 
         // read some prefs from the template
@@ -196,59 +200,67 @@ public class DroidDoc
         // Set up the data structures
         Converter.makeInfo(r);
 
-        // Files for proofreading
-        if (proofreadFile != null) {
-            Proofread.initProofread(proofreadFile);
-        }
-        if (todoFile != null) {
-            TodoFile.writeTodoFile(todoFile);
-        }
+        if (!noDocs) {
+            long startTime = System.nanoTime();
 
-        // HTML Pages
-        if (ClearPage.htmlDir != null) {
-            writeHTMLPages();
-        }
+            // Files for proofreading
+            if (proofreadFile != null) {
+                Proofread.initProofread(proofreadFile);
+            }
+            if (todoFile != null) {
+                TodoFile.writeTodoFile(todoFile);
+            }
 
-        // Navigation tree
-        NavTree.writeNavTree(javadocDir);
+            // HTML Pages
+            if (ClearPage.htmlDir != null) {
+                writeHTMLPages();
+            }
 
-        // Packages Pages
-        writePackages(javadocDir
-                        + (ClearPage.htmlDir!=null
-                            ? "packages" + htmlExtension
-                            : "index" + htmlExtension));
+            // Navigation tree
+            NavTree.writeNavTree(javadocDir);
 
-        // Classes
-        writeClassLists();
-        writeClasses();
-        writeHierarchy();
//      writeKeywords();
+            // Packages Pages
+            writePackages(javadocDir
+                            + (ClearPage.htmlDir!=null
+                                ? "packages" + htmlExtension
                               : "index" + htmlExtension));
 
-        // Lists for JavaScript
-        writeLists();
-        if (keepListFile != null) {
-            writeKeepList(keepListFile);
-        }
+            // Classes
+            writeClassLists();
+            writeClasses();
+            writeHierarchy();
+     //      writeKeywords();
 
-        // Sample Code
-        for (SampleCode sc: sampleCodes) {
-            sc.write();
-        }
+            // Lists for JavaScript
+            writeLists();
+            if (keepListFile != null) {
+                writeKeepList(keepListFile);
+            }
 
-        // Index page
-        writeIndex();
+            // Sample Code
+            for (SampleCode sc: sampleCodes) {
+                sc.write();
+            }
+
+            // Index page
+            writeIndex();
+
+            Proofread.finishProofread(proofreadFile);
+
+            if (sdkValuePath != null) {
+                writeSdkValues(sdkValuePath);
+            }
 
-        Proofread.finishProofread(proofreadFile);
+            long time = System.nanoTime() - startTime;
+            System.out.println("DroidDoc took " + (time / 1000000000) + " sec. to write docs to "
+                    + ClearPage.outputDir);
+        }
 
         // Stubs
         if (stubsDir != null) {
             Stubs.writeStubs(stubsDir, apiXML, apiFile, stubPackages);
         }
         
-        if (sdkValuePath != null) {
-            writeSdkValues(sdkValuePath);
-        }
-
         Errors.printErrors();
         return !Errors.hadError;
     }
@@ -394,6 +406,9 @@ public class DroidDoc
         if (option.equals("-apixml")) {
             return 2;
         }
+        if (option.equals("-nodocs")) {
+            return 1;
+        }
         return 0;
     }