1{
2 lib,
3 fetchFromGitHub,
4 python3Packages,
5 writableTmpDirAsHomeHook,
6}:
7
8python3Packages.buildPythonApplication rec {
9 pname = "ansible-later";
10 version = "4.0.8";
11 pyproject = true;
12
13 src = fetchFromGitHub {
14 owner = "thegeeklab";
15 repo = "ansible-later";
16 tag = "v${version}";
17 hash = "sha256-4ZHCnLeG5gr0UtKQLU+6xnTxUbxnLcmDd51Psnaa42I=";
18 };
19
20 pythonRelaxDeps = [
21 "python-json-logger"
22 "yamllint"
23 ];
24
25 build-system = with python3Packages; [
26 poetry-core
27 poetry-dynamic-versioning
28 ];
29
30 dependencies = with python3Packages; [
31 pyyaml
32 ansible-core
33 ansible
34 anyconfig
35 appdirs
36 colorama
37 jsonschema
38 nested-lookup
39 pathspec
40 python-json-logger
41 toolz
42 unidiff
43 yamllint
44 ];
45
46 nativeCheckInputs = with python3Packages; [
47 pytest-cov-stub
48 pytest-mock
49 pytestCheckHook
50 writableTmpDirAsHomeHook
51 ];
52
53 pythonImportsCheck = [ "ansiblelater" ];
54
55 meta = {
56 description = "Best practice scanner for Ansible roles and playbooks";
57 homepage = "https://github.com/thegeeklab/ansible-later";
58 changelog = "https://github.com/thegeeklab/ansible-later/releases/tag/${src.tag}";
59 license = lib.licenses.mit;
60 maintainers = with lib.maintainers; [ tboerger ];
61 mainProgram = "ansible-later";
62 };
63}