windows: Use a clippy script instead of `xtask` (#25807)

张小白 created

Closes #ISSUE

Match the behaviour of our macOS and Linux tests

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Change summary

.github/workflows/ci.yml |  3 +--
script/clippy.ps1        | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)

Detailed changes

.github/workflows/ci.yml 🔗

@@ -273,8 +273,7 @@ jobs:
 
       - name: cargo clippy
         working-directory: ${{ env.ZED_WORKSPACE }}
-        # Windows can't run shell scripts, so we need to use `cargo xtask`.
-        run: cargo xtask clippy
+        run: ./script/clippy.ps1
 
       - name: Run tests
         uses: ./.github/actions/run_tests_windows

script/clippy.ps1 🔗

@@ -0,0 +1,21 @@
+$ErrorActionPreference = "Stop"
+
+$needAddWorkspace = $false
+if ($args -notcontains "-p" -and $args -notcontains "--package") {
+    $needAddWorkspace = $true
+}
+
+# https://stackoverflow.com/questions/41324882/how-to-run-a-powershell-script-with-verbose-output/70020655#70020655
+Set-PSDebug -Trace 2
+
+$Cargo = $env:CARGO
+if (-not $Cargo) {
+    $Cargo = "cargo"
+}
+
+if ($needAddWorkspace) {
+    & $Cargo clippy @args --workspace --release --all-targets --all-features -- --deny warnings
+}
+else {
+    & $Cargo clippy @args --release --all-targets --all-features -- --deny warnings
+}