summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2021-06-28 08:03:20 -0500
committerGitHub <noreply@github.com>2021-06-28 08:03:20 -0500
commit2284007db95af06b694c35492d20a918508bdb2f (patch)
treef44b63f2197141c03dbff3a2c26e13d0840ea8c3
parent744cedc7e999f96aa0646bb43c039882991228ae (diff)
downloadspack-2284007db95af06b694c35492d20a918508bdb2f.tar.gz
spack-2284007db95af06b694c35492d20a918508bdb2f.tar.bz2
spack-2284007db95af06b694c35492d20a918508bdb2f.tar.xz
spack-2284007db95af06b694c35492d20a918508bdb2f.zip
Use flake8-import-order to enforce PEP-8 compliance (#23947)
-rw-r--r--.flake84
-rw-r--r--.github/workflows/unit_tests.yaml4
-rw-r--r--lib/spack/spack/package.py18
3 files changed, 15 insertions, 11 deletions
diff --git a/.flake8 b/.flake8
index a4c8aa2fbc..d916433cfe 100644
--- a/.flake8
+++ b/.flake8
@@ -66,6 +66,10 @@ exclude =
format = spack
+# flake8-import-order settings
+application-import-names = llnl,spack
+import-order-style = pycharm
+
[flake8:local-plugins]
report =
spack = flake8_formatter:SpackFormatter
diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml
index 726c56e617..213a4c2c5f 100644
--- a/.github/workflows/unit_tests.yaml
+++ b/.github/workflows/unit_tests.yaml
@@ -39,7 +39,7 @@ jobs:
python-version: 3.9
- name: Install Python packages
run: |
- pip install --upgrade pip six setuptools flake8 mypy>=0.800 black types-six types-python-dateutil
+ pip install --upgrade pip six setuptools flake8 flake8-import-order mypy>=0.800 black types-six types-python-dateutil
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
@@ -370,7 +370,7 @@ jobs:
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
- pip install --upgrade flake8 pep8-naming mypy
+ pip install --upgrade flake8 flake8-import-order pep8-naming mypy
pip install --upgrade python-dateutil
- name: Setup Homebrew packages
run: |
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index 7db7f76589..bf37018c4d 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -8,8 +8,8 @@
The spack package class structure is based strongly on Homebrew
(http://brew.sh/), mainly because Homebrew makes it very easy to create
packages.
-
"""
+
import base64
import collections
import contextlib
@@ -25,13 +25,14 @@ import sys
import textwrap
import time
import traceback
-import six
import types
-from typing import Optional, List, Dict, Any, Callable # novm
+from typing import Any, Callable, Dict, List, Optional # novm
+
+import six
+from ordereddict_backport import OrderedDict
import llnl.util.filesystem as fsys
import llnl.util.tty as tty
-
import spack.compilers
import spack.config
import spack.dependency
@@ -51,14 +52,13 @@ import spack.util.environment
import spack.util.web
from llnl.util.lang import memoized
from llnl.util.link_tree import LinkTree
-from ordereddict_backport import OrderedDict
from spack.filesystem_view import YamlFilesystemView
-from spack.installer import PackageInstaller, InstallError
from spack.install_test import TestFailure, TestSuite
-from spack.util.executable import which, ProcessError
-from spack.util.prefix import Prefix
-from spack.stage import stage_prefix, Stage, ResourceStage, StageComposite
+from spack.installer import InstallError, PackageInstaller
+from spack.stage import ResourceStage, Stage, StageComposite, stage_prefix
+from spack.util.executable import ProcessError, which
from spack.util.package_hash import package_hash
+from spack.util.prefix import Prefix
from spack.version import Version
"""Allowed URL schemes for spack packages."""