|
57 | 57 | nativeCheckInputs = [ pkgs.git ]; |
58 | 58 | doCheck = false; |
59 | 59 | }; |
| 60 | + in |
| 61 | + { |
| 62 | + packages = { |
| 63 | + sce = scePackage; |
| 64 | + default = scePackage; |
| 65 | + }; |
| 66 | + |
| 67 | + apps.sce = { |
| 68 | + type = "app"; |
| 69 | + program = "${scePackage}/bin/sce"; |
| 70 | + meta = { |
| 71 | + description = "Run the packaged sce CLI"; |
| 72 | + }; |
| 73 | + }; |
60 | 74 |
|
61 | | - mkCheck = |
62 | | - pname: checkPhase: |
63 | | - rustPlatform.buildRustPackage { |
64 | | - inherit pname src; |
| 75 | + checks = { |
| 76 | + cli-tests = rustPlatform.buildRustPackage { |
| 77 | + pname = "sce-cli-tests"; |
65 | 78 | version = "0.1.0"; |
| 79 | + inherit src; |
66 | 80 | sourceRoot = "source/cli"; |
67 | 81 |
|
68 | 82 | cargoLock = { |
69 | 83 | lockFile = ./Cargo.lock; |
70 | 84 | }; |
71 | 85 |
|
72 | 86 | nativeBuildInputs = [ rustToolchain ]; |
| 87 | + nativeCheckInputs = [ pkgs.git ]; |
73 | 88 |
|
74 | 89 | buildPhase = '' |
75 | 90 | runHook preBuild |
76 | 91 | runHook postBuild |
77 | 92 | ''; |
78 | 93 |
|
79 | | - inherit checkPhase; |
| 94 | + checkPhase = '' |
| 95 | + runHook preCheck |
| 96 | + cargo test |
| 97 | + runHook postCheck |
| 98 | + ''; |
80 | 99 |
|
81 | 100 | installPhase = '' |
82 | 101 | runHook preInstall |
83 | 102 | mkdir -p "$out" |
84 | 103 | runHook postInstall |
85 | 104 | ''; |
86 | 105 | }; |
87 | | - in |
88 | | - { |
89 | | - packages = { |
90 | | - sce = scePackage; |
91 | | - default = scePackage; |
92 | | - }; |
93 | 106 |
|
94 | | - apps.sce = { |
95 | | - type = "app"; |
96 | | - program = "${scePackage}/bin/sce"; |
97 | | - meta = { |
98 | | - description = "Run the packaged sce CLI"; |
99 | | - }; |
100 | | - }; |
101 | | - |
102 | | - apps.clippy = { |
103 | | - type = "app"; |
104 | | - program = toString ( |
105 | | - pkgs.writeShellScript "sce-clippy" '' |
106 | | - exec ${rustToolchain}/bin/cargo clippy --manifest-path cli/Cargo.toml --all-targets --all-features "$@" |
107 | | - '' |
108 | | - ); |
109 | | - meta = { |
110 | | - description = "Run clippy for the sce CLI crate"; |
111 | | - }; |
112 | | - }; |
| 107 | + cli-clippy = rustPlatform.buildRustPackage { |
| 108 | + pname = "sce-cli-clippy"; |
| 109 | + version = "0.1.0"; |
| 110 | + inherit src; |
| 111 | + sourceRoot = "source/cli"; |
113 | 112 |
|
114 | | - checks.cli-setup-command-surface = mkCheck "sce-cli-setup-command-surface-check" '' |
115 | | - runHook preCheck |
| 113 | + cargoLock = { |
| 114 | + lockFile = ./Cargo.lock; |
| 115 | + }; |
116 | 116 |
|
117 | | - cargo fmt --check |
118 | | - cargo test command_surface::tests::help_text_mentions_setup_target_flags |
119 | | - cargo test parser_routes_setup |
120 | | - cargo test run_setup_reports |
| 117 | + nativeBuildInputs = [ rustToolchain ]; |
121 | 118 |
|
122 | | - runHook postCheck |
123 | | - ''; |
| 119 | + buildPhase = '' |
| 120 | + runHook preBuild |
| 121 | + runHook postBuild |
| 122 | + ''; |
124 | 123 |
|
125 | | - checks.cli-clippy = mkCheck "sce-cli-clippy-check" '' |
126 | | - runHook preCheck |
| 124 | + checkPhase = '' |
| 125 | + runHook preCheck |
| 126 | + cargo clippy --all-targets --all-features |
| 127 | + runHook postCheck |
| 128 | + ''; |
127 | 129 |
|
128 | | - cargo clippy --all-targets --all-features |
| 130 | + installPhase = '' |
| 131 | + runHook preInstall |
| 132 | + mkdir -p "$out" |
| 133 | + runHook postInstall |
| 134 | + ''; |
| 135 | + }; |
129 | 136 |
|
130 | | - runHook postCheck |
131 | | - ''; |
| 137 | + cli-fmt = |
| 138 | + pkgs.runCommand "sce-cli-fmt-check" |
| 139 | + { |
| 140 | + nativeBuildInputs = [ rustToolchain ]; |
| 141 | + } |
| 142 | + '' |
| 143 | + cp -r "${src}/cli" ./cli |
| 144 | + chmod -R u+w ./cli |
| 145 | + cd ./cli |
| 146 | + cargo fmt --check |
| 147 | + mkdir -p "$out" |
| 148 | + ''; |
| 149 | + }; |
132 | 150 | } |
133 | 151 | ); |
134 | 152 | } |
0 commit comments