remove hoverpanel title, move actions into applets, add qmllint baseline regen script
This commit is contained in:
parent
c24e18d5da
commit
adb6c21135
26 changed files with 192 additions and 202 deletions
62
flake.nix
62
flake.nix
|
|
@ -87,6 +87,31 @@
|
|||
--add-flags "-p ${nova-shell}/share/nova-shell/shell.qml"
|
||||
'';
|
||||
docs = pkgs.callPackage ./nix/docs.nix { inherit self; };
|
||||
|
||||
# Raw qmllint warnings for baseline regeneration (never fails)
|
||||
qmllint-warnings =
|
||||
rawPkgs.runCommand "nova-shell-qmllint-warnings"
|
||||
{
|
||||
nativeBuildInputs = [ rawPkgs.qt6.qtdeclarative ];
|
||||
src = self;
|
||||
}
|
||||
''
|
||||
cd $src
|
||||
export QML_IMPORT_PATH="${rawPkgs.qt6.qtdeclarative}/lib/qt-6/qml:${
|
||||
quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
}/lib/qt-6/qml"
|
||||
qmllint -E \
|
||||
-I shell/modules -I shell/services -I shell/applets -I shell/dock -I shell/lock \
|
||||
shell/shell.qml shell/modules/*.qml shell/services/*.qml \
|
||||
shell/applets/*.qml shell/dock/*.qml shell/lock/*.qml \
|
||||
> $TMPDIR/raw.txt 2>&1 || true
|
||||
|
||||
mkdir -p $out
|
||||
grep -E "^Warning:" $TMPDIR/raw.txt \
|
||||
| sed 's/^Warning: //' \
|
||||
| sed 's/\([^:]*\):[0-9]*:[0-9]*: /\1: /' \
|
||||
| sort -u > $out/current.txt
|
||||
'';
|
||||
default = nova-shell;
|
||||
|
||||
# nova-shell on unpatched Qt for A/B crash testing
|
||||
|
|
@ -134,47 +159,32 @@
|
|||
nova-stats = self.packages.${pkgs.stdenv.hostPlatform.system}.nova-stats;
|
||||
docs = self.packages.${pkgs.stdenv.hostPlatform.system}.docs;
|
||||
qmllint =
|
||||
let
|
||||
warnings = self.packages.${pkgs.stdenv.hostPlatform.system}.qmllint-warnings;
|
||||
in
|
||||
rawPkgs.runCommand "nova-shell-qmllint"
|
||||
{
|
||||
nativeBuildInputs = [ rawPkgs.qt6.qtdeclarative ];
|
||||
src = self;
|
||||
}
|
||||
''
|
||||
cd $src
|
||||
export QML_IMPORT_PATH="${rawPkgs.qt6.qtdeclarative}/lib/qt-6/qml:${
|
||||
quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
}/lib/qt-6/qml"
|
||||
qmllint -E \
|
||||
-I shell/modules -I shell/services -I shell/applets -I shell/dock -I shell/lock \
|
||||
shell/shell.qml shell/modules/*.qml shell/services/*.qml \
|
||||
shell/applets/*.qml shell/dock/*.qml shell/lock/*.qml \
|
||||
> $TMPDIR/raw.txt 2>&1 || true
|
||||
|
||||
# Extract unique warning messages (file:message, without line numbers)
|
||||
grep -E "^Warning:" $TMPDIR/raw.txt \
|
||||
| sed 's/^Warning: //' \
|
||||
| sed 's/\([^:]*\):[0-9]*:[0-9]*: /\1: /' \
|
||||
| sort -u > $TMPDIR/current.txt
|
||||
|
||||
# Compare against baseline
|
||||
# Compare current warnings against baseline
|
||||
touch $TMPDIR/new-warnings.txt $TMPDIR/stale-warnings.txt
|
||||
while IFS= read -r line; do
|
||||
if ! grep -qFx "$line" test/qmllint-baseline.txt 2>/dev/null; then
|
||||
if ! grep -qFx "$line" $src/test/qmllint-baseline.txt 2>/dev/null; then
|
||||
echo "$line" >> $TMPDIR/new-warnings.txt
|
||||
fi
|
||||
done < $TMPDIR/current.txt
|
||||
done < ${warnings}/current.txt
|
||||
|
||||
while IFS= read -r line; do
|
||||
if ! grep -qFx "$line" $TMPDIR/current.txt; then
|
||||
[ -z "$line" ] && continue
|
||||
if ! grep -qFx "$line" ${warnings}/current.txt; then
|
||||
echo "$line" >> $TMPDIR/stale-warnings.txt
|
||||
fi
|
||||
done < test/qmllint-baseline.txt
|
||||
done < $src/test/qmllint-baseline.txt
|
||||
|
||||
# Output dir with individual files for inspection
|
||||
mkdir -p $out
|
||||
cp $TMPDIR/raw.txt $out/raw.txt
|
||||
cp $TMPDIR/current.txt $out/current.txt
|
||||
cp test/qmllint-baseline.txt $out/baseline.txt
|
||||
cp ${warnings}/current.txt $out/current.txt
|
||||
cp $src/test/qmllint-baseline.txt $out/baseline.txt
|
||||
cp $TMPDIR/new-warnings.txt $out/new-warnings.txt
|
||||
cp $TMPDIR/stale-warnings.txt $out/stale-warnings.txt
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue