The current project-level behavior for assigning a project to a QP or QG is:
- choosing the Default Quality Profile, commits you to following the system default. If the Default changes, then so does your profile
- choosing the Default Quality Gate, commits you to that specific gate. If the Default changes, your quality gate does not.
But if I picked the default, was it because I want one of two behaviors:
- always use the default, whatever it is
- always use the particular QG I picked, whether or not it's the default?
This ambiguity, combined with the fact that different parts of the interface work differently makes the whole thing terribly confusing.
- We only display the Quality profiles for the languages that were analyzed in the project. If some lines of code of a new language is added to the project, after it was analysed, we automatically add this language profile to this page.
- For each profile, users can choose between "always use the default quality profile" and "always use a specific profile".
- For users who which to configure a specific profile before analyzing a project (corner case), they can add a Quality profile before the next analysis manually.