Mercurial > hg > truffle
comparison mxtool/mx.py @ 5712:dfcb73ac6ba2
made invalid javadoc cause a JDT error
switched to using -XDignore.symbol.file flag to suppress internal API warnings emitted by javac and javadoc
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 28 Jun 2012 11:30:21 +0200 |
parents | 8d31a849ca97 |
children | b30cced39597 |
comparison
equal
deleted
inserted
replaced
5711:4d7175cf3526 | 5712:dfcb73ac6ba2 |
---|---|
1246 argfile.close() | 1246 argfile.close() |
1247 | 1247 |
1248 try: | 1248 try: |
1249 if jdtJar is None: | 1249 if jdtJar is None: |
1250 log('Compiling Java sources for {0} with javac...'.format(p.name)) | 1250 log('Compiling Java sources for {0} with javac...'.format(p.name)) |
1251 errFilt = None | 1251 javacCmd = [java().javac, '-g', '-J-Xmx1g', '-source', args.compliance, '-classpath', cp, '-d', outputDir, '@' + argfile.name] |
1252 if not args.warnAPI: | 1252 if not args.warnAPI: |
1253 class Filter: | 1253 javacCmd.append('-XDignore.symbol.file') |
1254 """ | 1254 run(javacCmd) |
1255 Class to errFilt the 'is Sun proprietary API and may be removed in a future release' | |
1256 warning when compiling the VM classes. | |
1257 | |
1258 """ | |
1259 def __init__(self): | |
1260 self.c = 0 | |
1261 | |
1262 def eat(self, line): | |
1263 if 'proprietary API' in line: | |
1264 self.c = 2 | |
1265 elif self.c != 0: | |
1266 self.c -= 1 | |
1267 else: | |
1268 log(line.rstrip()) | |
1269 errFilt=Filter().eat | |
1270 | |
1271 run([java().javac, '-g', '-J-Xmx1g', '-source', args.compliance, '-classpath', cp, '-d', outputDir, '@' + argfile.name], err=errFilt) | |
1272 else: | 1255 else: |
1273 log('Compiling Java sources for {0} with JDT...'.format(p.name)) | 1256 log('Compiling Java sources for {0} with JDT...'.format(p.name)) |
1274 jdtArgs = [java().java, '-Xmx1g', '-jar', jdtJar, | 1257 jdtArgs = [java().java, '-Xmx1g', '-jar', jdtJar, |
1275 '-' + args.compliance, | 1258 '-' + args.compliance, |
1276 '-cp', cp, '-g', '-enableJavadoc', | 1259 '-cp', cp, '-g', '-enableJavadoc', |
1963 parser = ArgumentParser(prog='mx javadoc') if parser is None else parser | 1946 parser = ArgumentParser(prog='mx javadoc') if parser is None else parser |
1964 parser.add_argument('-d', '--base', action='store', help='base directory for output') | 1947 parser.add_argument('-d', '--base', action='store', help='base directory for output') |
1965 parser.add_argument('--unified', action='store_true', help='put javadoc in a single directory instead of one per project') | 1948 parser.add_argument('--unified', action='store_true', help='put javadoc in a single directory instead of one per project') |
1966 parser.add_argument('--force', action='store_true', help='(re)generate javadoc even if package-list file exists') | 1949 parser.add_argument('--force', action='store_true', help='(re)generate javadoc even if package-list file exists') |
1967 parser.add_argument('--projects', action='store', help='comma separated projects to process (omit to process all projects)') | 1950 parser.add_argument('--projects', action='store', help='comma separated projects to process (omit to process all projects)') |
1951 parser.add_argument('--Wapi', action='store_true', dest='warnAPI', help='show warnings about using internal APIs') | |
1968 parser.add_argument('--argfile', action='store', help='name of file containing extra javadoc options') | 1952 parser.add_argument('--argfile', action='store', help='name of file containing extra javadoc options') |
1969 parser.add_argument('--arg', action='append', dest='extra_args', help='extra Javadoc arguments (e.g. --arg @-use)', metavar='@<arg>', default=[]) | 1953 parser.add_argument('--arg', action='append', dest='extra_args', help='extra Javadoc arguments (e.g. --arg @-use)', metavar='@<arg>', default=[]) |
1970 parser.add_argument('-m', '--memory', action='store', help='-Xmx value to pass to underlying JVM') | 1954 parser.add_argument('-m', '--memory', action='store', help='-Xmx value to pass to underlying JVM') |
1971 parser.add_argument('--packages', action='store', help='comma separated packages to process (omit to process all packages)') | 1955 parser.add_argument('--packages', action='store', help='comma separated packages to process (omit to process all packages)') |
1972 | 1956 |
2043 sp = os.pathsep.join(p.source_dirs()) | 2027 sp = os.pathsep.join(p.source_dirs()) |
2044 overviewFile = join(p.dir, 'overview.html') | 2028 overviewFile = join(p.dir, 'overview.html') |
2045 overview = [] | 2029 overview = [] |
2046 if exists(overviewFile): | 2030 if exists(overviewFile): |
2047 overview = ['-overview', overviewFile] | 2031 overview = ['-overview', overviewFile] |
2032 nowarnAPI = [] | |
2033 if not args.warnAPI: | |
2034 nowarnAPI.append('-XDignore.symbol.file') | |
2048 log('Generating {2} for {0} in {1}'.format(p.name, out, docDir)) | 2035 log('Generating {2} for {0} in {1}'.format(p.name, out, docDir)) |
2049 run([java().javadoc, memory, | 2036 run([java().javadoc, memory, |
2050 '-windowtitle', p.name + ' javadoc', | 2037 '-windowtitle', p.name + ' javadoc', |
2038 '-XDignore.symbol.file', | |
2051 '-classpath', cp, | 2039 '-classpath', cp, |
2052 '-quiet', | 2040 '-quiet', |
2053 '-d', out, | 2041 '-d', out, |
2054 '-sourcepath', sp] + | 2042 '-sourcepath', sp] + |
2055 links + | 2043 links + |
2056 extraArgs + | 2044 extraArgs + |
2057 overview + | 2045 overview + |
2046 nowarnAPI + | |
2058 list(pkgs)) | 2047 list(pkgs)) |
2059 log('Generated {2} for {0} in {1}'.format(p.name, out, docDir)) | 2048 log('Generated {2} for {0} in {1}'.format(p.name, out, docDir)) |
2060 else: | 2049 else: |
2061 # The projects must be built to ensure javadoc can find class files for all referenced classes | 2050 # The projects must be built to ensure javadoc can find class files for all referenced classes |
2062 build(['--no-native']) | 2051 build(['--no-native']) |
2073 out = join(_mainSuite.dir, docDir) | 2062 out = join(_mainSuite.dir, docDir) |
2074 if args.base is not None: | 2063 if args.base is not None: |
2075 out = join(args.base, docDir) | 2064 out = join(args.base, docDir) |
2076 cp = classpath() | 2065 cp = classpath() |
2077 sp = os.pathsep.join(sp) | 2066 sp = os.pathsep.join(sp) |
2067 nowarnAPI = [] | |
2068 if not args.warnAPI: | |
2069 nowarnAPI.append('-XDignore.symbol.file') | |
2078 log('Generating {2} for {0} in {1}'.format(', '.join(names), out, docDir)) | 2070 log('Generating {2} for {0} in {1}'.format(', '.join(names), out, docDir)) |
2079 run([java().javadoc, memory, '-classpath', cp, '-quiet', '-d', out, '-sourcepath', sp] + links + extraArgs + list(pkgs)) | 2071 run([java().javadoc, memory, |
2072 '-classpath', cp, | |
2073 '-quiet', | |
2074 '-d', out, | |
2075 '-sourcepath', sp] + | |
2076 links + | |
2077 extraArgs + | |
2078 nowarnAPI + | |
2079 list(pkgs)) | |
2080 log('Generated {2} for {0} in {1}'.format(', '.join(names), out, docDir)) | 2080 log('Generated {2} for {0} in {1}'.format(', '.join(names), out, docDir)) |
2081 | 2081 |
2082 def findclass(args): | 2082 def findclass(args): |
2083 """find all classes matching a given substring""" | 2083 """find all classes matching a given substring""" |
2084 | 2084 |