diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-08-16 15:53:26 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-08-16 17:40:03 -0400 |
commit | 3c7ab542c0c4770241eae149b0d4cd8de329aee0 (patch) | |
tree | 5f6959dd4d0d74ddf854d6c07237a3be4705d634 /unittests | |
parent | 25b0988d4e40d22d907169b4f73ff07b4cb7fd0e (diff) | |
download | meson-3c7ab542c0c4770241eae149b0d4cd8de329aee0.zip meson-3c7ab542c0c4770241eae149b0d4cd8de329aee0.tar.gz meson-3c7ab542c0c4770241eae149b0d4cd8de329aee0.tar.bz2 |
deprecate running "meson builddir" without setup subcommand
This is ambiguous, if the build directory has the same name as a
subcommand then we end up running the subcommand. It also means we have
a hard time adding *new* subcommands, because if it is a popular name of
a build directory then suddenly scripts that try to set up a build
directory end up running a subcommand instead.
The fact that we support this at all is a legacy design. Back in the
day, the "meson" program was for setting up a build directory and all
other tools were their own entry points, e.g. `mesontest` or
`mesonconf`. Then in commit fa278f351fe3d6924b4d1961f77b5b4a36e133f8 we
migrated to the subcommand mechanism. So, for backwards compatibility,
we made those tools print a warning and then invoke `meson <tool>`. We
also made the `meson` tool default to setup.
However, we only warned for the other tools whose entry points were
eventually deleted. We never warned for setup itself, we just continued
to silently default to setup if no tool was provided.
`meson setup` has worked since 0.42, which is 5 years old this week.
It's available essentially everywhere. No one needs to use the old
backwards-compatible invocation method, but it continues to drag down
our ability to innovate. Let's finally do what we should have done a
long time ago, and sunset it.
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/baseplatformtests.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/unittests/baseplatformtests.py b/unittests/baseplatformtests.py index 4582188..e97c880 100644 --- a/unittests/baseplatformtests.py +++ b/unittests/baseplatformtests.py @@ -59,7 +59,7 @@ class BasePlatformTests(TestCase): self.meson_native_files = [] self.meson_cross_files = [] self.meson_command = python_command + [get_meson_script()] - self.setup_command = self.meson_command + self.meson_args + self.setup_command = self.meson_command + ['setup'] + self.meson_args self.mconf_command = self.meson_command + ['configure'] self.mintro_command = self.meson_command + ['introspect'] self.wrap_command = self.meson_command + ['wrap'] @@ -205,7 +205,7 @@ class BasePlatformTests(TestCase): self.privatedir = os.path.join(self.builddir, 'meson-private') if inprocess: try: - returncode, out, err = run_configure_inprocess(self.meson_args + args + extra_args, override_envvars) + returncode, out, err = run_configure_inprocess(['setup'] + self.meson_args + args + extra_args, override_envvars) except Exception as e: if not allow_fail: self._print_meson_log() |