mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
51 lines
1.4 KiB
Python
Executable File
51 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# python_lint.py - Runs flake8 linting over the repository ------*- python -*-
|
|
#
|
|
# This source file is part of the Swift.org open source project
|
|
#
|
|
# Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
# Licensed under Apache License v2.0 with Runtime Library Exception
|
|
#
|
|
# See https://swift.org/LICENSE.txt for license information
|
|
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
#
|
|
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def lint(arguments, verbose=True):
|
|
flake8_result = subprocess.call(
|
|
[sys.executable, "-c", "import flake8; import flake8_import_order"]
|
|
)
|
|
if flake8_result != 0:
|
|
if verbose:
|
|
print("""
|
|
The flake8 and flake8-import-order Python packages are required for linting,
|
|
but these were not found on your system.
|
|
|
|
You can install these using:
|
|
|
|
python -m pip install flake8
|
|
python -m pip install flake8-import-order
|
|
|
|
For more help, see http://flake8.pycqa.org.""")
|
|
return flake8_result
|
|
|
|
utils_directory = os.path.dirname(os.path.abspath(__file__))
|
|
parent_directory = os.path.dirname(utils_directory)
|
|
linting_result = subprocess.call(
|
|
[sys.executable, "-m", "flake8"] + arguments,
|
|
cwd=parent_directory,
|
|
universal_newlines=True
|
|
)
|
|
return linting_result
|
|
|
|
|
|
if __name__ == '__main__':
|
|
linting_result = lint(sys.argv[1:])
|
|
sys.exit(linting_result)
|