Non-list `build-for` values are no longer allowed
Metadata
Current evaluation
No evaluation has been recorded for this issue yet.
Issue body
### Bug Description
The following (valid) form of a platform no longer works:
```yaml
platforms:
p:
- build-on: [amd64]
build-for: amd64
```
It also gives an incredibly unhelpful error message (see below)
### To Reproduce
Attempt to run `snapcraft pull --enable-experimental-plugins` on the test at `tests/spread/plugins/craft-parts/kernel`.
### Environment
snapcraft 8.13.0
### snapcraft.yaml
```yaml
see above
```
### Relevant log output
```shell
Traceback (most recent call last):
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/application.py", line 472, in main
return app.run()
^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_application/application.py", line 663, in run
return_code = self._run_inner()
^^^^^^^^^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/application.py", line 183, in _run_inner
return_code = super()._run_inner()
^^^^^^^^^^^^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_application/application.py", line 606, in _run_inner
dispatcher = self._get_dispatcher()
^^^^^^^^^^^^^^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/application.py", line 410, in _get_dispatcher
self._check_for_classic_fallback()
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/application.py", line 322, in _check_for_classic_fallback
raise errors.ClassicFallback()
snapcraft.errors.ClassicFallback
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/snap/snapcraft/x1/bin/snapcraft", line 7, in <module>
sys.exit(main())
^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/application.py", line 475, in main
return cli.run()
^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/cli.py", line 259, in run
_run_dispatcher(dispatcher, global_args)
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/cli.py", line 232, in _run_dispatcher
dispatcher.run()
File "/snap/snapcraft/x1/lib/python3.12/site-packages/craft_cli/dispatcher.py", line 564, in run
return self._loaded_command.run(self._parsed_command_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/commands/core22/lifecycle.py", line 268, in run
super().run(parsed_args)
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/commands/core22/lifecycle.py", line 141, in run
parts_lifecycle.run(self.name, parsed_args)
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/parts/lifecycle.py", line 105, in run
_run_command(
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/parts/lifecycle.py", line 141, in _run_command
_run_in_provider(project, command_name, parsed_args)
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/parts/lifecycle.py", line 475, in _run_in_provider
cmd.append(project.get_build_for())
^^^^^^^^^^^^^^^^^^^^^^^
File "/snap/snapcraft/x1/lib/python3.12/site-packages/snapcraft/models/project.py", line 2214, in get_build_for
raise RuntimeError("cannot determine build-for architecture")
RuntimeError: cannot determine build-for architecture
```
### Additional context
_No response_
Evaluation history
No evaluation history available.