Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: components/cronet/tools/generate_javadoc.py

Issue 2234113002: Include generated EffectiveConnectionType.java in cronet api jar and JavaDoc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ignore RequestFinishedListener.java Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/cronet/android/api/build.xml ('k') | components/cronet/tools/jar_src.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2015 The Chromium Authors. All rights reserved. 3 # Copyright 2015 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 import optparse 7 import optparse
8 import os 8 import os
9 import sys 9 import sys
10 import tempfile
10 11
11 REPOSITORY_ROOT = os.path.abspath(os.path.join( 12 REPOSITORY_ROOT = os.path.abspath(os.path.join(
12 os.path.dirname(__file__), '..', '..', '..')) 13 os.path.dirname(__file__), '..', '..', '..'))
13 14
14 sys.path.append(os.path.join(REPOSITORY_ROOT, 'build/android/gyp/util')) 15 sys.path.append(os.path.join(REPOSITORY_ROOT, 'build/android/gyp/util'))
15 sys.path.append(os.path.join(REPOSITORY_ROOT, 'net/tools/net_docs')) 16 sys.path.append(os.path.join(REPOSITORY_ROOT, 'net/tools/net_docs'))
16 import build_utils 17 import build_utils
17 import net_docs 18 import net_docs
18 from markdown.postprocessors import Postprocessor 19 from markdown.postprocessors import Postprocessor
19 from markdown.extensions import Extension 20 from markdown.extensions import Extension
20 21
21 22
22 class CronetPostprocessor(Postprocessor): 23 class CronetPostprocessor(Postprocessor):
23 def run(self, text): 24 def run(self, text):
24 return text.replace('@Override', '@Override') 25 return text.replace('@Override', '@Override')
25 26
26 27
27 class CronetExtension(Extension): 28 class CronetExtension(Extension):
28 def extendMarkdown(self, md, md_globals): 29 def extendMarkdown(self, md, md_globals):
29 md.postprocessors.add('CronetPostprocessor', 30 md.postprocessors.add('CronetPostprocessor',
30 CronetPostprocessor(md), '_end') 31 CronetPostprocessor(md), '_end')
31 32
32 33
33 def GenerateJavadoc(options): 34 def GenerateJavadoc(options, src_dir):
34 output_dir = os.path.abspath(os.path.join(options.output_dir, 'javadoc')) 35 output_dir = os.path.abspath(os.path.join(options.output_dir, 'javadoc'))
35 working_dir = os.path.join(options.input_dir, 'android/api') 36 working_dir = os.path.join(options.input_dir, 'android/api')
36 overview_file = os.path.abspath(options.overview_file) 37 overview_file = os.path.abspath(options.overview_file)
37 lib_java_dir = os.path.abspath(options.lib_java_dir) 38 lib_java_dir = os.path.abspath(options.lib_java_dir)
38 39
39 build_utils.DeleteDirectory(output_dir) 40 build_utils.DeleteDirectory(output_dir)
40 build_utils.MakeDirectory(output_dir) 41 build_utils.MakeDirectory(output_dir)
41 javadoc_cmd = ['ant', '-Dsource.dir=src', '-Ddoc.dir=' + output_dir, 42 javadoc_cmd = ['ant', '-Dsource.dir=' + src_dir , '-Ddoc.dir=' + output_dir,
42 '-Dlib.java.dir=' + lib_java_dir, '-Doverview=' + overview_file, 43 '-Dlib.java.dir=' + lib_java_dir, '-Doverview=' + overview_file,
43 'doc'] 44 'doc']
44 stdout = build_utils.CheckOutput(javadoc_cmd, cwd=working_dir) 45 stdout = build_utils.CheckOutput(javadoc_cmd, cwd=working_dir)
45 if " error: " in stdout or "warning" in stdout or "javadoc: error " in stdout: 46 if " error: " in stdout or "warning" in stdout or "javadoc: error " in stdout:
46 build_utils.DeleteDirectory(output_dir) 47 build_utils.DeleteDirectory(output_dir)
47 raise build_utils.CalledProcessError(working_dir, javadoc_cmd, stdout) 48 raise build_utils.CalledProcessError(working_dir, javadoc_cmd, stdout)
48 49
49 50
50 def main(): 51 def main():
51 parser = optparse.OptionParser() 52 parser = optparse.OptionParser()
52 build_utils.AddDepfileOption(parser) 53 build_utils.AddDepfileOption(parser)
53 parser.add_option('--output-dir', help='Directory to put javadoc') 54 parser.add_option('--output-dir', help='Directory to put javadoc')
54 parser.add_option('--input-dir', help='Root of cronet source') 55 parser.add_option('--input-dir', help='Root of cronet source')
56 parser.add_option('--input-src-jar', help='Cronet api source jar')
55 parser.add_option('--overview-file', help='Path of the overview page') 57 parser.add_option('--overview-file', help='Path of the overview page')
56 parser.add_option('--readme-file', help='Path of the README.md') 58 parser.add_option('--readme-file', help='Path of the README.md')
57 parser.add_option('--lib-java-dir', help='Directory containing java libs') 59 parser.add_option('--lib-java-dir', help='Directory containing java libs')
58 60
59 options, _ = parser.parse_args() 61 options, _ = parser.parse_args()
62 # A temporary directory to put the output of cronet api source jar files.
63 unzipped_jar_path = tempfile.mkdtemp(dir=options.output_dir)
64 if os.path.exists(options.input_src_jar):
65 jar_cmd = ['jar', 'xf', os.path.abspath(options.input_src_jar)]
66 build_utils.CheckOutput(jar_cmd, cwd=unzipped_jar_path)
67 else:
68 raise Exception('Jar file does not exist: %s' % options.input_src_jar)
60 69
61 net_docs.ProcessDocs([options.readme_file], options.input_dir, 70 net_docs.ProcessDocs([options.readme_file], options.input_dir,
62 options.output_dir, extensions=[CronetExtension()]) 71 options.output_dir, extensions=[CronetExtension()])
63 72
64 GenerateJavadoc(options) 73 GenerateJavadoc(options, os.path.abspath(unzipped_jar_path))
65 74
66 if options.depfile: 75 if options.depfile:
67 input_paths = [] 76 input_paths = []
68 for root, _, filenames in os.walk(options.input_dir): 77 for root, _, filenames in os.walk(options.input_dir):
69 input_paths.extend(os.path.join(root, f) for f in filenames) 78 input_paths.extend(os.path.join(root, f) for f in filenames)
70 build_utils.WriteDepfile(options.depfile, 79 build_utils.WriteDepfile(options.depfile,
71 input_paths + build_utils.GetPythonDependencies()) 80 input_paths + build_utils.GetPythonDependencies())
81 # Clean up temporary output directory.
82 build_utils.DeleteDirectory(unzipped_jar_path)
72 83
73 if __name__ == '__main__': 84 if __name__ == '__main__':
74 sys.exit(main()) 85 sys.exit(main())
OLDNEW
« no previous file with comments | « components/cronet/android/api/build.xml ('k') | components/cronet/tools/jar_src.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698