From 5e29d417fc5933e26ba85a40c298d46b09580330 Mon Sep 17 00:00:00 2001
From: reivilibre <oliverw@matrix.org>
Date: Mon, 11 Oct 2021 16:34:31 +0100
Subject: [PATCH] Include the requirements for [mypy,lint] in [dev] (#11034)

---
 README.rst                             |  2 +-
 changelog.d/11034.misc                 |  1 +
 docs/development/contributing_guide.md |  2 +-
 setup.py                               | 23 ++++++++++++++---------
 4 files changed, 17 insertions(+), 11 deletions(-)
 create mode 100644 changelog.d/11034.misc

diff --git a/README.rst b/README.rst
index 63deb06eac..50de3a49b0 100644
--- a/README.rst
+++ b/README.rst
@@ -298,7 +298,7 @@ to install using pip and a virtualenv::
 
     python3 -m venv ./env
     source ./env/bin/activate
-    pip install -e ".[all,test]"
+    pip install -e ".[all,dev]"
 
 This will run a process of downloading and installing all the needed
 dependencies into a virtual env. If any dependencies fail to install,
diff --git a/changelog.d/11034.misc b/changelog.d/11034.misc
new file mode 100644
index 0000000000..b15fd66ac3
--- /dev/null
+++ b/changelog.d/11034.misc
@@ -0,0 +1 @@
+When installing the optional developer dependencies, also include the dependencies needed for type-checking and unit testing.
diff --git a/docs/development/contributing_guide.md b/docs/development/contributing_guide.md
index 580a4f7f98..3bf08a72bb 100644
--- a/docs/development/contributing_guide.md
+++ b/docs/development/contributing_guide.md
@@ -50,7 +50,7 @@ setup a *virtualenv*, as follows:
 cd path/where/you/have/cloned/the/repository
 python3 -m venv ./env
 source ./env/bin/activate
-pip install -e ".[all,lint,mypy,test]"
+pip install -e ".[all,dev]"
 pip install tox
 ```
 
diff --git a/setup.py b/setup.py
index f8b4487bc1..220084a49d 100755
--- a/setup.py
+++ b/setup.py
@@ -103,15 +103,6 @@ CONDITIONAL_REQUIREMENTS["lint"] = [
     "flake8",
 ]
 
-CONDITIONAL_REQUIREMENTS["dev"] = CONDITIONAL_REQUIREMENTS["lint"] + [
-    # The following are used by the release script
-    "click==7.1.2",
-    "redbaron==0.9.2",
-    "GitPython==3.1.14",
-    "commonmark==0.9.1",
-    "pygithub==1.55",
-]
-
 CONDITIONAL_REQUIREMENTS["mypy"] = [
     "mypy==0.910",
     "mypy-zope==0.3.2",
@@ -130,6 +121,20 @@ CONDITIONAL_REQUIREMENTS["mypy"] = [
 # parameterized_class decorator was introduced in parameterized 0.7.0
 CONDITIONAL_REQUIREMENTS["test"] = ["parameterized>=0.7.0"]
 
+CONDITIONAL_REQUIREMENTS["dev"] = (
+    CONDITIONAL_REQUIREMENTS["lint"]
+    + CONDITIONAL_REQUIREMENTS["mypy"]
+    + CONDITIONAL_REQUIREMENTS["test"]
+    + [
+        # The following are used by the release script
+        "click==7.1.2",
+        "redbaron==0.9.2",
+        "GitPython==3.1.14",
+        "commonmark==0.9.1",
+        "pygithub==1.55",
+    ]
+)
+
 setup(
     name="matrix-synapse",
     version=version,
-- 
GitLab