Guard explicit Breeze QQC2 fallback

Keep Breeze QQC2 as an intentional dependency until Shift ships a real QQC2 or widget style. Extend the theme identity test to reject fake Shift style selectors and require the fallback to stay documented in launch paths.
This commit is contained in:
Marco Allegretti 2026-05-18 10:18:03 +02:00
parent 1de58ed486
commit d1e55a47a7

View file

@ -91,8 +91,12 @@ require_line lookandfeel/contents/defaults '^name=shift-dark$' \
"look-and-feel defaults must select the Shift dark Plasma desktop theme" "look-and-feel defaults must select the Shift dark Plasma desktop theme"
require_line lookandfeel/contents/defaults '^theme=org\.shift\.decoration$' \ require_line lookandfeel/contents/defaults '^theme=org\.shift\.decoration$' \
"look-and-feel defaults must select org.shift.decoration" "look-and-feel defaults must select org.shift.decoration"
require_line lookandfeel/contents/defaults '^widgetStyle=Breeze$' \
"look-and-feel defaults must keep Breeze widget style until Shift ships a QQC2 style"
reject_line lookandfeel/contents/defaults 'breeze-dark|breeze-light|breeze_cursors|org\.kde\.Breeze' \ reject_line lookandfeel/contents/defaults 'breeze-dark|breeze-light|breeze_cursors|org\.kde\.Breeze' \
"look-and-feel defaults must not select Breeze desktop, cursor, or splash themes" "look-and-feel defaults must not select Breeze desktop, cursor, or splash themes"
reject_line lookandfeel/contents/defaults 'widgetStyle=Shift|widgetStyle=SHIFT|widgetStyle=org\.shift' \
"look-and-feel defaults must not reference a non-existent Shift widget style"
[[ -f lookandfeel/contents/splash/Splash.qml ]] || fail "look-and-feel must provide a Shift splash implementation" [[ -f lookandfeel/contents/splash/Splash.qml ]] || fail "look-and-feel must provide a Shift splash implementation"
reject_line lookandfeel/contents/logout/Logout.qml 'plasma_lookandfeel_org\.kde\.lookandfeel' \ reject_line lookandfeel/contents/logout/Logout.qml 'plasma_lookandfeel_org\.kde\.lookandfeel' \
@ -115,6 +119,18 @@ require_line preview.sh 'PLASMA_THEME=shift-dark' \
"preview dark mode must select the Shift dark Plasma desktop theme" "preview dark mode must select the Shift dark Plasma desktop theme"
reject_line preview.sh 'PLASMA_THEME=breeze-' \ reject_line preview.sh 'PLASMA_THEME=breeze-' \
"preview must not select Breeze Plasma desktop themes" "preview must not select Breeze Plasma desktop themes"
require_line preview.sh 'Shift does not ship a QQC2 style plugin yet' \
"preview must document the Breeze QQC2 fallback"
require_line bin/startplasmamobile.in 'Shift does not ship a QQC2 style plugin yet' \
"runtime launcher must document the Breeze QQC2 fallback"
require_line HACKING.md 'Shift does not ship a QQC2 style plugin yet' \
"HACKING.md must document the Breeze QQC2 fallback"
require_line .kde-ci.yml 'plasma/qqc2-breeze-style' \
"CI must keep the Breeze QQC2 runtime dependency until Shift ships a QQC2 style"
reject_line preview.sh 'QT_QUICK_CONTROLS_STYLE=org\.shift|QT_QUICK_CONTROLS_STYLE=SHIFT|QT_QUICK_CONTROLS_STYLE=Shift' \
"preview must not reference a non-existent Shift QQC2 style"
reject_line bin/startplasmamobile.in 'QT_QUICK_CONTROLS_STYLE=org\.shift|QT_QUICK_CONTROLS_STYLE=SHIFT|QT_QUICK_CONTROLS_STYLE=Shift' \
"runtime launcher must not reference a non-existent Shift QQC2 style"
generic_attribution_pattern='Shift contributor[s]|SHIFT Contributor[s]' generic_attribution_pattern='Shift contributor[s]|SHIFT Contributor[s]'