Refactor black into packages in src/ dir (#1376)
- Move black.py to src/black/__init__.py - Have setuptools_scm make src/_black_version.py and exclude from git - Move blackd.py to src/blackd/__init__.py - Move blib2to3/ to src/ - Update `setup.py` - Update unittests to pass - Mostly path fixing + resolving - Update CI - pre-commit config - appveyor + travis Tested on my mac with python 3.7.5 via: ``` python3 -m venv /tmp/tb3 /tmp/tb3/bin/pip install --upgrade setuptools pip coverage pre-commit /tmp/tb2/bin/pip install ~/repos/black/ cd ~/repos/black/ /tmp/tb2/bin/coverage run tests/test_black.py /tmp/tb3/bin/pre-commit run -a /tmp/tb3/bin/black --help /tmp/tb3/bin/black ~/repos/ptr/ptr.py ```
This commit is contained in:
parent
0721f11731
commit
2082a325fd
@ -7,12 +7,12 @@ build: off
|
||||
|
||||
test_script:
|
||||
- C:\Python36\python.exe tests/test_black.py
|
||||
- C:\Python36\python.exe -m mypy black.py blackd.py tests/test_black.py blib2to3
|
||||
- C:\Python36\python.exe -m mypy src/black src/blackd tests/test_black.py src/blib2to3
|
||||
|
||||
after_test:
|
||||
- C:\Python36\python.exe -m pip install pyinstaller
|
||||
- "%CMD_IN_ENV% C:\\Python36\\python.exe -m PyInstaller --clean -F --add-data
|
||||
blib2to3/;blib2to3 black.py"
|
||||
src/blib2to3/;blib2to3 src/black/__init__.py"
|
||||
|
||||
artifacts:
|
||||
- path: dist/black.exe
|
||||
|
@ -1,5 +1,5 @@
|
||||
[report]
|
||||
omit =
|
||||
blib2to3/*
|
||||
src/blib2to3/*
|
||||
tests/data/*
|
||||
*/site-packages/*
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -9,7 +9,7 @@ black.egg-info
|
||||
build/
|
||||
dist/
|
||||
pip-wheel-metadata/
|
||||
_black_version.py
|
||||
src/_black_version.py
|
||||
.idea
|
||||
.eggs
|
||||
.dmypy.json
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Note: don't use this config for your own repositories. Instead, see
|
||||
# "Version control integration" in README.md.
|
||||
exclude: ^(blib2to3/|profiling/|tests/data/)
|
||||
exclude: ^(src/blib2to3/|profiling/|tests/data/)
|
||||
repos:
|
||||
- repo: local
|
||||
hooks:
|
||||
|
@ -33,7 +33,7 @@ matrix:
|
||||
- python: 3.9-dev
|
||||
before_deploy:
|
||||
- pip install pyinstaller
|
||||
- pyinstaller --clean -F --add-data blib2to3/:blib2to3 black.py
|
||||
- pyinstaller --clean -F --add-data src/blib2to3/:blib2to3 src/black/__init__.py
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
|
25
setup.py
25
setup.py
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2018 Łukasz Langa
|
||||
# Copyright (C) 2020 Łukasz Langa
|
||||
from setuptools import setup
|
||||
import sys
|
||||
import os
|
||||
@ -28,14 +28,14 @@ def get_long_description() -> str:
|
||||
|
||||
if USE_MYPYC:
|
||||
mypyc_targets = [
|
||||
"black.py",
|
||||
"blib2to3/pytree.py",
|
||||
"blib2to3/pygram.py",
|
||||
"blib2to3/pgen2/parse.py",
|
||||
"blib2to3/pgen2/grammar.py",
|
||||
"blib2to3/pgen2/token.py",
|
||||
"blib2to3/pgen2/driver.py",
|
||||
"blib2to3/pgen2/pgen.py",
|
||||
"src/black/__init__.py",
|
||||
"src/blib2to3/pytree.py",
|
||||
"src/blib2to3/pygram.py",
|
||||
"src/blib2to3/pgen2/parse.py",
|
||||
"src/blib2to3/pgen2/grammar.py",
|
||||
"src/blib2to3/pgen2/token.py",
|
||||
"src/blib2to3/pgen2/driver.py",
|
||||
"src/blib2to3/pgen2/pgen.py",
|
||||
]
|
||||
|
||||
from mypyc.build import mypycify
|
||||
@ -48,7 +48,7 @@ def get_long_description() -> str:
|
||||
setup(
|
||||
name="black",
|
||||
use_scm_version={
|
||||
"write_to": "_black_version.py",
|
||||
"write_to": "src/_black_version.py",
|
||||
"write_to_template": 'version = "{version}"\n',
|
||||
},
|
||||
description="The uncompromising code formatter.",
|
||||
@ -60,9 +60,10 @@ def get_long_description() -> str:
|
||||
url="https://github.com/psf/black",
|
||||
project_urls={"Changelog": "https://github.com/psf/black/blob/master/CHANGES.md"},
|
||||
license="MIT",
|
||||
py_modules=["black", "blackd", "_black_version"],
|
||||
py_modules=["_black_version"],
|
||||
ext_modules=ext_modules,
|
||||
packages=["blib2to3", "blib2to3.pgen2"],
|
||||
packages=["blackd", "black", "blib2to3", "blib2to3.pgen2"],
|
||||
package_dir={"": "src"},
|
||||
package_data={"blib2to3": ["*.txt"]},
|
||||
python_requires=">=3.6",
|
||||
zip_safe=False,
|
||||
|
@ -35,6 +35,7 @@
|
||||
fs = partial(black.format_str, mode=black.FileMode())
|
||||
THIS_FILE = Path(__file__)
|
||||
THIS_DIR = THIS_FILE.parent
|
||||
PROJECT_ROOT = THIS_DIR.parent
|
||||
DETERMINISTIC_HEADER = "[Deterministic header]"
|
||||
EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)"
|
||||
PY36_ARGS = [
|
||||
@ -54,7 +55,7 @@ def read_data(name: str, data: bool = True) -> Tuple[str, str]:
|
||||
name += ".py"
|
||||
_input: List[str] = []
|
||||
_output: List[str] = []
|
||||
base_dir = THIS_DIR / "data" if data else THIS_DIR
|
||||
base_dir = THIS_DIR / "data" if data else PROJECT_ROOT
|
||||
with open(base_dir / name, "r", encoding="utf8") as test:
|
||||
lines = test.readlines()
|
||||
result = _input
|
||||
@ -202,43 +203,43 @@ def test_self(self) -> None:
|
||||
self.checkSourceFile("tests/test_black.py")
|
||||
|
||||
def test_black(self) -> None:
|
||||
self.checkSourceFile("black.py")
|
||||
self.checkSourceFile("src/black/__init__.py")
|
||||
|
||||
def test_pygram(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pygram.py")
|
||||
self.checkSourceFile("src/blib2to3/pygram.py")
|
||||
|
||||
def test_pytree(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pytree.py")
|
||||
self.checkSourceFile("src/blib2to3/pytree.py")
|
||||
|
||||
def test_conv(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/conv.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/conv.py")
|
||||
|
||||
def test_driver(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/driver.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/driver.py")
|
||||
|
||||
def test_grammar(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/grammar.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/grammar.py")
|
||||
|
||||
def test_literals(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/literals.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/literals.py")
|
||||
|
||||
def test_parse(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/parse.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/parse.py")
|
||||
|
||||
def test_pgen(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/pgen.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/pgen.py")
|
||||
|
||||
def test_tokenize(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/tokenize.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/tokenize.py")
|
||||
|
||||
def test_token(self) -> None:
|
||||
self.checkSourceFile("blib2to3/pgen2/token.py")
|
||||
self.checkSourceFile("src/blib2to3/pgen2/token.py")
|
||||
|
||||
def test_setup(self) -> None:
|
||||
self.checkSourceFile("setup.py")
|
||||
|
||||
def test_piping(self) -> None:
|
||||
source, expected = read_data("../black", data=False)
|
||||
source, expected = read_data("src/black/__init__", data=False)
|
||||
result = BlackRunner().invoke(
|
||||
black.main,
|
||||
["-", "--fast", f"--line-length={black.DEFAULT_LINE_LENGTH}"],
|
||||
@ -1663,7 +1664,7 @@ def test_assert_equivalent_different_asts(self) -> None:
|
||||
|
||||
def test_symlink_out_of_root_directory(self) -> None:
|
||||
path = MagicMock()
|
||||
root = THIS_DIR
|
||||
root = THIS_DIR.resolve()
|
||||
child = MagicMock()
|
||||
include = re.compile(black.DEFAULT_INCLUDES)
|
||||
exclude = re.compile(black.DEFAULT_EXCLUDES)
|
||||
|
Loading…
Reference in New Issue
Block a user