summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Scott Main <smain@google.com> 2009-11-20 10:41:49 -0800
committer Scott Main <smain@google.com> 2009-11-20 10:41:49 -0800
commit2fa99f1dd62389ceda5d0c6b5360c40be8f0b87c (patch)
tree95620ce5bcc8c760863bd3862f31106266806d8f
parentd920ec8354940653e6cf53a1540360cca3bcc5f7 (diff)
droiddoc change: revise the sample code generating script so that
all the source code pages are NOT generated for the offline version of the docs (only show source in html for online docs). This won't work until a companion change from framwork/base/Android.mk is submitted (but shouldn't break the build). Change-Id: I06c404540870071c2a5a8aa460e156506fd975cb
-rw-r--r--tools/droiddoc/src/DroidDoc.java9
-rw-r--r--tools/droiddoc/src/SampleCode.java34
-rw-r--r--tools/droiddoc/templates/sampleindex.cs50
3 files changed, 66 insertions, 27 deletions
diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java
index f48b56c721..a1c49f00ef 100644
--- a/tools/droiddoc/src/DroidDoc.java
+++ b/tools/droiddoc/src/DroidDoc.java
@@ -96,6 +96,7 @@ public class DroidDoc
//Create the dependency graph for the stubs directory
boolean apiXML = false;
boolean noDocs = false;
+ boolean offlineMode = false;
String apiFile = null;
String debugStubsFile = "";
HashSet<String> stubPackages = null;
@@ -194,6 +195,9 @@ public class DroidDoc
else if (a[0].equals("-since")) {
sinceTagger.addVersion(a[1], a[2]);
}
+ else if (a[0].equals("-offlinemode")) {
+ offlineMode = true;
+ }
}
// read some prefs from the template
@@ -246,7 +250,7 @@ public class DroidDoc
// Sample Code
for (SampleCode sc: sampleCodes) {
- sc.write();
+ sc.write(offlineMode);
}
// Index page
@@ -419,6 +423,9 @@ public class DroidDoc
if (option.equals("-since")) {
return 3;
}
+ if (option.equals("-offlinemode")) {
+ return 1;
+ }
return 0;
}
diff --git a/tools/droiddoc/src/SampleCode.java b/tools/droiddoc/src/SampleCode.java
index e2283bd2db..1f00be2313 100644
--- a/tools/droiddoc/src/SampleCode.java
+++ b/tools/droiddoc/src/SampleCode.java
@@ -38,13 +38,14 @@ public class SampleCode {
}
}
- public void write() {
+ public void write(boolean offlineMode) {
File f = new File(mSource);
if (!f.isDirectory()) {
System.out.println("-samplecode not a directory: " + mSource);
return;
}
- writeDirectory(f, mDest);
+ if (offlineMode) writeIndexOnly(f, mDest);
+ else writeDirectory(f, mDest);
}
public static String convertExtension(String s, String ext) {
@@ -99,10 +100,8 @@ public class SampleCode {
// write the index page
int i;
- HDF hdf = DroidDoc.makeHDF();
- hdf.setValue("page.title", dir.getName() + " - " + mTitle);
- hdf.setValue("projectTitle", mTitle);
+ HDF hdf = writeIndex(dir);
hdf.setValue("subdir", subdir);
i=0;
for (String d: dirs) {
@@ -115,15 +114,32 @@ public class SampleCode {
hdf.setValue("files." + i + ".href", convertExtension(f, ".html"));
i++;
}
+
+ ClearPage.write(hdf, "sampleindex.cs", relative + "/index" + DroidDoc.htmlExtension);
+ }
+
+ public void writeIndexOnly(File dir, String relative) {
+ HDF hdf = writeIndex(dir);
+ ClearPage.write(hdf, "sampleindex.cs", relative + "/index" +
+ DroidDoc.htmlExtension);
+ }
+
+ public HDF writeIndex(File dir) {
+ HDF hdf = DroidDoc.makeHDF();
+
+ hdf.setValue("page.title", dir.getName() + " - " + mTitle);
+ hdf.setValue("projectTitle", mTitle);
+
String filename = dir.getPath() + "/_index.html";
- String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename, -1,-1), filename,
- "sample code", true, false, true);
+ String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename,
+ -1,-1), filename, "sample code", true, false, true);
+
if (summary == null) {
summary = "";
}
hdf.setValue("summary", summary);
-
- ClearPage.write(hdf, "sampleindex.cs", relative + "/index" + DroidDoc.htmlExtension);
+
+ return hdf;
}
public void writePage(File f, String out, String subdir) {
diff --git a/tools/droiddoc/templates/sampleindex.cs b/tools/droiddoc/templates/sampleindex.cs
index 6e57cfdf41..9842384b6c 100644
--- a/tools/droiddoc/templates/sampleindex.cs
+++ b/tools/droiddoc/templates/sampleindex.cs
@@ -20,23 +20,39 @@
<?cs var:summary ?>
-<?cs if:subcount(subdirs) ?>
- <h2>Subdirectories</h2>
- <ul class="nolist">
- <?cs each:dir=subdirs ?>
- <li><a href="<?cs var:dir.name ?>/index.html"><?cs var:dir.name ?>/</a></li>
- <?cs /each ?>
- </ul>
-<?cs /if ?>
-
-<?cs if:subcount(files) ?>
- <h2>Files</h2>
- <ul class="nolist">
- <?cs each:file=files ?>
- <li><a href="<?cs var:file.href ?>"><?cs var:file.name ?></a></li>
- <?cs /each ?>
- </ul>
-<?cs /if ?>
+<?cs if:android.whichdoc == "online" ?><?cs
+ # If this is the online docs, build the src code navigation links ?>
+
+ <?cs if:subcount(subdirs) ?>
+ <h2>Subdirectories</h2>
+ <ul class="nolist">
+ <?cs each:dir=subdirs ?>
+ <li><a href="<?cs var:dir.name ?>/index.html"><?cs
+ var:dir.name ?>/</a></li>
+ <?cs /each ?>
+ </ul>
+ <?cs /if ?>
+
+ <?cs if:subcount(files) ?>
+ <h2>Files</h2>
+ <ul class="nolist">
+ <?cs each:file=files ?>
+ <li><a href="<?cs var:file.href ?>"><?cs
+ var:file.name ?></a></li>
+ <?cs /each ?>
+ </ul>
+ <?cs /if ?>
+
+<?cs else ?><?cs
+ # else, this means it's offline docs,
+ so don't show src links (we don't have the pages!) ?>
+
+<p>You can find the source code for this sample in your SDK at:</p>
+<p style="margin-left:2em">
+<code><em>&lt;sdk&gt;</em>/platforms/android-<em>&lt;version&gt;</em>/samples/</code>
+</p>
+
+<?cs /if ?><?cs # end if/else online docs ?>
<?cs include:"footer.cs" ?>
</div><!-- end jd-content -->