Use build instead of setup.py
[mudpy.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 1979c04..c9d79fd 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -53,26 +53,27 @@ commands = mudpy {posargs}
 description = build release artifacts and check for conformance
 allowlist_externals = rm
 deps =
-    pbr
+    build
     twine
-    wheel
 commands =
     rm -fr {toxinidir}/dist
-    python setup.py bdist_wheel sdist
+    python -m build
     twine check --strict {toxinidir}/dist/*
 usedevelop = False
 
 [testenv:docs]
+# Build an sdist into a temporary location so we'll have AUTHORS and ChangeLog
+# files to include. Keep usedevelop on so that the project dependencies will be
+# installed in the venv.
 description = generate hypertext documentation
 allowlist_externals = rm
 deps =
-    -r{toxinidir}/requirements.txt
-    -r{toxinidir}/doc/requirements.txt
+    build
+    sphinx
 commands =
-    rm -fr doc/build
-    python setup.py sdist
+    rm -fr {toxinidir}/doc/build
+    python -m build --outdir={toxinidir}/doc/build/dist --sdist
     sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
-usedevelop = False
 
 [testenv:flake8]
 description = style checks and static analysis of source code
@@ -87,6 +88,9 @@ description = run the selftest with the included sample config
 commands = mudpy_selftest etc/mudpy.yaml
 
 [testenv:yamllint]
+# Run the selftest before checking YAML files so we'll be sure to also catch at
+# least some which are generated by the application, making sure it creates
+# them with the same style we enforce for those carried in the repository.
 description = test data files for correct syntax and formatting
 deps = yamllint
 commands =