* E101: indentation contains mixed spaces and tabs
* E111: indentation is not a multiple of four
* E128: continuation line under-indented for visual indent
* E302: expected 2 blank lines, found 1
* W191: indentation contains tabs
Fixes:
* multiple statements on one line (colon) (E701)
* missing whitespace around arithmetic operator (E226)
* missing whitespace around operator (E225)
* closing bracket does not match visual indentation (E124)
* blank line contains whitespace (W293)
* continuation line missing indentation or outdented (E122)
* continuation line over-indented for hanging indent (E126)
* missing expected blank line (E301)
* trailing whitespace (W291)
* unexpected spaces around keyword / parameter equals (E251)
* whitespace after '(', '[' or '{' (E201)
* whitespace before ')', ']' or '}' (E202)
* whitespace before ',' or ':' (E203)
Running the Python style guide checker
[`pep8`](https://pypi.python.org/pypi/pep8) on the Python code headers
in this repository results in the following error being emitted:
$ pep8 utils/build-script
utils/build-script:1:1: E265 block comment should start with '# '
utils/build-script:3:1: E266 too many leading '#' for block comment
utils/build-script:5:1: E266 too many leading '#' for block comment
utils/build-script:6:1: E266 too many leading '#' for block comment
utils/build-script:8:1: E266 too many leading '#' for block comment
utils/build-script:9:1: E266 too many leading '#' for block comment
utils/build-script:11:1: E265 block comment should start with '# '
utils/build-script:11:80: E501 line too long (80 > 79 characters)
The problem is that the code header used in most Python files in the
repository:
1. Do not place a space in between `#` and the rest of the comment.
2. Contains some lines that just barely exceed the recommend length
limit.
In addition, not all code headers in the repository follow the same
template.
This commit moves all Python code headers to the following template:
# subfolder/file_name.py - Very brief description -*- python -*--
#
# This source file is part of the Swift.org open source project
#
# Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
# Licensed under Apache License v2.0 with Runtime Library Exception
#
# See http://swift.org/LICENSE.txt for license information
# See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
# -----------------------------------------------------------------------------
#
# This file contains stuff that I am describing here in the header and will
# be sure to keep up to date.
#
# ----------------------------------------------------------------------------
Adds a try/catch block to utils/SwiftBuildSupport.py to catch
ConfigParser.InterpolationMissingOptionError exceptions caused by
missing required preset options. Stores all missing options to
print before exit(1) in get_preset_options().
This default would never actually be used, because if you did check out your
Swift sources there it would look like a normal Swift checkout and we would
infer SWIFT_SOURCE_ROOT from that.
Also, clean up some comments based on suggestions from Dave.
Swift SVN r24606
SWIFT_SOURCE_ROOT is now auto-detected from the location of the build script
files. It looks for the following layouts:
$SWIFT_SOURCE_ROOT/<LLVM_CHECKOUT>/tools/<SWIFT_CHECKOUT>/utils/build-script
$SWIFT_SOURCE_ROOT/<SWIFT_CHECKOUT>/utils/build-script
and defaults back to ~/src/s (as before) if neither of those matches.
SWIFT_BUILD_ROOT now defaults to $SWIFT_SOURCE_ROOT/build, rather than
~/build/swift.
Swift SVN r24194