Repository: beeware/briefcase

Issue:
`briefcase dev` should enable all warnings
As discussed in beeware/toga#1521, any changes to the Toga API should preserve the old API and give it a DeprecationWarning. However, DeprecationWarning is disabled by default to avoid displaying irrelevant messages to a program's end user. 

Unit test runners are only used during development, so they usually enable all warnings, but this won't be much help for Toga because user interface code isn't often unit tested. So as it stands, there isn't much chance of these warnings ever being seen.

Therefore, I think `briefcase dev` should enable all warnings, This can be done using Python's `-W` option.

Discussion:

Patch:
diff --git a/changes/806.feature.rst b/changes/806.feature.rst
new file mode 100644
index 00000000..6395e60b
--- /dev/null
+++ b/changes/806.feature.rst
@@ -0,0 +1,1 @@
+All warnings from the App and its dependencies are now shown when running ``briefcase dev`` by invoking Python in `development mode <https://docs.python.org/3/library/devmode.html>`_.
diff --git a/src/briefcase/commands/dev.py b/src/briefcase/commands/dev.py
index 7a5aeb97..a0607f11 100644
--- a/src/briefcase/commands/dev.py
+++ b/src/briefcase/commands/dev.py
@@ -91,6 +91,8 @@ class DevCommand(BaseCommand):
                 [
                     sys.executable,
                     "-u",
+                    "-X",
+                    "dev",
                     "-c",
                     (
                         "import runpy, sys;"


Test patch:
diff --git a/tests/commands/dev/test_run_dev_app.py b/tests/commands/dev/test_run_dev_app.py
index b25c4535..7a2830c1 100644
--- a/tests/commands/dev/test_run_dev_app.py
+++ b/tests/commands/dev/test_run_dev_app.py
@@ -13,6 +13,8 @@ def test_subprocess_running_successfully(dev_command, first_app, tmp_path):
         [
             sys.executable,
             "-u",
+            "-X",
+            "dev",
             "-c",
             (
                 "import runpy, sys;"
@@ -39,6 +41,8 @@ def test_subprocess_throws_error(dev_command, first_app, tmp_path):
         [
             sys.executable,
             "-u",
+            "-X",
+            "dev",
             "-c",
             (
                 "import runpy, sys;"