diff options
author | Joe Onorato <joeo@google.com> | 2010-09-16 09:02:54 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-16 09:02:54 -0700 |
commit | 25ab3dcce40bc2d19eeb99c7b36eeab52e4fa582 (patch) | |
tree | 0a34178e0971f6a67ce742151e10e6a10e06fcfa | |
parent | 9e59ec29933a4e6e9ee740fd180e4e31ff687fae (diff) | |
parent | 63170ff95de157322cc1cef98150a1ee8c18b681 (diff) | |
download | build-25ab3dcce40bc2d19eeb99c7b36eeab52e4fa582.zip build-25ab3dcce40bc2d19eeb99c7b36eeab52e4fa582.tar.gz build-25ab3dcce40bc2d19eeb99c7b36eeab52e4fa582.tar.bz2 |
Merge "DO NOT MERGE - Add a -knowntags option to droiddoc" into gingerbread
-rw-r--r-- | tools/droiddoc/src/Comment.java | 5 | ||||
-rw-r--r-- | tools/droiddoc/src/DroidDoc.java | 62 |
2 files changed, 65 insertions, 2 deletions
diff --git a/tools/droiddoc/src/Comment.java b/tools/droiddoc/src/Comment.java index f49be8f..68b6d20 100644 --- a/tools/droiddoc/src/Comment.java +++ b/tools/droiddoc/src/Comment.java @@ -55,8 +55,6 @@ public class Comment "@sample", "@include", "@serial", - "@com.intel.drl.spec_ref", - "@ar.org.fitc.spec_ref", }; public Comment(String text, ContainerInfo base, SourcePositionInfo sp) @@ -185,6 +183,9 @@ public class Comment } } if (!known) { + known = DroidDoc.knownTags.contains(name); + } + if (!known) { Errors.error(Errors.UNKNOWN_TAG, pos == null ? null : new SourcePositionInfo(pos), "Unknown tag: " + name); } diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java index 91a795e..79d593c 100644 --- a/tools/droiddoc/src/DroidDoc.java +++ b/tools/droiddoc/src/DroidDoc.java @@ -58,6 +58,7 @@ public class DroidDoc public static Map<Character,String> escapeChars = new HashMap<Character,String>(); public static String title = ""; public static SinceTagger sinceTagger = new SinceTagger(); + public static HashSet<String> knownTags = new HashSet<String>(); private static boolean parseComments = false; private static boolean generateDocs = true; @@ -111,6 +112,7 @@ public class DroidDoc String apiFile = null; String debugStubsFile = ""; HashSet<String> stubPackages = null; + ArrayList<String> knownTagsFiles = new ArrayList<String>(); root = r; @@ -125,6 +127,9 @@ public class DroidDoc else if (a[0].equals("-hdf")) { mHDFData.add(new String[] {a[1], a[2]}); } + else if (a[0].equals("-knowntags")) { + knownTagsFiles.add(a[1]); + } else if (a[0].equals("-toroot")) { ClearPage.toroot = a[1]; } @@ -214,6 +219,10 @@ public class DroidDoc } } + if (!readKnownTagsFiles(knownTags, knownTagsFiles)) { + return false; + } + // read some prefs from the template if (!readTemplateSettings()) { return false; @@ -316,6 +325,56 @@ public class DroidDoc return true; } + private static boolean readKnownTagsFiles(HashSet<String> knownTags, + ArrayList<String> knownTagsFiles) { + for (String fn: knownTagsFiles) { + BufferedReader in = null; + try { + in = new BufferedReader(new FileReader(fn)); + int lineno = 0; + boolean fail = false; + while (true) { + lineno++; + String line = in.readLine(); + if (line == null) { + break; + } + line = line.trim(); + if (line.length() == 0) { + continue; + } else if (line.charAt(0) == '#') { + continue; + } + String[] words = line.split("\\s+", 2); + if (words.length == 2) { + if (words[1].charAt(0) != '#') { + System.err.println(fn + ":" + lineno + + ": Only one tag allowed per line: " + line); + fail = true; + continue; + } + } + knownTags.add(words[0]); + System.out.println("Known tag: " + words[0]); + } + if (fail) { + return false; + } + } catch (IOException ex) { + System.err.println("Error reading file: " + fn + " (" + ex.getMessage() + ")"); + return false; + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + } + } + } + } + return true; + } + public static String escape(String s) { if (escapeChars.size() == 0) { return s; @@ -371,6 +430,9 @@ public class DroidDoc if (option.equals("-hdf")) { return 3; } + if (option.equals("-knowntags")) { + return 2; + } if (option.equals("-toroot")) { return 2; } |