Merge change I06c40454 into eclair-sdk

* changes:
  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 commit is contained in:
Android (Google) Code Review
2009-11-23 12:55:36 -08:00
3 changed files with 65 additions and 26 deletions

View File

@@ -96,6 +96,7 @@ public class DroidDoc
//Create the dependency graph for the stubs directory //Create the dependency graph for the stubs directory
boolean apiXML = false; boolean apiXML = false;
boolean noDocs = false; boolean noDocs = false;
boolean offlineMode = false;
String apiFile = null; String apiFile = null;
String debugStubsFile = ""; String debugStubsFile = "";
HashSet<String> stubPackages = null; HashSet<String> stubPackages = null;
@@ -194,6 +195,9 @@ public class DroidDoc
else if (a[0].equals("-since")) { else if (a[0].equals("-since")) {
sinceTagger.addVersion(a[1], a[2]); sinceTagger.addVersion(a[1], a[2]);
} }
else if (a[0].equals("-offlinemode")) {
offlineMode = true;
}
} }
// read some prefs from the template // read some prefs from the template
@@ -246,7 +250,7 @@ public class DroidDoc
// Sample Code // Sample Code
for (SampleCode sc: sampleCodes) { for (SampleCode sc: sampleCodes) {
sc.write(); sc.write(offlineMode);
} }
// Index page // Index page
@@ -419,6 +423,9 @@ public class DroidDoc
if (option.equals("-since")) { if (option.equals("-since")) {
return 3; return 3;
} }
if (option.equals("-offlinemode")) {
return 1;
}
return 0; return 0;
} }

View File

@@ -38,13 +38,14 @@ public class SampleCode {
} }
} }
public void write() { public void write(boolean offlineMode) {
File f = new File(mSource); File f = new File(mSource);
if (!f.isDirectory()) { if (!f.isDirectory()) {
System.out.println("-samplecode not a directory: " + mSource); System.out.println("-samplecode not a directory: " + mSource);
return; return;
} }
writeDirectory(f, mDest); if (offlineMode) writeIndexOnly(f, mDest);
else writeDirectory(f, mDest);
} }
public static String convertExtension(String s, String ext) { public static String convertExtension(String s, String ext) {
@@ -99,10 +100,8 @@ public class SampleCode {
// write the index page // write the index page
int i; int i;
HDF hdf = DroidDoc.makeHDF();
hdf.setValue("page.title", dir.getName() + " - " + mTitle); HDF hdf = writeIndex(dir);
hdf.setValue("projectTitle", mTitle);
hdf.setValue("subdir", subdir); hdf.setValue("subdir", subdir);
i=0; i=0;
for (String d: dirs) { for (String d: dirs) {
@@ -115,15 +114,32 @@ public class SampleCode {
hdf.setValue("files." + i + ".href", convertExtension(f, ".html")); hdf.setValue("files." + i + ".href", convertExtension(f, ".html"));
i++; 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 filename = dir.getPath() + "/_index.html";
String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename, -1,-1), filename, String summary = SampleTagInfo.readFile(new SourcePositionInfo(filename,
"sample code", true, false, true); -1,-1), filename, "sample code", true, false, true);
if (summary == null) { if (summary == null) {
summary = ""; summary = "";
} }
hdf.setValue("summary", 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) { public void writePage(File f, String out, String subdir) {

View File

@@ -20,23 +20,39 @@
<?cs var:summary ?> <?cs var:summary ?>
<?cs if:subcount(subdirs) ?> <?cs if:android.whichdoc == "online" ?><?cs
<h2>Subdirectories</h2> # If this is the online docs, build the src code navigation links ?>
<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) ?> <?cs if:subcount(subdirs) ?>
<h2>Files</h2> <h2>Subdirectories</h2>
<ul class="nolist"> <ul class="nolist">
<?cs each:file=files ?> <?cs each:dir=subdirs ?>
<li><a href="<?cs var:file.href ?>"><?cs var:file.name ?></a></li> <li><a href="<?cs var:dir.name ?>/index.html"><?cs
<?cs /each ?> var:dir.name ?>/</a></li>
</ul> <?cs /each ?>
<?cs /if ?> </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" ?> <?cs include:"footer.cs" ?>
</div><!-- end jd-content --> </div><!-- end jd-content -->