blob: 44a9feea46e13fd2bb31cd3b23c65206d2b96852 [file] [log] [blame]
# Copyright (c) 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import codecs
import optparse
import os
import sys
import tvcm
from trace_viewer import trace_viewer_project
def main(args):
parser = optparse.OptionParser(usage="%prog --outdir=<directory>")
parser.add_option("--outdir", dest="out_dir",
help="Where to place generated content")
parser.add_option('--no-min', dest='no_min', default=False,
action='store_true',
help='skip minification')
options, args = parser.parse_args(args)
if not options.out_dir:
sys.stderr.write("ERROR: Must specify --outdir=<directory>")
parser.print_help()
return 1
filenames = ["extras/about_tracing/about_tracing.html"]
project = trace_viewer_project.TraceViewerProject()
load_sequence = project.CalcLoadSequenceForModuleFilenames(filenames)
olddir = os.getcwd()
try:
if not os.path.exists(options.out_dir):
os.makedirs(options.out_dir)
o = codecs.open(os.path.join(options.out_dir, "about_tracing.html"), 'w',
encoding='utf-8')
try:
tvcm.GenerateStandaloneHTMLToFile(
o,
load_sequence,
title='chrome://tracing',
flattened_js_url='tracing.js',
minify=not options.no_min)
except tvcm.module.DepsException, ex:
sys.stderr.write("Error: %s\n\n" % str(ex))
return 255
o.close()
o = codecs.open(os.path.join(options.out_dir, "about_tracing.js"), 'w',
encoding='utf-8')
assert o.encoding == 'utf-8'
tvcm.GenerateJSToFile(
o,
load_sequence,
use_include_tags_for_scripts=False,
dir_for_include_tag_root=options.out_dir,
minify=not options.no_min)
o.close()
finally:
os.chdir(olddir)
return 0