Permalink
Browse files

Revert "tools: update closure_linter to the latest(2.3.5)"

This reverts commit 6d98524.
This reverts commit 60ff789.

closure_linter now depends on the gflags module and not everyone will have that
installed by default.
  • Loading branch information...
1 parent e7e34dd commit 2d0011f53256e7a1a707a6672772d36260f81691 @bnoordhuis bnoordhuis committed Jun 28, 2012
Showing with 3,460 additions and 3,207 deletions.
  1. +26 −11 LICENSE
  2. +1 −1 tools/closure_linter/PKG-INFO
  3. +10 −0 tools/closure_linter/closure_linter.egg-info/PKG-INFO
  4. +41 −0 tools/closure_linter/closure_linter.egg-info/SOURCES.txt
  5. +1 −0 tools/closure_linter/closure_linter.egg-info/dependency_links.txt
  6. +4 −0 tools/closure_linter/closure_linter.egg-info/entry_points.txt
  7. +1 −0 tools/closure_linter/closure_linter.egg-info/requires.txt
  8. +1 −0 tools/closure_linter/closure_linter.egg-info/top_level.txt
  9. +0 −15 tools/closure_linter/closure_linter/__init__.py
  10. +18 −66 tools/closure_linter/closure_linter/checker.py
  11. +51 −126 tools/closure_linter/closure_linter/checkerbase.py
  12. +0 −500 tools/closure_linter/closure_linter/closurizednamespacesinfo.py
  13. +0 −451 tools/closure_linter/closure_linter/closurizednamespacesinfo_test.py
  14. +0 −15 tools/closure_linter/closure_linter/common/__init__.py
  15. +1 −1 tools/closure_linter/closure_linter/common/erroraccumulator.py
  16. +0 −52 tools/closure_linter/closure_linter/common/erroroutput.py
  17. +203 −0 tools/closure_linter/closure_linter/common/errorprinter.py
  18. +2 −5 tools/closure_linter/closure_linter/common/filetestcase.py
  19. +0 −14 tools/closure_linter/closure_linter/common/tokens.py
  20. +0 −101 tools/closure_linter/closure_linter/common/tokens_test.py
  21. +57 −91 tools/closure_linter/closure_linter/ecmalintrules.py
  22. +0 −90 tools/closure_linter/closure_linter/error_check.py
  23. +51 −162 tools/closure_linter/closure_linter/error_fixer.py
  24. +0 −65 tools/closure_linter/closure_linter/errorrecord.py
  25. +3 −14 tools/closure_linter/closure_linter/errors.py
  26. +1 −11 tools/closure_linter/closure_linter/fixjsstyle.py
  27. +13 −206 tools/closure_linter/closure_linter/fixjsstyle_test.py
  28. +1 −16 tools/closure_linter/closure_linter/full_test.py
  29. +20 −169 tools/closure_linter/closure_linter/gjslint.py
  30. +2 −48 tools/closure_linter/closure_linter/indentation.py
  31. +138 −281 tools/closure_linter/closure_linter/javascriptlintrules.py
  32. +125 −3 tools/closure_linter/closure_linter/javascriptstatetracker.py
  33. +53 −0 tools/closure_linter/closure_linter/javascriptstatetracker_test.py
  34. +112 −110 tools/closure_linter/closure_linter/javascripttokenizer.py
  35. +0 −74 tools/closure_linter/closure_linter/not_strict_test.py
  36. +0 −272 tools/closure_linter/closure_linter/requireprovidesorter.py
  37. +0 −74 tools/closure_linter/closure_linter/requireprovidesorter_test.py
  38. +6 −50 tools/closure_linter/closure_linter/statetracker.py
  39. +23 −112 tools/closure_linter/closure_linter/tokenutil.py
  40. +2,489 −0 tools/closure_linter/gflags.py
  41. +5 −0 tools/closure_linter/setup.cfg
  42. +1 −1 tools/closure_linter/setup.py
View
37 LICENSE
@@ -299,22 +299,37 @@ maintained libraries. The externally maintained libraries used by Node are:
IN THE SOFTWARE.
"""
-- Closure Linter is located at tools/closure_linter. Closure Linter's license
+- Closure Linter is located at tools/closure_linter. Closure's license
follows:
"""
- # Copyright 2010 The Closure Linter Authors. All Rights Reserved.
+ # Copyright (c) 2007, Google Inc.
+ # All rights reserved.
#
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions are
+ # met:
#
- # http://www.apache.org/licenses/LICENSE-2.0
+ # * Redistributions of source code must retain the above copyright
+ # notice, this list of conditions and the following disclaimer.
+ # * Redistributions in binary form must reproduce the above
+ # copyright notice, this list of conditions and the following disclaimer
+ # in the documentation and/or other materials provided with the
+ # distribution.
+ # * Neither the name of Google Inc. nor the names of its
+ # contributors may be used to endorse or promote products derived from
+ # this software without specific prior written permission.
#
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS-IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""
- tools/cpplint.py is a C++ linter. Its license follows:
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: closure_linter
-Version: 2.3.5
+Version: 2.2.6
Summary: Closure Linter
Home-page: http://code.google.com/p/closure-linter
Author: The Closure Linter Authors
@@ -0,0 +1,10 @@
+Metadata-Version: 1.0
+Name: closure-linter
+Version: 2.2.6
+Summary: Closure Linter
+Home-page: http://code.google.com/p/closure-linter
+Author: The Closure Linter Authors
+Author-email: opensource@google.com
+License: Apache
+Description: UNKNOWN
+Platform: UNKNOWN
@@ -0,0 +1,41 @@
+README
+setup.py
+closure_linter/__init__.py
+closure_linter/checker.py
+closure_linter/checkerbase.py
+closure_linter/ecmalintrules.py
+closure_linter/ecmametadatapass.py
+closure_linter/error_fixer.py
+closure_linter/errorrules.py
+closure_linter/errors.py
+closure_linter/fixjsstyle.py
+closure_linter/fixjsstyle_test.py
+closure_linter/full_test.py
+closure_linter/gjslint.py
+closure_linter/indentation.py
+closure_linter/javascriptlintrules.py
+closure_linter/javascriptstatetracker.py
+closure_linter/javascriptstatetracker_test.py
+closure_linter/javascripttokenizer.py
+closure_linter/javascripttokens.py
+closure_linter/statetracker.py
+closure_linter/tokenutil.py
+closure_linter.egg-info/PKG-INFO
+closure_linter.egg-info/SOURCES.txt
+closure_linter.egg-info/dependency_links.txt
+closure_linter.egg-info/entry_points.txt
+closure_linter.egg-info/requires.txt
+closure_linter.egg-info/top_level.txt
+closure_linter/common/__init__.py
+closure_linter/common/error.py
+closure_linter/common/erroraccumulator.py
+closure_linter/common/errorhandler.py
+closure_linter/common/errorprinter.py
+closure_linter/common/filetestcase.py
+closure_linter/common/htmlutil.py
+closure_linter/common/lintrunner.py
+closure_linter/common/matcher.py
+closure_linter/common/position.py
+closure_linter/common/simplefileflags.py
+closure_linter/common/tokenizer.py
+closure_linter/common/tokens.py
@@ -0,0 +1,4 @@
+[console_scripts]
+fixjsstyle = closure_linter.fixjsstyle:main
+gjslint = closure_linter.gjslint:main
+
@@ -0,0 +1 @@
+python-gflags
@@ -0,0 +1 @@
+closure_linter
@@ -1,16 +1 @@
#!/usr/bin/env python
-# Copyright 2008 The Closure Linter Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS-IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Package indicator for gjslint."""
@@ -22,23 +22,18 @@
import gflags as flags
from closure_linter import checkerbase
-from closure_linter import closurizednamespacesinfo
from closure_linter import ecmametadatapass
+from closure_linter import errors
from closure_linter import javascriptlintrules
from closure_linter import javascriptstatetracker
+from closure_linter.common import errorprinter
from closure_linter.common import lintrunner
flags.DEFINE_list('limited_doc_files', ['dummy.js', 'externs.js'],
'List of files with relaxed documentation checks. Will not '
'report errors for missing documentation, some missing '
'descriptions, or methods whose @return tags don\'t have a '
'matching return statement.')
-flags.DEFINE_list('closurized_namespaces', '',
- 'Namespace prefixes, used for testing of'
- 'goog.provide/require')
-flags.DEFINE_list('ignored_extra_namespaces', '',
- 'Fully qualified namespaces that should be not be reported '
- 'as extra by the linter.')
class JavaScriptStyleChecker(checkerbase.CheckerBase):
@@ -48,83 +43,40 @@ def __init__(self, error_handler):
"""Initialize an JavaScriptStyleChecker object.
Args:
- error_handler: Error handler to pass all errors to.
+ error_handler: Error handler to pass all errors to
"""
- self._namespaces_info = None
- if flags.FLAGS.closurized_namespaces:
- self._namespaces_info = (
- closurizednamespacesinfo.ClosurizedNamespacesInfo(
- flags.FLAGS.closurized_namespaces,
- flags.FLAGS.ignored_extra_namespaces))
-
checkerbase.CheckerBase.__init__(
self,
error_handler=error_handler,
- lint_rules=javascriptlintrules.JavaScriptLintRules(
- self._namespaces_info),
- state_tracker=javascriptstatetracker.JavaScriptStateTracker(),
+ lint_rules=javascriptlintrules.JavaScriptLintRules(),
+ state_tracker=javascriptstatetracker.JavaScriptStateTracker(
+ closurized_namespaces=flags.FLAGS.closurized_namespaces),
metadata_pass=ecmametadatapass.EcmaMetaDataPass(),
limited_doc_files=flags.FLAGS.limited_doc_files)
- def _CheckTokens(self, token, parse_error, debug_tokens):
- """Checks a token stream for lint warnings/errors.
-
- Adds a separate pass for computing dependency information based on
- goog.require and goog.provide statements prior to the main linting pass.
-
- Args:
- token: The first token in the token stream.
- parse_error: A ParseError if any errors occurred.
- debug_tokens: Whether every token should be printed as it is encountered
- during the pass.
-
- Returns:
- A boolean indicating whether the full token stream could be checked or if
- checking failed prematurely.
- """
- # To maximize the amount of errors that get reported before a parse error
- # is displayed, don't run the dependency pass if a parse error exists.
- if self._namespaces_info and not parse_error:
- self._namespaces_info.Reset()
- result = (self._ExecutePass(token, self._DependencyPass) and
- self._ExecutePass(token, self._LintPass,
- debug_tokens=debug_tokens))
- else:
- result = self._ExecutePass(token, self._LintPass, parse_error,
- debug_tokens)
-
- if not result:
- return False
-
- self._lint_rules.Finalize(self._state_tracker, self._tokenizer.mode)
-
- self._error_handler.FinishFile()
- return True
-
- def _DependencyPass(self, token):
- """Processes an invidual token for dependency information.
-
- Used to encapsulate the logic needed to process an individual token so that
- it can be passed to _ExecutePass.
-
- Args:
- token: The token to process.
- """
- self._namespaces_info.ProcessToken(token, self._state_tracker)
-
class GJsLintRunner(lintrunner.LintRunner):
"""Wrapper class to run GJsLint."""
- def Run(self, filenames, error_handler):
+ def Run(self, filenames, error_handler=None):
"""Run GJsLint on the given filenames.
Args:
filenames: The filenames to check
- error_handler: An ErrorHandler object.
+ error_handler: An optional ErrorHandler object, an ErrorPrinter is used if
+ none is specified.
+
+ Returns:
+ error_count, file_count: The number of errors and the number of files that
+ contain errors.
"""
+ if not error_handler:
+ error_handler = errorprinter.ErrorPrinter(errors.NEW_ERRORS)
+
checker = JavaScriptStyleChecker(error_handler)
# Check the list of files.
for filename in filenames:
checker.Check(filename)
+
+ return error_handler
Oops, something went wrong.

0 comments on commit 2d0011f

Please sign in to comment.