| Index: chrome/browser/resources/touch_ntp/tools/check
|
| diff --git a/chrome/browser/resources/touch_ntp/tools/check b/chrome/browser/resources/touch_ntp/tools/check
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..5b1742bd8f09b950609e8d06d6c3ae65410157a3
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/touch_ntp/tools/check
|
| @@ -0,0 +1,58 @@
|
| +#!/bin/bash
|
| +
|
| +# Copyright (c) 2008 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.
|
| +
|
| +# This script checks the touch_ntp code for common errors and style
|
| +# problems using the closure compiler (jscompiler) and closure linter
|
| +# (gjslint) - both of which must be on the path.
|
| +# See http://code.google.com/closure/compiler/ and
|
| +# http://code.google.com/closure/utilities/ for details on these tools.
|
| +
|
| +SOURCES="eventtracker.js touchhandler.js slider.js newtab.js grabber.js "
|
| +SOURCES+="standalone/standalone_hack.js"
|
| +
|
| +# First run the closure compiler looking for syntactic issues.
|
| +# Note that we throw away the output from jscompiler since it's use
|
| +# is not yet common in Chromium and for now we want it to be an optional
|
| +# tool for helping to find bugs, not something that actually changes
|
| +# the embedded JavaScript (making it harder to debug, for example).
|
| +
|
| +# I used to run with '--warning_level VERBOSE' to get full type checking
|
| +# but there are enough limitations in the language and compiler that
|
| +# it doesn't seem worth the benefit (spent more time trying to apease
|
| +# the compiler and reviewers of my code than the compiler saved me).
|
| +
|
| +# Enable support for property get/set syntax as added in ecmascript5.
|
| +# Note that this requires a build of JSCompiler that is newer than
|
| +# Feb 2011.
|
| +CARGS="--language_in=ECMASCRIPT5_STRICT"
|
| +
|
| +CARGS+=" --js_output_file /dev/null"
|
| +for S in $SOURCES tools/externs.js; do
|
| + CARGS+=" --js $S"
|
| +done
|
| +
|
| +cd `dirname $0`/..
|
| +
|
| +echo jscompiler $CARGS
|
| +jscompiler $CARGS || exit 1
|
| +
|
| +# Now run the closure linter looking for style issues.
|
| +
|
| +# GJSLint can't follow the more concice syntax for prototype members and
|
| +# complains about missing @this annotations (filed as bug 4073735). To
|
| +# cope for now I just just off all missing-JSDoc warnings.
|
| +LARGS="--nojsdoc"
|
| +
|
| +# Verify extra rules like spacing and indentation
|
| +LARGS+=" --strict"
|
| +
|
| +# Might as well check the bit of JS we have embedded in HTML too
|
| +LARGS+=" --check_html newtab.html"
|
| +
|
| +LARGS+=" $SOURCES"
|
| +
|
| +echo gjslint $LARGS
|
| +gjslint $LARGS || exit 1
|
|
|