fix(packaging): include backend modules in distributions
package / wheel (pull_request) Waiting to run
package / wheel (pull_request) Waiting to run
This commit is contained in:
@@ -15,7 +15,7 @@ from pathlib import Path
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SHIPPED_PACKAGES = ("synapse", "nexusos_cli")
|
||||
SHIPPED_PACKAGES = ("synapse", "nexusos_cli", "modules")
|
||||
|
||||
# Import name -> distribution name, where PyPI disagrees with the module.
|
||||
DISTRIBUTION_OF = {
|
||||
@@ -32,7 +32,7 @@ DISTRIBUTION_OF = {
|
||||
TRANSITIVE = {"starlette", "socketio", "engineio"}
|
||||
|
||||
# Modules that ship inside this repo.
|
||||
FIRST_PARTY = {"synapse", "nexusos_cli", "management", "bin", "tests"}
|
||||
FIRST_PARTY = {"synapse", "nexusos_cli", "modules", "management", "bin", "tests"}
|
||||
|
||||
|
||||
def _pyproject() -> dict:
|
||||
@@ -55,6 +55,12 @@ def _declared() -> set[str]:
|
||||
return {_requirement_name(s) for s in specs}
|
||||
|
||||
|
||||
def test_wheel_includes_every_shipped_package():
|
||||
wheel = _pyproject()["tool"]["hatch"]["build"]["targets"]["wheel"]
|
||||
configured = set(wheel["packages"])
|
||||
assert configured == set(SHIPPED_PACKAGES)
|
||||
|
||||
|
||||
def _imported_modules() -> set[str]:
|
||||
"""Top-level module names imported anywhere in the shipped packages."""
|
||||
found: set[str] = set()
|
||||
@@ -88,7 +94,7 @@ def test_every_third_party_import_is_a_declared_dependency():
|
||||
if DISTRIBUTION_OF.get(module, module).lower().replace("_", "-") not in declared
|
||||
)
|
||||
assert not missing, (
|
||||
"synapse/nexusos_cli import these, but pyproject.toml declares no "
|
||||
"a shipped package imports these, but pyproject.toml declares no "
|
||||
f"distribution for them: {missing}. Add them to [project] dependencies "
|
||||
"or an extra (and to DISTRIBUTION_OF here if the names differ)."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user