From baab2ce35901ca581e157a1640105e7f166060d1 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sat, 2 Jan 2021 00:14:43 +0100 Subject: [PATCH] fix(Profpatsch/writers): ignore the most annoying flake errors Change-Id: I3b8f51ff0dcdd842811e2fd9876cd4925c64f135 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2314 Tested-by: BuildkiteCI Reviewed-by: Profpatsch --- users/Profpatsch/writers/default.nix | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/users/Profpatsch/writers/default.nix b/users/Profpatsch/writers/default.nix index 6a7663638..9863f0fae 100644 --- a/users/Profpatsch/writers/default.nix +++ b/users/Profpatsch/writers/default.nix @@ -1,17 +1,36 @@ -{ depot, pkgs, ... }: +{ depot, pkgs, lib, ... }: let bins = depot.nix.getBins pkgs.coreutils ["printf" "mkdir" "cat"]; inherit (depot.nix.yants) defun struct restrict attrs list string drv any; - FlakeError = restrict "flake error" (s: builtins.substring 0 1 s == "E") string; + FlakeError = + restrict + "flake error" + (s: lib.any (prefix: (builtins.substring 0 1 s) == prefix) + [ "E" "W" ]) + string; Libraries = defun [ (attrs any) (list drv) ]; python3 = name: { libraries ? (_: []), flakeIgnore ? [] }: pkgs.writers.writePython3 name { libraries = Libraries libraries pkgs.python3Packages; - flakeIgnore = list FlakeError flakeIgnore; + flakeIgnore = + let ignoreTheseErrors = [ + # whitespace after { + "E201" + # whitespace before } + "E202" + # fuck 4-space indentation + "E121" "E111" + # who cares about blank lines … + # … at end of files + "W391" + # … between functions + "E302" "E305" + ]; + in list FlakeError (ignoreTheseErrors ++ flakeIgnore); }; # TODO: add the same flake check as the pyhon3 writer