Problem/Motivation
Over at #1170362: Install profile is disabled for lots of different reasons and core doesn't allow for that, the schema for core.extension:profile
is being refined.
Once that lands, we'll be able to make it validatable too, and make the entire config object validatable!
Conversation that triggered this issue to be created:
- Wim
IMHO this is missing the following validation constraints, because right now **literally any string is allowed**: ```suggestion:-0+0 label: 'Install profile' constraints: NotBlank: [] ExtensionName: [] ExtensionExists: profile ``` 1. `NotBlank: []` because the empty string is never a valid install profile 2. `ExtensionName: []` because that validates the _shape_ of allowed strings 3. `ExtensionExists: profile` because that validates that (the already valid shape) indeed exists Note that these 3 constraints are _exactly_ what we do for validating installed modules and themes in `config_dependencies_base`. The only thing that's missing for that to work is a tiny addition to `ExtensionExistsConstraintValidator::validate()` using `\Drupal\Core\Extension\ProfileExtensionList`? P.S.: _maybe_ `ExtensionExists` is impossible due to a race condition, but the other two validation constraints should be possible.
- Alex
I think we should explore this in a follow-up. This is not really in-scope here.