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 <mail@profpatsch.de>
This commit is contained in:
Profpatsch 2021-01-02 00:14:43 +01:00
parent b046c77493
commit baab2ce359

View file

@ -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